on xenial help sign in
rename progressmarker1 as its in fact marker no 2
e0fb2d6Michael Zanetti
qml/Stages/PhoneStage.qml+48−35
@@ -234,12 +234,12 @@ Item {
234 property bool passedFirstStage: false
234 property bool passedFirstStage: false
235
235
236 onContentXChanged: {
236 onContentXChanged: {
237− if (coverFlickable.passedFirstStage && contentX < width * coverFlip.progressMarker1) {
237+ if (coverFlickable.passedFirstStage && contentX < width * coverFlip.progressMarker2) {
238− contentX = width * coverFlip.progressMarker1;
238+ contentX = width * coverFlip.progressMarker2;
239 return;
239 return;
240 }
240 }
241 var progress = contentX / width
241 var progress = contentX / width
242− if (progress > coverFlip.progressMarker1) {
242+ if (progress > coverFlip.progressMarker2) {
243 coverFlickable.passedFirstStage = true;
243 coverFlickable.passedFirstStage = true;
244 }
244 }
245 coverFlip.progress = progress;
245 coverFlip.progress = progress;
@@ -262,9 +262,10 @@ Item {
262 property real maxScale: 1.4
262 property real maxScale: 1.4
263 property real minScale: .6
263 property real minScale: .6
264
264
265− // Markers: relative screen position from left to right
265+ // Markers: relative screen position from right to left
266 // marks the line where first application is finished moving in from the right
266 // 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
268
269
269 property real tileDistance: 0.1
270 property real tileDistance: 0.1
270
271
@@ -275,9 +276,9 @@ Item {
275 property real oldProgress: 0
276 property real oldProgress: 0
276 onProgressChanged: {
277 onProgressChanged: {
277 if (coverFlipDragArea.dragging) {
278 if (coverFlipDragArea.dragging) {
278− if (oldProgress < coverFlip.progressMarker1 && progress >= coverFlip.progressMarker1) {
279+ if (oldProgress < coverFlip.progressMarker2 && progress >= coverFlip.progressMarker2) {
279 ApplicationManager.move(0, 1)
280 ApplicationManager.move(0, 1)
280− } else if (oldProgress >= coverFlip.progressMarker1 && progress < coverFlip.progressMarker1) {
281+ } else if (oldProgress >= coverFlip.progressMarker2 && progress < coverFlip.progressMarker2) {
281 ApplicationManager.move(0, 1)
282 ApplicationManager.move(0, 1)
282 }
283 }
283 }
284 }
@@ -285,14 +286,14 @@ Item {
285 }
286 }
286
287
287 function snap() {
288 function snap() {
288− if (coverFlip.progress < 0.25) {
289+ if (coverFlip.progress < coverFlip.progressMarker1) {
289 snapAnimation.targetContentX = 0
290 snapAnimation.targetContentX = 0
290 snapAnimation.targetAppId = ApplicationManager.get(0).appId;
291 snapAnimation.targetAppId = ApplicationManager.get(0).appId;
291− } else if (coverFlip.progress < coverFlip.progressMarker1) {
292+ } else if (coverFlip.progress < coverFlip.progressMarker2) {
292− snapAnimation.targetContentX = root.width * coverFlip.progressMarker1
293+ snapAnimation.targetContentX = root.width * coverFlip.progressMarker2
293 snapAnimation.targetAppId = ApplicationManager.get(1).appId;
294 snapAnimation.targetAppId = ApplicationManager.get(1).appId;
294 } else if (coverFlip.progress < 0.6) {
295 } else if (coverFlip.progress < 0.6) {
295− snapAnimation.targetContentX = root.width * coverFlip.progressMarker1
296+ snapAnimation.targetContentX = root.width * coverFlip.progressMarker2
296 snapAnimation.targetAppId = ApplicationManager.get(0).appId;
297 snapAnimation.targetAppId = ApplicationManager.get(0).appId;
297 } else {
298 } else {
298 if (ApplicationManager.count == 3) {
299 if (ApplicationManager.count == 3) {
@@ -326,7 +327,7 @@ Item {
326 coverFlickable.passedFirstStage = false;
327 coverFlickable.passedFirstStage = false;
327 ApplicationManager.focusApplication(snapAnimation.targetAppId);
328 ApplicationManager.focusApplication(snapAnimation.targetAppId);
328 }
329 }
329− if (snapAnimation.targetContentX == root.width * coverFlip.progressMarker1) {
330+ if (snapAnimation.targetContentX == root.width * coverFlip.progressMarker2) {
330 coverFlickable.contentX = 0;
331 coverFlickable.contentX = 0;
331 }
332 }
332 }
333 }
@@ -346,7 +347,7 @@ Item {
346 property real progress: coverFlip.progress
347 property real progress: coverFlip.progress
347 // The progress, translated for the second stage of the animation, after the first app switch has happened
348 // The progress, translated for the second stage of the animation, after the first app switch has happened
348 // Additionally it speeds it up a bit, depending on the distance of the tile
349 // 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))
350
351
351 // Is this tile selected by a click?
352 // Is this tile selected by a click?
352 property bool isSelected: false
353 property bool isSelected: false
@@ -361,10 +362,10 @@ Item {
361 appItem.selectedXTranslation = appItem.xTranslation;
362 appItem.selectedXTranslation = appItem.xTranslation;
362 appItem.selectedAngle = appItem.angle;
363 appItem.selectedAngle = appItem.angle;
363 appItem.selectedXScale = appItem.xScale;
364 appItem.selectedXScale = appItem.xScale;
364− appItem.selectedTranslatedProgress = appItem.translatedProgress - coverFlip.progressMarker1;
365+ appItem.selectedTranslatedProgress = appItem.translatedProgress - coverFlip.progressMarker2;
365− appItem.selectedProgress = appItem.progress - coverFlip.progressMarker1;
366+ appItem.selectedProgress = appItem.progress - coverFlip.progressMarker2;
366 appItem.isSelected = true;
367 appItem.isSelected = true;
367− switchToAppAnimation.targetContentX = coverFlip.progressMarker1 * root.width
368+ switchToAppAnimation.targetContentX = coverFlip.progressMarker2 * root.width
368 switchToAppAnimation.start();
369 switchToAppAnimation.start();
369 }
370 }
370
371
@@ -373,31 +374,34 @@ Item {
373 var minXTranslate = -index * root.width + index * units.dp(3);
374 var minXTranslate = -index * root.width + index * units.dp(3);
374 switch (index) {
375 switch (index) {
375 case 0:
376 case 0:
376− if (appItem.progress < coverFlip.progressMarker1) {
377+ if (appItem.progress < coverFlip.progressMarker2) {
377 var progress = appItem.progress
378 var progress = appItem.progress
378− var progressDiff = coverFlip.progressMarker1
379+ var progressDiff = coverFlip.progressMarker2
379 var translateDiff = -root.width * 0.25
380 var translateDiff = -root.width * 0.25
380 // progress : progressDiff = translate : translateDiff
381 // progress : progressDiff = translate : translateDiff
381 xTranslate = progress * translateDiff / progressDiff
382 xTranslate = progress * translateDiff / progressDiff
382 }
383 }
383 break;
384 break;
384 case 1:
385 case 1:
385− if (appItem.progress < coverFlip.progressMarker1) {
386+ if (appItem.progress < coverFlip.progressMarker2) {
386 var progress = appItem.progress;
387 var progress = appItem.progress;
387− var progressDiff = coverFlip.progressMarker1;
388+ var progressDiff = coverFlip.progressMarker2;
388 var translateDiff = -root.width;
389 var translateDiff = -root.width;
389 // progress : progressDiff = translate : translateDiff
390 // progress : progressDiff = translate : translateDiff
390 xTranslate = progress * translateDiff / progressDiff;
391 xTranslate = progress * translateDiff / progressDiff;
391 break;
392 break;
393+// } else if (appItem.progress < coverFlip.progressMarker2) {
394+// xTranslate = -coverFlip.tileWidth
392 }
395 }
396+
393 // Intentionally no break here...
397 // Intentionally no break here...
394 default:
398 default:
395− if (appItem.progress > coverFlip.progressMarker1) {
399+ if (appItem.progress > coverFlip.progressMarker2) {
396 xTranslate = xTranslateEasing.value * xTranslateEasing.period;
400 xTranslate = xTranslateEasing.value * xTranslateEasing.period;
397 if (appItem.isSelected) {
401 if (appItem.isSelected) {
398 var translateDiff = root.width * index + appItem.selectedXTranslation
402 var translateDiff = root.width * index + appItem.selectedXTranslation
399 var progressDiff = appItem.selectedProgress
403 var progressDiff = appItem.selectedProgress
400− var progress = progressDiff - (appItem.progress - coverFlip.progressMarker1);
404+ var progress = progressDiff - (appItem.progress - coverFlip.progressMarker2);
401 // progress : progressDiff = translate : translateDiff
405 // progress : progressDiff = translate : translateDiff
402 var newTranslate = progress * translateDiff / progressDiff;
406 var newTranslate = progress * translateDiff / progressDiff;
403
407
@@ -412,31 +416,40 @@ Item {
412
416
413 return xTranslate;
417 return xTranslate;
414 }
418 }
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+// }
415
428
416 property real angle: {
429 property real angle: {
417 var newAngle = 0;
430 var newAngle = 0;
418 switch (index) {
431 switch (index) {
419 case 0:
432 case 0:
420− if (appItem.progress < coverFlip.progressMarker1) {
433+ if (appItem.progress < coverFlip.progressMarker2) {
421 var progress = appItem.progress;
434 var progress = appItem.progress;
422 var angleDiff = coverFlip.endAngle;
435 var angleDiff = coverFlip.endAngle;
423− var progressDiff = coverFlip.progressMarker1;
436+ var progressDiff = coverFlip.progressMarker2;
424 // progress : progressDiff = angle : angleDiff
437 // progress : progressDiff = angle : angleDiff
425 newAngle = progress * angleDiff / progressDiff;
438 newAngle = progress * angleDiff / progressDiff;
426 } else {
439 } else {
427− var progress = appItem.progress - coverFlip.progressMarker1;
440+ var progress = appItem.progress - coverFlip.progressMarker2;
428 var angleDiff = coverFlip.endAngle;
441 var angleDiff = coverFlip.endAngle;
429− var progressDiff = 1 - coverFlip.progressMarker1;
442+ var progressDiff = 1 - coverFlip.progressMarker2;
430 // progress : progressDiff = angle : angleDiff
443 // progress : progressDiff = angle : angleDiff
431 newAngle = progress * angleDiff / progressDiff;
444 newAngle = progress * angleDiff / progressDiff;
432 newAngle = Math.min(coverFlip.endAngle, newAngle);
445 newAngle = Math.min(coverFlip.endAngle, newAngle);
433 }
446 }
434 break;
447 break;
435 case 1:
448 case 1:
436− if (appItem.progress < coverFlip.progressMarker1) {
449+ if (appItem.progress < coverFlip.progressMarker2) {
437 var progress = coverFlip.progress;
450 var progress = coverFlip.progress;
438 var angleDiff = coverFlip.startAngle;
451 var angleDiff = coverFlip.startAngle;
439− var progressDiff = coverFlip.progressMarker1;
452+ var progressDiff = coverFlip.progressMarker2;
440 // progress : progressDiff = angle : angleDiff
453 // progress : progressDiff = angle : angleDiff
441 var angle = progress * angleDiff / progressDiff;
454 var angle = progress * angleDiff / progressDiff;
442 newAngle = coverFlip.startAngle - angle;
455 newAngle = coverFlip.startAngle - angle;
@@ -452,7 +465,7 @@ Item {
452// var selectedAngleTranslate = selectedAngleEasing.value * selectedAngleEasing.period
465// var selectedAngleTranslate = selectedAngleEasing.value * selectedAngleEasing.period
453 var angleDiff = appItem.selectedAngle
466 var angleDiff = appItem.selectedAngle
454 var progressDiff = appItem.selectedProgress
467 var progressDiff = appItem.selectedProgress
455− var progress = progressDiff - (appItem.progress - coverFlip.progressMarker1);
468+ var progress = progressDiff - (appItem.progress - coverFlip.progressMarker2);
456 // progress : progressDiff = angle : angleDiff
469 // progress : progressDiff = angle : angleDiff
457 var selectedAngleTranslate = progress * angleDiff / progressDiff;
470 var selectedAngleTranslate = progress * angleDiff / progressDiff;
458
471
@@ -467,17 +480,17 @@ Item {
467
480
468 switch (index) {
481 switch (index) {
469 case 0:
482 case 0:
470− if (appItem.progress > coverFlip.progressMarker1) {
483+ if (appItem.progress > coverFlip.progressMarker2) {
471 var scaleDiff = coverFlip.maxScale - 1;
484 var scaleDiff = coverFlip.maxScale - 1;
472− var progressDiff = 1.5 - coverFlip.progressMarker1;
485+ var progressDiff = 1.5 - coverFlip.progressMarker2;
473 // progress : progressDiff = scale : scaleDiff
486 // progress : progressDiff = scale : scaleDiff
474− scale = 1 - (appItem.progress - coverFlip.progressMarker1) * scaleDiff / progressDiff;
487+ scale = 1 - (appItem.progress - coverFlip.progressMarker2) * scaleDiff / progressDiff;
475 }
488 }
476 break;
489 break;
477 case 1:
490 case 1:
478− if (appItem.progress < coverFlip.progressMarker1) {
491+ if (appItem.progress < coverFlip.progressMarker2) {
479 var scaleDiff = coverFlip.maxScale - 1
492 var scaleDiff = coverFlip.maxScale - 1
480− var progressDiff = coverFlip.progressMarker1
493+ var progressDiff = coverFlip.progressMarker2
481 // progress : progressDiff = scale : scaleDiff
494 // progress : progressDiff = scale : scaleDiff
482 scale = coverFlip.maxScale - (appItem.progress * scaleDiff / progressDiff);
495 scale = coverFlip.maxScale - (appItem.progress * scaleDiff / progressDiff);
483 break;
496 break;
@@ -488,7 +501,7 @@ Item {
488 if (appItem.isSelected) {
501 if (appItem.isSelected) {
489 var scaleDiff = -(1 - appItem.selectedXScale)
502 var scaleDiff = -(1 - appItem.selectedXScale)
490 var progressDiff = appItem.selectedProgress
503 var progressDiff = appItem.selectedProgress
491− var progress = progressDiff - (appItem.progress - coverFlip.progressMarker1);
504+ var progress = progressDiff - (appItem.progress - coverFlip.progressMarker2);
492 // progress : progressDiff = angle : angleDiff
505 // progress : progressDiff = angle : angleDiff
493 var selectedScaleTranslate = progress * scaleDiff / progressDiff;
506 var selectedScaleTranslate = progress * scaleDiff / progressDiff;
494
507