on xenial help sign in
add support for the topMarginProgress to Tablet mode too
bbebd2eMichael Zanetti
qml/Stages/TransformedSpreadDelegate.qml+1−1
@@ -314,7 +314,7 @@ SpreadDelegate {
314 Scale {
314 Scale {
315 origin { x: 0; y: (spreadView.height * priv.scale) + maximizedAppTopMargin * 3 }
315 origin { x: 0; y: (spreadView.height * priv.scale) + maximizedAppTopMargin * 3 }
316 xScale: 1
316 xScale: 1
317− yScale: isFullscreen? 1 - priv.topMarginProgress * maximizedAppTopMargin / spreadView.height : 1
317+ yScale: isFullscreen ? 1 - priv.topMarginProgress * maximizedAppTopMargin / spreadView.height : 1
318 },
318 },
319 Translate {
319 Translate {
320 x: priv.xTranslate
320 x: priv.xTranslate
qml/Stages/TransformedTabletSpreadDelegate.qml+23−1
@@ -70,6 +70,7 @@ SpreadDelegate {
70
70
71 priv.phase2StartScale = priv.easingAnimation(0, 1, root.startScale, root.endScale, phase2Progress)
71 priv.phase2StartScale = priv.easingAnimation(0, 1, root.startScale, root.endScale, phase2Progress)
72 priv.phase2StartAngle = priv.easingAnimation(0, 1, root.startAngle, root.endAngle, phase2Progress)
72 priv.phase2StartAngle = priv.easingAnimation(0, 1, root.startAngle, root.endAngle, phase2Progress)
73+ priv.phase2StartTopMarginProgress = priv.easingAnimation(0, 1, 0, 1, phase2Progress)
73 }
74 }
74 }
75 }
75 }
76 }
@@ -87,6 +88,7 @@ SpreadDelegate {
87 property real phase2StartTranslate
88 property real phase2StartTranslate
88 property real phase2StartScale
89 property real phase2StartScale
89 property real phase2StartAngle
90 property real phase2StartAngle
91+ property real phase2StartTopMarginProgress
90
92
91 property bool isSelected: false
93 property bool isSelected: false
92 property bool otherSelected: false
94 property bool otherSelected: false
@@ -95,6 +97,7 @@ SpreadDelegate {
95 property real selectedAngle
97 property real selectedAngle
96 property real selectedScale
98 property real selectedScale
97 property real selectedOpacity
99 property real selectedOpacity
100+ property real selectedTopMarginProgress
98
101
99 function snapshot() {
102 function snapshot() {
100 selectedProgress = root.progress;
103 selectedProgress = root.progress;
@@ -102,9 +105,9 @@ SpreadDelegate {
102 selectedAngle = angle;
105 selectedAngle = angle;
103 selectedScale = priv.scale;
106 selectedScale = priv.scale;
104 selectedOpacity = priv.opacityTransform;
107 selectedOpacity = priv.opacityTransform;
108+ selectedTopMarginProgress = topMarginProgress;
105// print("snapshotting at phase", spreadView.phase, negativeProgress);
109// print("snapshotting at phase", spreadView.phase, negativeProgress);
106// print("snapshotted", root.zIndex, "prog:", selectedProgress, "translate:", selectedXTranslate, "angle", selectedAngle, "scale", selectedScale)
110// print("snapshotted", root.zIndex, "prog:", selectedProgress, "translate:", selectedXTranslate, "angle", selectedAngle, "scale", selectedScale)
107−// selectedTopMarginProgress = topMarginProgress;
108 }
111 }
109
112
110 // This calculates how much negative progress there can be if unwinding the spread completely
113 // This calculates how much negative progress there can be if unwinding the spread completely
@@ -300,6 +303,20 @@ SpreadDelegate {
300 return 1;
303 return 1;
301 }
304 }
302
305
306+ property real topMarginProgress: {
307+ if (priv.isSelected) {
308+ return linearAnimation(selectedProgress, negativeProgress, selectedTopMarginProgress, 0, root.progress);
309+ }
310+ switch (spreadView.phase) {
311+ case 0:
312+ return 0;
313+ case 1:
314+ return linearAnimation(spreadView.positionMarker2, spreadView.positionMarker4,
315+ 0, priv.phase2StartTopMarginProgress, root.progress);
316+ }
317+ return 1;
318+ }
319+
303 states: [
320 states: [
304 State {
321 State {
305 name: "sideStageDragging"; when: spreadView.sideStageDragging && root.isInSideStage
322 name: "sideStageDragging"; when: spreadView.sideStageDragging && root.isInSideStage
@@ -319,6 +336,11 @@ SpreadDelegate {
319 xScale: priv.scale
336 xScale: priv.scale
320 yScale: xScale
337 yScale: xScale
321 },
338 },
339+ Scale {
340+ origin { x: 0; y: (spreadView.height * priv.scale) + maximizedAppTopMargin * 3 }
341+ xScale: 1
342+ yScale: isFullscreen ? 1 - priv.topMarginProgress * maximizedAppTopMargin / spreadView.height : 1
343+ },
322 Translate {
344 Translate {
323 x: priv.xTranslate
345 x: priv.xTranslate
324 }
346 }