on xenial help sign in
added edge hinting to greeter
652fa30Michael Zanetti
Greeter/Greeter.qml+35
@@ -31,10 +31,17 @@ Showable {
31 readonly property bool multiUser: LightDM.Users.count > 1
31 readonly property bool multiUser: LightDM.Users.count > 1
32
32
33 readonly property bool leftTeaserPressed: greeterContentLoader.status == Loader.Ready && greeterContentLoader.item.leftTeaserPressed
33 readonly property bool leftTeaserPressed: greeterContentLoader.status == Loader.Ready && greeterContentLoader.item.leftTeaserPressed
34+ readonly property bool rightTeaserPressed: greeterContentLoader.status == Loader.Ready && greeterContentLoader.item.rightTeaserPressed
34
35
35 signal selected(int uid)
36 signal selected(int uid)
36 signal unlocked(int uid)
37 signal unlocked(int uid)
37
38
39+ onRightTeaserPressedChanged: {
40+ if (rightTeaserPressed) {
41+ teasingTimer.start();
42+ }
43+ }
44+
38 Loader {
45 Loader {
39 id: greeterContentLoader
46 id: greeterContentLoader
40 objectName: "greeterContentLoader"
47 objectName: "greeterContentLoader"
@@ -54,4 +61,32 @@ Showable {
54 onUnlocked: greeter.unlocked(uid);
61 onUnlocked: greeter.unlocked(uid);
55 }
62 }
56 }
63 }
64+
65+ Timer {
66+ id: teasingTimer
67+ interval: 200
68+ }
69+
70+ states: [
71+ State {
72+ name: "teasing"
73+ when: greeter.rightTeaserPressed || teasingTimer.running
74+ PropertyChanges {
75+ target: greeter
76+ x: -units.gu(2)
77+ }
78+ }
79+ ]
80+ transitions: [
81+ Transition {
82+ from: "*"
83+ to: "*"
84+ NumberAnimation {
85+ target: greeter
86+ property: "x"
87+ duration: 300
88+ easing.type: Easing.OutCubic
89+ }
90+ }
91+ ]
57}
92}
Greeter/GreeterContent.qml+3−3
@@ -25,7 +25,8 @@ MouseArea {
25
25
26 property bool promptless: loginLoader.status == Loader.Ready && LightDM.Greeter.promptless
26 property bool promptless: loginLoader.status == Loader.Ready && LightDM.Greeter.promptless
27 property bool ready: wallpaper.status == Image.Ready
27 property bool ready: wallpaper.status == Image.Ready
28− property alias leftTeaserPressed: leftTeaser.pressed
28+ property bool leftTeaserPressed: teasingMouseArea.pressed && teasingMouseArea.mouseX < teasingMouseArea.width / 2
29+ property bool rightTeaserPressed: teasingMouseArea.pressed && teasingMouseArea.mouseX > teasingMouseArea.width / 2
29
30
30 signal selected(int uid)
31 signal selected(int uid)
31 signal unlocked(int uid)
32 signal unlocked(int uid)
@@ -57,9 +58,8 @@ MouseArea {
57 }
58 }
58
59
59 MouseArea {
60 MouseArea {
60− id: leftTeaser
61+ id: teasingMouseArea
61 anchors.fill: parent
62 anchors.fill: parent
62− anchors.rightMargin: parent.width / 2
63 }
63 }
64
64
65 Loader {
65 Loader {