@@ -965,7 +965,7 @@ AbstractStage {
965 when: (root.mode == "staged" || root.mode == "stagedWithSideStage") && (root.state == "sideStagedRightEdge" || root.state == "stagedRightEdge" || rightEdgeFocusAnimation.running || hidingAnimation.running)
965 when: (root.mode == "staged" || root.mode == "stagedWithSideStage") && (root.state == "sideStagedRightEdge" || root.state == "stagedRightEdge" || rightEdgeFocusAnimation.running || hidingAnimation.running)
966 PropertyChanges {
966 PropertyChanges {
967 target: stagedRightEdgeMaths
967 target: stagedRightEdgeMaths
968− progress: Math.max(edgeBarrier.progress, rightEdgeDragArea.progress)
968+ progress: Math.max(edgeBarrier.progress, rightEdgeDragArea.draggedProgress)
970 PropertyChanges {
970 PropertyChanges {
971 target: appDelegate
971 target: appDelegate
@@ -1021,12 +1021,12 @@ AbstractStage {
1021 name: "staged"; when: root.state == "staged"
1021 name: "staged"; when: root.state == "staged"
1022 PropertyChanges {
1022 PropertyChanges {
1023 target: appDelegate
1023 target: appDelegate
1024− x: appDelegate.itemIndex == 0 ? 0 : root.width
1024+ x: stageMaths.itemX
1025 y: appDelegate.fullscreen ? 0 : PanelState.panelHeight
1025 y: appDelegate.fullscreen ? 0 : PanelState.panelHeight
1026 requestedWidth: appContainer.width
1026 requestedWidth: appContainer.width
1027 requestedHeight: appDelegate.fullscreen ? appContainer.height : appContainer.height - PanelState.panelHeight
1027 requestedHeight: appDelegate.fullscreen ? appContainer.height : appContainer.height - PanelState.panelHeight
1028 visuallyMaximized: true
1028 visuallyMaximized: true
1029− visible: appDelegate.itemIndex == 0
1029+ visible: appDelegate.x < root.width
1031 PropertyChanges {
1031 PropertyChanges {
1032 target: decoratedWindow
1032 target: decoratedWindow
@@ -1036,6 +1036,10 @@ AbstractStage {
1036 target: resizeArea
1036 target: resizeArea
1037 enabled: false
1037 enabled: false
1041+ animateX: !focusAnimation.running && itemIndex !== spreadItem.highlightedIndex
1041 name: "stagedWithSideStage"; when: root.state == "stagedWithSideStage"
1045 name: "stagedWithSideStage"; when: root.state == "stagedWithSideStage"
@@ -1170,7 +1174,6 @@ AbstractStage {
1170 visuallyMaximized: false
1174 visuallyMaximized: false
1175 transitions: [
1178 transitions: [
1176 Transition {
1179 Transition {
@@ -1571,6 +1574,13 @@ AbstractStage {
1571 property bool cancelled: false
1574 property bool cancelled: false
1573 property real progress: dragging ? -touchPosition.x / root.width : 0
1576 property real progress: dragging ? -touchPosition.x / root.width : 0
1577+ onProgressChanged: {
1579+ draggedProgress = progress;
1583+ property real draggedProgress: 0
1575 onTouchPositionChanged: {
1585 onTouchPositionChanged: {
1576 gesturePoints.push(touchPosition.x);
1586 gesturePoints.push(touchPosition.x);
@@ -1585,6 +1595,7 @@ AbstractStage {
1585 // A potential edge-drag gesture has started. Start recording it
1595 // A potential edge-drag gesture has started. Start recording it
1586 gesturePoints = [];
1596 gesturePoints = [];
1587 cancelled = false;
1597 cancelled = false;
1598+ draggedProgress = 0;
1588 } else {
1599 } else {
1589 // Ok. The user released. Did he drag far enough to go to full spread?
1600 // Ok. The user released. Did he drag far enough to go to full spread?
1590 if (gesturePoints[gesturePoints.length - 1] < -spreadItem.rightEdgeBreakPoint * spreadItem.width ) {
1601 if (gesturePoints[gesturePoints.length - 1] < -spreadItem.rightEdgeBreakPoint * spreadItem.width ) {