on xenial help sign in
rename progressmarker1 as its in fact marker no 2
commite0fb2d6be70f6d61fc559c847e15100ee425c3d5 authorMichael Zanetti <michael.zanetti@canonical.com> dateThu 23 Jan 2014, 11:12 (13 years ago) parent97b7865
1 file changed+48−35
qml/Stages/PhoneStage.qml+48−35
qml/Stages/PhoneStage.qml+48−35
@@ -234,12 +234,12 @@ Item {
234234 property bool passedFirstStage: false
235235
236236 onContentXChanged: {
237− if (coverFlickable.passedFirstStage && contentX < width * coverFlip.progressMarker1) {
238− contentX = width * coverFlip.progressMarker1;
237+ if (coverFlickable.passedFirstStage && contentX < width * coverFlip.progressMarker2) {
238+ contentX = width * coverFlip.progressMarker2;
239239 return;
240240 }
241241 var progress = contentX / width
242− if (progress > coverFlip.progressMarker1) {
242+ if (progress > coverFlip.progressMarker2) {
243243 coverFlickable.passedFirstStage = true;
244244 }
245245 coverFlip.progress = progress;
@@ -262,9 +262,10 @@ Item {
262262 property real maxScale: 1.4
263263 property real minScale: .6
264264
265− // Markers: relative screen position from left to right
265+ // Markers: relative screen position from right to left
266266 // marks the line where first application is finished moving in from the right
267− property real progressMarker1: 0.5
267+ property real progressMarker1: 0.15
268+ property real progressMarker2: 0.5
268269
269270 property real tileDistance: 0.1
270271
@@ -275,9 +276,9 @@ Item {
275276 property real oldProgress: 0
276277 onProgressChanged: {
277278 if (coverFlipDragArea.dragging) {
278− if (oldProgress < coverFlip.progressMarker1 && progress >= coverFlip.progressMarker1) {
279+ if (oldProgress < coverFlip.progressMarker2 && progress >= coverFlip.progressMarker2) {
279280 ApplicationManager.move(0, 1)
280− } else if (oldProgress >= coverFlip.progressMarker1 && progress < coverFlip.progressMarker1) {
281+ } else if (oldProgress >= coverFlip.progressMarker2 && progress < coverFlip.progressMarker2) {
281282 ApplicationManager.move(0, 1)
282283 }
283284 }
@@ -285,14 +286,14 @@ Item {
285286 }
286287
287288 function snap() {
288− if (coverFlip.progress < 0.25) {
289+ if (coverFlip.progress < coverFlip.progressMarker1) {
289290 snapAnimation.targetContentX = 0
290291 snapAnimation.targetAppId = ApplicationManager.get(0).appId;
291− } else if (coverFlip.progress < coverFlip.progressMarker1) {
292− snapAnimation.targetContentX = root.width * coverFlip.progressMarker1
292+ } else if (coverFlip.progress < coverFlip.progressMarker2) {
293+ snapAnimation.targetContentX = root.width * coverFlip.progressMarker2
293294 snapAnimation.targetAppId = ApplicationManager.get(1).appId;
294295 } else if (coverFlip.progress < 0.6) {
295− snapAnimation.targetContentX = root.width * coverFlip.progressMarker1
296+ snapAnimation.targetContentX = root.width * coverFlip.progressMarker2
296297 snapAnimation.targetAppId = ApplicationManager.get(0).appId;
297298 } else {
298299 if (ApplicationManager.count == 3) {
@@ -326,7 +327,7 @@ Item {
326327 coverFlickable.passedFirstStage = false;
327328 ApplicationManager.focusApplication(snapAnimation.targetAppId);
328329 }
329− if (snapAnimation.targetContentX == root.width * coverFlip.progressMarker1) {
330+ if (snapAnimation.targetContentX == root.width * coverFlip.progressMarker2) {
330331 coverFlickable.contentX = 0;
331332 }
332333 }
@@ -346,7 +347,7 @@ Item {
346347 property real progress: coverFlip.progress
347348 // The progress, translated for the second stage of the animation, after the first app switch has happened
348349 // Additionally it speeds it up a bit, depending on the distance of the tile
349− property real translatedProgress: appItem.progress - coverFlip.progressMarker1 - (coverFlip.tileDistance * (index-1))
350+ property real translatedProgress: appItem.progress - coverFlip.progressMarker2 - (coverFlip.tileDistance * (index-1))
350351
351352 // Is this tile selected by a click?
352353 property bool isSelected: false
@@ -361,10 +362,10 @@ Item {
361362 appItem.selectedXTranslation = appItem.xTranslation;
362363 appItem.selectedAngle = appItem.angle;
363364 appItem.selectedXScale = appItem.xScale;
364− appItem.selectedTranslatedProgress = appItem.translatedProgress - coverFlip.progressMarker1;
365− appItem.selectedProgress = appItem.progress - coverFlip.progressMarker1;
365+ appItem.selectedTranslatedProgress = appItem.translatedProgress - coverFlip.progressMarker2;
366+ appItem.selectedProgress = appItem.progress - coverFlip.progressMarker2;
366367 appItem.isSelected = true;
367− switchToAppAnimation.targetContentX = coverFlip.progressMarker1 * root.width
368+ switchToAppAnimation.targetContentX = coverFlip.progressMarker2 * root.width
368369 switchToAppAnimation.start();
369370 }
370371
@@ -373,31 +374,34 @@ Item {
373374 var minXTranslate = -index * root.width + index * units.dp(3);
374375 switch (index) {
375376 case 0:
376− if (appItem.progress < coverFlip.progressMarker1) {
377+ if (appItem.progress < coverFlip.progressMarker2) {
377378 var progress = appItem.progress
378− var progressDiff = coverFlip.progressMarker1
379+ var progressDiff = coverFlip.progressMarker2
379380 var translateDiff = -root.width * 0.25
380381 // progress : progressDiff = translate : translateDiff
381382 xTranslate = progress * translateDiff / progressDiff
382383 }
383384 break;
384385 case 1:
385− if (appItem.progress < coverFlip.progressMarker1) {
386+ if (appItem.progress < coverFlip.progressMarker2) {
386387 var progress = appItem.progress;
387− var progressDiff = coverFlip.progressMarker1;
388+ var progressDiff = coverFlip.progressMarker2;
388389 var translateDiff = -root.width;
389390 // progress : progressDiff = translate : translateDiff
390391 xTranslate = progress * translateDiff / progressDiff;
391392 break;
393+// } else if (appItem.progress < coverFlip.progressMarker2) {
394+// xTranslate = -coverFlip.tileWidth
392395 }
396+
393397 // Intentionally no break here...
394398 default:
395− if (appItem.progress > coverFlip.progressMarker1) {
399+ if (appItem.progress > coverFlip.progressMarker2) {
396400 xTranslate = xTranslateEasing.value * xTranslateEasing.period;
397401 if (appItem.isSelected) {
398402 var translateDiff = root.width * index + appItem.selectedXTranslation
399403 var progressDiff = appItem.selectedProgress
400− var progress = progressDiff - (appItem.progress - coverFlip.progressMarker1);
404+ var progress = progressDiff - (appItem.progress - coverFlip.progressMarker2);
401405 // progress : progressDiff = translate : translateDiff
402406 var newTranslate = progress * translateDiff / progressDiff;
403407
@@ -412,31 +416,40 @@ Item {
412416
413417 return xTranslate;
414418 }
419+// Behavior on xTranslation {
420+// id: animatedProgressBehavior
421+// enabled: appItem.progress >= coverFlip.progressMarker1 && appItem.progress <= coverFlip.progressMarker2
422+// SmoothedAnimation {
423+// velocity: 0.5;
424+// duration: UbuntuAnimation.BriskDuration;
425+// easing: UbuntuAnimation.StandardEasing
426+// }
427+// }
415428
416429 property real angle: {
417430 var newAngle = 0;
418431 switch (index) {
419432 case 0:
420− if (appItem.progress < coverFlip.progressMarker1) {
433+ if (appItem.progress < coverFlip.progressMarker2) {
421434 var progress = appItem.progress;
422435 var angleDiff = coverFlip.endAngle;
423− var progressDiff = coverFlip.progressMarker1;
436+ var progressDiff = coverFlip.progressMarker2;
424437 // progress : progressDiff = angle : angleDiff
425438 newAngle = progress * angleDiff / progressDiff;
426439 } else {
427− var progress = appItem.progress - coverFlip.progressMarker1;
440+ var progress = appItem.progress - coverFlip.progressMarker2;
428441 var angleDiff = coverFlip.endAngle;
429− var progressDiff = 1 - coverFlip.progressMarker1;
442+ var progressDiff = 1 - coverFlip.progressMarker2;
430443 // progress : progressDiff = angle : angleDiff
431444 newAngle = progress * angleDiff / progressDiff;
432445 newAngle = Math.min(coverFlip.endAngle, newAngle);
433446 }
434447 break;
435448 case 1:
436− if (appItem.progress < coverFlip.progressMarker1) {
449+ if (appItem.progress < coverFlip.progressMarker2) {
437450 var progress = coverFlip.progress;
438451 var angleDiff = coverFlip.startAngle;
439− var progressDiff = coverFlip.progressMarker1;
452+ var progressDiff = coverFlip.progressMarker2;
440453 // progress : progressDiff = angle : angleDiff
441454 var angle = progress * angleDiff / progressDiff;
442455 newAngle = coverFlip.startAngle - angle;
@@ -452,7 +465,7 @@ Item {
452465// var selectedAngleTranslate = selectedAngleEasing.value * selectedAngleEasing.period
453466 var angleDiff = appItem.selectedAngle
454467 var progressDiff = appItem.selectedProgress
455− var progress = progressDiff - (appItem.progress - coverFlip.progressMarker1);
468+ var progress = progressDiff - (appItem.progress - coverFlip.progressMarker2);
456469 // progress : progressDiff = angle : angleDiff
457470 var selectedAngleTranslate = progress * angleDiff / progressDiff;
458471
@@ -467,17 +480,17 @@ Item {
467480
468481 switch (index) {
469482 case 0:
470− if (appItem.progress > coverFlip.progressMarker1) {
483+ if (appItem.progress > coverFlip.progressMarker2) {
471484 var scaleDiff = coverFlip.maxScale - 1;
472− var progressDiff = 1.5 - coverFlip.progressMarker1;
485+ var progressDiff = 1.5 - coverFlip.progressMarker2;
473486 // progress : progressDiff = scale : scaleDiff
474− scale = 1 - (appItem.progress - coverFlip.progressMarker1) * scaleDiff / progressDiff;
487+ scale = 1 - (appItem.progress - coverFlip.progressMarker2) * scaleDiff / progressDiff;
475488 }
476489 break;
477490 case 1:
478− if (appItem.progress < coverFlip.progressMarker1) {
491+ if (appItem.progress < coverFlip.progressMarker2) {
479492 var scaleDiff = coverFlip.maxScale - 1
480− var progressDiff = coverFlip.progressMarker1
493+ var progressDiff = coverFlip.progressMarker2
481494 // progress : progressDiff = scale : scaleDiff
482495 scale = coverFlip.maxScale - (appItem.progress * scaleDiff / progressDiff);
483496 break;
@@ -488,7 +501,7 @@ Item {
488501 if (appItem.isSelected) {
489502 var scaleDiff = -(1 - appItem.selectedXScale)
490503 var progressDiff = appItem.selectedProgress
491− var progress = progressDiff - (appItem.progress - coverFlip.progressMarker1);
504+ var progress = progressDiff - (appItem.progress - coverFlip.progressMarker2);
492505 // progress : progressDiff = angle : angleDiff
493506 var selectedScaleTranslate = progress * scaleDiff / progressDiff;
494507