on xenial help sign in
add a point of no return
commitd8f6d1a2d77d3e985aa9de0a690e6e899984ffdf authorMichael Zanetti <michael.zanetti@canonical.com> dateThu 16 Jan 2014, 15:28 (13 years ago) parent9f1b061
1 file changed+17−7
qml/Stages/PhoneStage.qml+17−7
qml/Stages/PhoneStage.qml+17−7
@@ -224,14 +224,22 @@ Item {
224224 flickableDirection: Qt.Horizontal
225225 enabled: coverFlip.visible
226226
227+ property bool passedFirstStage: false
228+
227229 onContentXChanged: {
230+ if (coverFlickable.passedFirstStage && contentX < width * coverFlip.progressMarker1) {
231+ contentX = width * coverFlip.progressMarker1;
232+ return;
233+ }
234+
228235 var progress = contentX / width
229236 if (progress > coverFlip.progressMarker1) {
237+ coverFlickable.passedFirstStage = true;
230238 progress += progress - coverFlip.progressMarker1
231239 }
232−
233240 coverFlip.progress = progress;
234241 }
242+
235243 Row {
236244 id: coverFlip
237245 height: parent.height
@@ -262,9 +270,9 @@ Item {
262270 property real oldProgress: 0
263271 onProgressChanged: {
264272 if (coverFlipDragArea.dragging) {
265− if (oldProgress <= coverFlip.progressMarker1 && progress > coverFlip.progressMarker1) {
273+ if (oldProgress < coverFlip.progressMarker1 && progress >= coverFlip.progressMarker1) {
266274 ApplicationManager.move(0, 1)
267− } else if (oldProgress >= coverFlip.progressMarker1 && progress <= coverFlip.progressMarker1) {
275+ } else if (oldProgress >= coverFlip.progressMarker1 && progress < coverFlip.progressMarker1) {
268276 ApplicationManager.move(0, 1)
269277 }
270278 }
@@ -308,12 +316,13 @@ Item {
308316 }
309317 ScriptAction {
310318 script: {
311− if (snapAnimation.targetContentX == root.width * coverFlip.progressMarker1) {
312− coverFlickable.contentX = 0;
313− }
314319 if (snapAnimation.targetAppId) {
320+ coverFlickable.passedFirstStage = false;
315321 ApplicationManager.focusApplication(snapAnimation.targetAppId);
316322 }
323+ if (snapAnimation.targetContentX == root.width * coverFlip.progressMarker1) {
324+ coverFlickable.contentX = 0;
325+ }
317326 }
318327 }
319328 }
@@ -404,7 +413,7 @@ Item {
404413 var newAngle = 0;
405414 switch (index) {
406415 case 0:
407− if (appImage.progress <= coverFlip.progressMarker1) {
416+ if (appImage.progress < coverFlip.progressMarker1) {
408417 var progress = appImage.progress;
409418 var angleDiff = coverFlip.endAngle;
410419 var progressDiff = coverFlip.progressMarker1;
@@ -539,6 +548,7 @@ Item {
539548 ApplicationManager.focusApplication(ApplicationManager.get(index).appId);
540549 appImage.isSelected = false;
541550 coverFlip.progress = 0;
551+ coverFlickable.passedFirstStage = false;
542552 }
543553 }
544554 }