on xenial help sign in
finetune scaling
e3f9656Michael Zanetti
qml/Stages/PhoneStage.qml+7−7
@@ -206,10 +206,10 @@ Item {
206 if (dragging && !priv.waitingForScreenshot && attachedToView) {
206 if (dragging && !priv.waitingForScreenshot && attachedToView) {
207 spreadView.contentX = -touchX
207 spreadView.contentX = -touchX
208 }
208 }
209− if (attachedToView && spreadView.contentX >= spreadView.width * spreadView.positionMarker3) {
209+// if (attachedToView && spreadView.contentX >= spreadView.width * spreadView.positionMarker3) {
210− attachedToView = false;
210+// attachedToView = false;
211− spreadView.snap();
211+// spreadView.snap();
212− }
212+// }
213 }
213 }
214
214
215 onDraggingChanged: {
215 onDraggingChanged: {
@@ -250,7 +250,7 @@ Item {
250
250
251 // Stage of the animation:
251 // Stage of the animation:
252 // 0: Starting from right edge, a new app (index 1) comes in from the right
252 // 0: Starting from right edge, a new app (index 1) comes in from the right
253− // 1: The app has reached the first snap position
253+ // 1: The app has reached the first snap position.
254 // 2: The list is dragged further and snaps into the spread view when entering stage 2
254 // 2: The list is dragged further and snaps into the spread view when entering stage 2
255 property int stage: 0
255 property int stage: 0
256
256
@@ -330,8 +330,8 @@ Item {
330 delegate: TransformedSpreadDelegate {
330 delegate: TransformedSpreadDelegate {
331 startAngle: 45
331 startAngle: 45
332 endAngle: 10
332 endAngle: 10
333− startScale: 1.4
333+ startScale: 1
334− endScale: 0.8
334+ endScale: 0.7
335 startDistance: spreadView.tileDistance
335 startDistance: spreadView.tileDistance
336 endDistance: units.gu(.5)
336 endDistance: units.gu(.5)
337
337
qml/Stages/TransformedSpreadDelegate.qml+6−13
@@ -14,6 +14,7 @@ SpreadDelegate {
14
14
15 property real startScale: 1
15 property real startScale: 1
16 property real endScale: 1
16 property real endScale: 1
17+ property real tile1StartScale: startScale + .4
17
18
18 property real startDistance: units.gu(5)
19 property real startDistance: units.gu(5)
19 property real endDistance: units.gu(.5)
20 property real endDistance: units.gu(.5)
@@ -210,36 +211,28 @@ SpreadDelegate {
210 case 0:
211 case 0:
211 if (spreadView.stage == 0) {
212 if (spreadView.stage == 0) {
212 newScale = 1;
213 newScale = 1;
214+ break
213 } else if(spreadView.stage == 1) {
215 } else if(spreadView.stage == 1) {
214 var progress = root.progress - spreadView.positionMarker2
216 var progress = root.progress - spreadView.positionMarker2
215 var progressDiff = spreadView.positionMarker4 - spreadView.positionMarker2
217 var progressDiff = spreadView.positionMarker4 - spreadView.positionMarker2
216 var scaleDiff = 1 - root.endScale;
218 var scaleDiff = 1 - root.endScale;
217 // progress : progressDiff = angle : angleDiff
219 // progress : progressDiff = angle : angleDiff
218 newScale = 1 - (progress * scaleDiff / progressDiff);
220 newScale = 1 - (progress * scaleDiff / progressDiff);
219−
221+ break;
220− } else {
221− var progress = root.progress - spreadView.positionMarker2;
222− var scaleDiff = 1 - root.endScale;
223− var progressDiff = 1 - spreadView.positionMarker2;
224− // progress : progressDiff = angle : angleDiff
225− newScale = 1 - (progress * scaleDiff / progressDiff);
226− newScale = Math.max(root.endScale, newScale);
227 }
222 }
228−
229− break;
230 case 1:
223 case 1:
231 if (spreadView.stage == 0) {
224 if (spreadView.stage == 0) {
232 var progress = root.animatedProgress;
225 var progress = root.animatedProgress;
233 var progressDiff = spreadView.positionMarker2;
226 var progressDiff = spreadView.positionMarker2;
234− var scaleDiff = (root.startScale - 1) * spreadView.snapPosition
227+ var scaleDiff = (root.tile1StartScale - 1) * spreadView.snapPosition
235
228
236 // progress : progressDiff = angle : angleDiff
229 // progress : progressDiff = angle : angleDiff
237 var scaleTranslate = progress * scaleDiff / progressDiff;
230 var scaleTranslate = progress * scaleDiff / progressDiff;
238
231
239− newScale = root.startScale - scaleTranslate;
232+ newScale = root.tile1StartScale - scaleTranslate;
240 break;
233 break;
241 } else if (spreadView.stage == 1) {
234 } else if (spreadView.stage == 1) {
242− var stage0Scale = root.startScale - (root.startScale - 1) * spreadView.snapPosition
235+ var stage0Scale = root.tile1StartScale - (root.tile1StartScale - 1) * spreadView.snapPosition
243
236
244 var progress = root.progress
237 var progress = root.progress
245 var progressDiff = spreadView.positionMarker4 - spreadView.positionMarker2
238 var progressDiff = spreadView.positionMarker4 - spreadView.positionMarker2