@@ -300,6 +300,9 @@ AbstractStage {
301 name: "stagedrightedge"; when: rightEdgeDragArea.dragging && root.mode == "staged"
301 name: "stagedrightedge"; when: rightEdgeDragArea.dragging && root.mode == "staged"
304+ name: "sidestagedrightedge"; when: rightEdgeDragArea.dragging && root.mode == "stagedWithSideStage"
304 name: "windowedrightedge"; when: rightEdgeDragArea.dragging && root.mode == "windowed"
307 name: "windowedrightedge"; when: rightEdgeDragArea.dragging && root.mode == "windowed"
@@ -728,7 +731,8 @@ AbstractStage {
730 function playFocusAnimation() {
733 function playFocusAnimation() {
731− if (state == "stagedrightedge") {
734+ if (state == "stagedrightedge" || state == "sidestagedrightedge") {
735+ rightEdgeFocusAnimation.targetX = appDelegate.stage == ApplicationInfoInterface.SideStage ? sideStage.x : 0
732 rightEdgeFocusAnimation.start()
736 rightEdgeFocusAnimation.start()
734 focusAnimation.start()
738 focusAnimation.start()
@@ -748,7 +752,8 @@ AbstractStage {
749 ParallelAnimation {
753 ParallelAnimation {
750 id: rightEdgeFocusAnimation
754 id: rightEdgeFocusAnimation
755+ property int targetX: 0
751− UbuntuNumberAnimation { target: appDelegate; properties: "x"; to: 0; duration: priv.animationDuration }
756+ UbuntuNumberAnimation { target: appDelegate; properties: "x"; to: targetX; duration: priv.animationDuration }
752 UbuntuNumberAnimation { target: decoratedWindow; properties: "angle"; to: 0; duration: priv.animationDuration }
757 UbuntuNumberAnimation { target: decoratedWindow; properties: "angle"; to: 0; duration: priv.animationDuration }
753 UbuntuNumberAnimation { target: decoratedWindow; properties: "itemScale"; to: 1; duration: priv.animationDuration }
758 UbuntuNumberAnimation { target: decoratedWindow; properties: "itemScale"; to: 1; duration: priv.animationDuration }
754 onStopped: appDelegate.focus = true
759 onStopped: appDelegate.focus = true
@@ -784,6 +789,24 @@ AbstractStage {
784 progress: 0
789 progress: 0
785 targetHeight: spreadMaths.stackHeight
790 targetHeight: spreadMaths.stackHeight
786 targetX: spreadMaths.targetX
791 targetX: spreadMaths.targetX
792+ startY: appDelegate.fullscreen ? 0 : PanelState.panelHeight
793+ targetY: spreadMaths.targetY
794+ targetAngle: spreadMaths.targetAngle
795+ targetScale: spreadMaths.targetScale
798+ SideStagedRightEdgeMaths {
799+ id: sideStagedRightEdgeMaths
800+ sceneWidth: appContainer.width - root.leftMargin
801+ sceneHeight: appContainer.height
802+ isMainStageApp: priv.mainStageDelegate == appDelegate
803+ isSideStageApp: priv.sideStageDelegate == appDelegate
804+ sideStageWidth: sideStage.width
807+ targetHeight: spreadMaths.stackHeight
808+ targetX: spreadMaths.targetX
809+ startY: appDelegate.fullscreen ? 0 : PanelState.panelHeight
787 targetY: spreadMaths.targetY
810 targetY: spreadMaths.targetY
788 targetAngle: spreadMaths.targetAngle
811 targetAngle: spreadMaths.targetAngle
789 targetScale: spreadMaths.targetScale
812 targetScale: spreadMaths.targetScale
@@ -820,32 +843,57 @@ AbstractStage {
820 PropertyChanges { target: dragArea; enabled: true }
843 PropertyChanges { target: dragArea; enabled: true }
821 PropertyChanges { target: windowInfoItem; opacity: spreadMaths.tileInfoOpacity; visible: spreadMaths.itemVisible }
844 PropertyChanges { target: windowInfoItem; opacity: spreadMaths.tileInfoOpacity; visible: spreadMaths.itemVisible }
847+// name: "stagedrightedge";
848+// when: root.state == "stagedrightedge" || rightEdgeFocusAnimation.running || hidingAnimation.running
850+// target: stagedRightEdgeMaths
851+// progress: rightEdgeDragArea.progress
854+// target: appDelegate
855+// y: stagedRightEdgeMaths.animatedY
856+// x: stagedRightEdgeMaths.animatedX
858+// height: stagedRightEdgeMaths.animatedHeight
859+// requestedWidth: decoratedWindow.oldRequestedWidth
860+// requestedHeight: decoratedWindow.oldRequestedHeight
861+// visible: stagedRightEdgeMaths.itemVisible
864+// target: decoratedWindow;
865+// hasDecoration: false
866+// angle: stagedRightEdgeMaths.animatedAngle
867+// itemScale: stagedRightEdgeMaths.animatedScale
868+// scaleToPreviewSize: spreadItem.stackHeight
869+// scaleToPreviewProgress: stagedRightEdgeMaths.scaleToPreviewProgress
870+// shadowOpacity: 0.3
824− name: "stagedrightedge";
874+ name: "sidestagedrightedge"
825− when: root.state == "stagedrightedge" || rightEdgeFocusAnimation.running || hidingAnimation.running
875+ when: root.state == "sidestagedrightedge" || root.state == "stagedrightedge" || rightEdgeFocusAnimation.running || hidingAnimation.running
826 PropertyChanges {
876 PropertyChanges {
827− target: stagedRightEdgeMaths
877+ target: sideStagedRightEdgeMaths
828 progress: rightEdgeDragArea.progress
878 progress: rightEdgeDragArea.progress
829− startY: appDelegate.fullscreen ? 0 : PanelState.panelHeight
831 PropertyChanges {
880 PropertyChanges {
832 target: appDelegate
881 target: appDelegate
833− y: stagedRightEdgeMaths.animatedY
882+ x: sideStagedRightEdgeMaths.animatedX
834− x: stagedRightEdgeMaths.animatedX
883+ y: sideStagedRightEdgeMaths.animatedY
835 z: index +1
884 z: index +1
836− height: stagedRightEdgeMaths.animatedHeight
885+ height: sideStagedRightEdgeMaths.animatedHeight
837 requestedWidth: decoratedWindow.oldRequestedWidth
886 requestedWidth: decoratedWindow.oldRequestedWidth
838 requestedHeight: decoratedWindow.oldRequestedHeight
887 requestedHeight: decoratedWindow.oldRequestedHeight
839− visible: stagedRightEdgeMaths.itemVisible
841 PropertyChanges {
889 PropertyChanges {
842− target: decoratedWindow;
890+ target: decoratedWindow
843 hasDecoration: false
891 hasDecoration: false
844− angle: stagedRightEdgeMaths.animatedAngle
892+ angle: sideStagedRightEdgeMaths.animatedAngle
845− itemScale: stagedRightEdgeMaths.animatedScale
893+ itemScale: sideStagedRightEdgeMaths.animatedScale
846 scaleToPreviewSize: spreadItem.stackHeight
894 scaleToPreviewSize: spreadItem.stackHeight
847− scaleToPreviewProgress: stagedRightEdgeMaths.scaleToPreviewProgress
895+ scaleToPreviewProgress: sideStagedRightEdgeMaths.scaleToPreviewProgress
848− shadowOpacity: 0.3
896+ shadowOpacity: .3