@@ -60,6 +60,58 @@ Showable {
60 onRunningChanged: if (!__rightHideAnimation.running) greeter.hideAnimation = __leftHideAnimation
60 onRunningChanged: if (!__rightHideAnimation.running) greeter.hideAnimation = __leftHideAnimation
63+ // Bi-directional revealer
67+ enabled: greeter.narrowMode || !greeter.locked
68+ orientation: Qt.Horizontal
69+ propagateComposedEvents: true
71+ Component.onCompleted: {
72+ // set evaluators to baseline of dragValue == 0
73+ leftEvaluator.reset()
74+ rightEvaluator.reset()
77+ function maybeTease() {
78+ if (!greeter.locked || greeter.narrowMode)
82+ onClicked: maybeTease()
83+ onDragStart: maybeTease()
84+ onPressAndHold: {} // eat event, but no need to tease, as drag will cover it
87+ if (rightEvaluator.shouldAutoComplete())
89+ else if (leftEvaluator.shouldAutoComplete())
92+ greeter.show(); // undo drag
95+ onDragValueChanged: {
96+ // dragValue is kept as a "step" value since we do this x adjusting on the fly
97+ greeter.x += dragValue
102+ trackedPosition: dragHandle.dragValue + greeter.x
103+ maxDragDistance: parent.width
104+ direction: Direction.Rightwards
109+ trackedPosition: dragHandle.dragValue + greeter.x
110+ maxDragDistance: parent.width
111+ direction: Direction.Leftwards
64 id: greeterContentLoader
116 id: greeterContentLoader
65 objectName: "greeterContentLoader"
117 objectName: "greeterContentLoader"
@@ -117,59 +169,6 @@ Showable {
117 duration: UbuntuAnimation.SleepyDuration
169 duration: UbuntuAnimation.SleepyDuration
123− // Bi-directional revealer
126− anchors.fill: greeterContentLoader
127− enabled: greeter.narrowMode || !greeter.locked
128− orientation: Qt.Horizontal
129− propagateComposedEvents: true
131− Component.onCompleted: {
132− // set evaluators to baseline of dragValue == 0
133− leftEvaluator.reset()
134− rightEvaluator.reset()
137− function maybeTease() {
138− if (!greeter.locked || greeter.narrowMode)
142− onClicked: maybeTease()
143− onDragStart: maybeTease()
144− onPressAndHold: {} // eat event, but no need to tease, as drag will cover it
147− if (rightEvaluator.shouldAutoComplete())
149− else if (leftEvaluator.shouldAutoComplete())
152− greeter.show(); // undo drag
155− onDragValueChanged: {
156− // dragValue is kept as a "step" value since we do this x adjusting on the fly
157− greeter.x += dragValue
162− trackedPosition: dragHandle.dragValue + greeter.x
163− maxDragDistance: parent.width
164− direction: Direction.Rightwards
169− trackedPosition: dragHandle.dragValue + greeter.x
170− maxDragDistance: parent.width
171− direction: Direction.Leftwards
175 // right side shadow
174 // right side shadow