@@ -22,13 +22,33 @@ import "../Components"
22import Utils 0.1
22import Utils 0.1
23import Ubuntu.Gestures 0.1
23import Ubuntu.Gestures 0.1
24import GlobalShortcut 1.0
24import GlobalShortcut 1.0
25import "Spread"
26import "Spread"
26import "Spread/MathUtils.js" as MathUtils
27import "Spread/MathUtils.js" as MathUtils
28−AbstractStage {
29+FocusScope {
30 anchors.fill: parent
31 anchors.fill: parent
33+ property QtObject applicationManager
34+ property QtObject topLevelSurfaceList
35+ property bool altTabPressed
36+ property url background
37+ property bool beingResized
38+ property int dragAreaWidth
39+ property bool interactive
40+ property bool keepDashRunning: true
41+ property real maximizedAppTopMargin
42+ property real nativeHeight
43+ property real nativeWidth
44+ property QtObject orientations
45+ property int shellOrientation
46+ property int shellOrientationAngle
47+ property bool spreadEnabled: true // If false, animations and right edge will be disabled
48+ property bool suspended
49+ property int leftMargin: 0
50+ property bool oskEnabled: false
32 // Congifuration
52 // Congifuration
33 property string mode: "staged"
53 property string mode: "staged"
34 property real leftEdgeDragProgress: 0
54 property real leftEdgeDragProgress: 0
@@ -91,6 +111,21 @@ AbstractStage {
115+ id: lifecycleExceptions
116+ schema.id: "com.canonical.qtmir"
119+ function isExemptFromLifecycle(appId) {
120+ var shortAppId = appId.split('_')[0];
121+ for (var i = 0; i < lifecycleExceptions.lifecycleExemptAppids.length; i++) {
122+ if (shortAppId === lifecycleExceptions.lifecycleExemptAppids[i]) {
94 GlobalShortcut {
129 GlobalShortcut {
95 id: closeFocusedShortcut
130 id: closeFocusedShortcut
96 shortcut: Qt.AltModifier|Qt.Key_F4
131 shortcut: Qt.AltModifier|Qt.Key_F4
@@ -412,12 +447,9 @@ AbstractStage {
412 script: {
447 script: {
413 var item = appRepeater.itemAt(Math.max(0, spreadItem.highlightedIndex));
448 var item = appRepeater.itemAt(Math.max(0, spreadItem.highlightedIndex));
414 if (item.stage == ApplicationInfoInterface.SideStage && !sideStage.shown) {
449 if (item.stage == ApplicationInfoInterface.SideStage && !sideStage.shown) {
415− print("showing sidestage")
416 sideStage.show();
450 sideStage.show();
419 item.playFocusAnimation();
452 item.playFocusAnimation();
420− print("playing focus animation for item", item.appId, "stage:", item.stage, "shown", sideStage.shown)
423 PropertyAction { target: spreadItem; property: "highlightedIndex"; value: -1 }
455 PropertyAction { target: spreadItem; property: "highlightedIndex"; value: -1 }