Hello community, here is the log from the commit of package plasma5-workspace for openSUSE:Factory checked in at 2015-11-24 22:28:40 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/plasma5-workspace (Old) and /work/SRC/openSUSE:Factory/.plasma5-workspace.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "plasma5-workspace" Changes: -------- --- /work/SRC/openSUSE:Factory/plasma5-workspace/plasma5-workspace.changes 2015-10-28 17:16:28.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.plasma5-workspace.new/plasma5-workspace.changes 2015-11-24 22:28:44.000000000 +0100 @@ -1,0 +2,24 @@ +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 + +------------------------------------------------------------------- Old: ---- plasma-workspace-5.4.2.tar.xz New: ---- fix-breeze-sddm-theme-with-many-users.patch plasma-workspace-5.4.3.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ plasma5-workspace.spec ++++++ --- /var/tmp/diff_new_pack.gjxnOB/_old 2015-11-24 22:28:46.000000000 +0100 +++ /var/tmp/diff_new_pack.gjxnOB/_new 2015-11-24 22:28:46.000000000 +0100 @@ -18,7 +18,7 @@ %bcond_without lang Name: plasma5-workspace -Version: 5.4.2 +Version: 5.4.3 Release: 0 Summary: The KDE Plasma Workspace Components License: GPL-2.0+ @@ -34,6 +34,8 @@ # 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 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 201-300 and above are from upstream master/5.4 branch @@ -205,6 +207,7 @@ %patch2 -p1 %endif %patch3 -p1 +%patch4 -p1 %build %cmake_kf5 -d build -- -DKDE4_COMMON_PAM_SERVICE=xdm -DKDE_DEFAULT_HOME=.kde4 -DCMAKE_INSTALL_LOCALEDIR=share/locale/kf5 ++++++ fix-breeze-sddm-theme-with-many-users.patch ++++++ 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 { ++++++ plasma-workspace-5.4.2.tar.xz -> plasma-workspace-5.4.3.tar.xz ++++++ /work/SRC/openSUSE:Factory/plasma5-workspace/plasma-workspace-5.4.2.tar.xz /work/SRC/openSUSE:Factory/.plasma5-workspace.new/plasma-workspace-5.4.3.tar.xz differ: char 26, line 1