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 - [email protected]
+
+- 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 - [email protected]
+
+- 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 - [email protected]
+
+- 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 [email protected] -- 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 
[email protected] -- 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


Reply via email to