2 * Copyright (C) 2015-2016 Canonical, Ltd.
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; version 3.
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 import Ubuntu.Components 1.3
24 // Controls to be set from outside
25 property QtObject applicationManager
26 property QtObject topLevelSurfaceList
27 property bool altTabPressed
28 property url background
29 property bool beingResized
30 property int dragAreaWidth
31 property real dragProgress // How far left the stage has been dragged, used externally by tutorial code
32 property bool interactive
33 property real inverseProgress // This is the progress for left edge drags, in pixels.
34 property bool keepDashRunning: true
35 property real maximizedAppTopMargin
36 property real nativeHeight
37 property real nativeWidth
38 property QtObject orientations
39 property int shellOrientation
40 property int shellOrientationAngle
41 property bool spreadEnabled: true // If false, animations and right edge will be disabled
42 property bool suspended
43 // A Stage should paint a wallpaper etc over its full size but not use the margins for window placement
44 property int leftMargin: 0
45 property alias paintBackground: background.visible
47 // To be read from outside
48 property var mainApp: null
49 property int mainAppWindowOrientationAngle: 0
50 property bool orientationChangesEnabled
51 property int supportedOrientations: Qt.PortraitOrientation
52 | Qt.LandscapeOrientation
53 | Qt.InvertedPortraitOrientation
54 | Qt.InvertedLandscapeOrientation
56 signal stageAboutToBeUnloaded
57 signal itemSnapshotRequested(Item item)
59 // Shared code for use in stage implementations
61 id: lifecycleExceptions
62 schema.id: "com.canonical.qtmir"
65 function isExemptFromLifecycle(appId) {
66 var shortAppId = appId.split('_')[0];
67 for (var i = 0; i < lifecycleExceptions.lifecycleExemptAppids.length; i++) {
68 if (shortAppId === lifecycleExceptions.lifecycleExemptAppids[i]) {