Accepting request 345448 from KDE:Frameworks5

1

OBS-URL: https://build.opensuse.org/request/show/345448
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/plasma5-workspace?expand=0&rev=28
This commit is contained in:
Stephan Kulow 2015-11-24 21:28:40 +00:00 committed by Git OBS Bridge
commit 5e93b5159b
5 changed files with 210 additions and 4 deletions

View File

@ -0,0 +1,179 @@
Index: plasma-workspace-5.4.3/lookandfeel/contents/components/UserSelect.qml
===================================================================
--- plasma-workspace-5.4.3.orig/lookandfeel/contents/components/UserSelect.qml 2015-11-11 16:10:23.021419038 +0100
+++ plasma-workspace-5.4.3/lookandfeel/contents/components/UserSelect.qml 2015-11-11 15:25:12.570242837 +0100
@@ -27,9 +27,13 @@
id: root
property alias model: usersList.model
property alias selectedUser: usersList.selectedUser
+ property var username: usersList.visible ? usersList.selectedUser : userPasswordPrompt.username
+ property alias password: userPasswordPrompt.password
property alias selectedIndex: usersList.currentIndex
property alias delegate: usersList.delegate
property alias notification: notificationLabel.text
+ property bool showUserList: (usersList.model.count && usersList.model.disableAvatarsThreshold) ? usersList.model.count <= usersList.model.disableAvatarsThreshold : true
+ property alias pwFieldEnabled: userPasswordPrompt.pwFieldEnabled
activeFocusOnTab: true
@@ -41,6 +45,10 @@
usersList.decrementCurrentIndex()
}
+ function reenablePasswordInput() {
+ userPasswordPrompt.reenablePasswordInput();
+ }
+
InfoPane {
id: infoPane
anchors {
@@ -54,6 +62,7 @@
id: usersList
focus: true
+ visible: root.showUserList
Rectangle {//debug
visible: debug
@@ -84,6 +93,21 @@
}
}
+ UserPasswordPrompt {
+ id: userPasswordPrompt
+
+ focus: true
+ visible: !root.showUserList
+
+ anchors {
+ left: parent.horizontalCenter
+ top: parent.top
+ right: parent.right
+
+ topMargin: parent.height*0.2
+ }
+ }
+
BreezeLabel {
id: notificationLabel
anchors {
Index: plasma-workspace-5.4.3/lookandfeel/contents/components/UserPasswordPrompt.qml
===================================================================
--- plasma-workspace-5.4.3.orig/lookandfeel/contents/components/UserPasswordPrompt.qml 2015-11-11 16:14:28.277434982 +0100
+++ plasma-workspace-5.4.3/lookandfeel/contents/components/UserPasswordPrompt.qml 2015-11-11 15:25:12.528242834 +0100
@@ -0,0 +1,54 @@
+import QtQuick 2.2
+import SddmComponents 2.0
+import QtQuick.Layouts 1.1
+import org.kde.plasma.components 2.0 as PlasmaComponents
+
+Rectangle {
+ readonly property string username: usernameInput.text
+ readonly property string password: passwordInput.text
+ property alias pwFieldEnabled: passwordInput.enabled
+ color: "transparent"
+
+ function reenablePasswordInput() {
+ passwordInput.enabled = true
+ passwordInput.selectAll()
+ passwordInput.forceActiveFocus()
+ }
+
+ ColumnLayout {
+ anchors.fill: parent
+ PlasmaComponents.TextField {
+ id: usernameInput
+ placeholderText: i18nd("plasma_lookandfeel_org.kde.lookandfeel","Username")
+ onAccepted: nextItemInFocusChain().forceActiveFocus();
+ focus: true
+ text: userModel.lastUser
+ }
+
+ PlasmaComponents.TextField {
+ id: passwordInput
+ placeholderText: i18nd("plasma_lookandfeel_org.kde.lookandfeel","Password")
+ echoMode: TextInput.Password
+ onAccepted: loginPrompt.startLogin()
+ focus: true
+
+ //focus works in qmlscene
+ //but this seems to be needed when loaded from SDDM
+ //I don't understand why, but we have seen this before in the old lock screen
+ Timer {
+ interval: 200
+ running: parent.visible
+ onTriggered: passwordInput.forceActiveFocus()
+ }
+ //end hack
+
+ Keys.onEscapePressed: {
+ //nextItemInFocusChain(false) is previous Item
+ nextItemInFocusChain(false).forceActiveFocus();
+ }
+
+ }
+
+ } // ColumnLayout
+
+}
Index: plasma-workspace-5.4.3/lookandfeel/contents/loginmanager/Main.qml
===================================================================
--- plasma-workspace-5.4.3.orig/lookandfeel/contents/loginmanager/Main.qml 2015-11-05 13:49:30.000000000 +0100
+++ plasma-workspace-5.4.3/lookandfeel/contents/loginmanager/Main.qml 2015-11-11 15:25:12.832242854 +0100
@@ -71,6 +71,9 @@
initialItem: BreezeBlock {
id: loginPrompt
+ property var showUserList: mainItem.showUserList
+ property var username: mainItem.username
+ property var password: mainItem.showUserList ? controlsItem.password : mainItem.password
//Enable clipping whilst animating, otherwise the items would be shifted to other screens in multiscreen setups
//As there are only 2 items (loginPrompt and logoutScreenComponent), it's sufficient to do it only in this component
@@ -126,13 +129,14 @@
echoMode: TextInput.Password
onAccepted: loginPrompt.startLogin()
focus: true
+ visible: loginPrompt.mainItem.showUserList
//focus works in qmlscene
//but this seems to be needed when loaded from SDDM
//I don't understand why, but we have seen this before in the old lock screen
Timer {
interval: 200
- running: true
+ running: passwordInput.visible
onTriggered: passwordInput.forceActiveFocus()
}
//end hack
@@ -218,9 +222,13 @@
target: sddm
onLoginFailed: {
//Re-enable button and textfield
- passwordInput.enabled = true
- passwordInput.selectAll()
- passwordInput.forceActiveFocus()
+ if (loginPrompt.showUserList) {
+ passwordInput.enabled = true
+ passwordInput.selectAll()
+ passwordInput.forceActiveFocus()
+ } else {
+ loginPrompt.mainItem.reenablePasswordInput(true);
+ }
loginButton.enabled = true;
}
}
@@ -229,11 +237,12 @@
function startLogin () {
//Disable button and textfield while password check is running
+ loginPrompt.mainItem.pwFieldEnabled = false
controlsItem.pwFieldEnabled = false;
controlsItem.buttonEnabled = false;
//Clear notification in case the notificationResetTimer hasn't expired yet
mainItem.notification = ""
- sddm.login(mainItem.selectedUser, controlsItem.password, controlsItem.sessionIndex)
+ sddm.login(loginPrompt.username, loginPrompt.password, controlsItem.sessionIndex)
}
Component {

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:36c7b04b30533b9b14440b1286f1130222f2212bfa8f2f033a4ff928a923d22f
size 6959316

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bfe459234e1bcd8ed5c3a64524061330e92e38ec693099d5007048a483c71d0c
size 8648136

View File

@ -1,3 +1,27 @@
-------------------------------------------------------------------
Fri Nov 20 15:03:49 UTC 2015 - alarrosa@suse.com
- Renamed userlist model property from UsersThresholdToDisableAvatars
to disableAvatarsThreshold as in the patch finally accepted
by sddm developers.
-------------------------------------------------------------------
Wed Nov 11 17:03:49 UTC 2015 - alarrosa@suse.com
- Adds patch fix-breeze-sddm-theme-with-many-users.patch: Makes the
breeze theme in sddm show username/password editlines instead of
a user list when there's more than N users in the system where
N is defined in sddm.conf, under the Theme section, in the
UsersThresholdToDisableAvatars variable.
This patch together with patches in sddm fix bnc#953778
-------------------------------------------------------------------
Sun Nov 8 19:04:18 UTC 2015 - hrvoje.senjan@gmail.com
- Update to 5.4.3 (boo#955068):
* For more details please see:
https://www.kde.org/announcements/plasma-5.4.3.php
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Oct 23 19:12:41 UTC 2015 - hrvoje.senjan@gmail.com Fri Oct 23 19:12:41 UTC 2015 - hrvoje.senjan@gmail.com

View File

@ -18,7 +18,7 @@
%bcond_without lang %bcond_without lang
Name: plasma5-workspace Name: plasma5-workspace
Version: 5.4.2 Version: 5.4.3
Release: 0 Release: 0
Summary: The KDE Plasma Workspace Components Summary: The KDE Plasma Workspace Components
License: GPL-2.0+ License: GPL-2.0+
@ -34,6 +34,8 @@ Patch1: create_kdehome.patch
# PATCH-FIX_OPENSUSE fix-wayland-requirement.patch alarrosa@suse.com -- Change wayland requirement from 1.3.0 to 1.2.1 # PATCH-FIX_OPENSUSE fix-wayland-requirement.patch alarrosa@suse.com -- Change wayland requirement from 1.3.0 to 1.2.1
Patch2: fix-wayland-requirement.patch Patch2: fix-wayland-requirement.patch
Patch3: rb125743.patch Patch3: rb125743.patch
# PATCH-FIX_OPENSUSE fix-breeze-sddm-theme-with-many-users.patch alarrosa@suse.com -- Asks for user/password and hide the user list when there's a large number of users
Patch4: fix-breeze-sddm-theme-with-many-users.patch
# PATCHES 100-200 and above are from upstream 5.3 branch # PATCHES 100-200 and above are from upstream 5.3 branch
# PATCHES 201-300 and above are from upstream master/5.4 branch # PATCHES 201-300 and above are from upstream master/5.4 branch
@ -205,6 +207,7 @@ workspace. Development files.
%patch2 -p1 %patch2 -p1
%endif %endif
%patch3 -p1 %patch3 -p1
%patch4 -p1
%build %build
%cmake_kf5 -d build -- -DKDE4_COMMON_PAM_SERVICE=xdm -DKDE_DEFAULT_HOME=.kde4 -DCMAKE_INSTALL_LOCALEDIR=share/locale/kf5 %cmake_kf5 -d build -- -DKDE4_COMMON_PAM_SERVICE=xdm -DKDE_DEFAULT_HOME=.kde4 -DCMAKE_INSTALL_LOCALEDIR=share/locale/kf5