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
26 // Controls to be set from outside
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
46 // To be read from outside
47 property var mainApp: null
48 property var mainAppWindow: 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
58 // Shared code for use in stage implementations
60 id: lifecycleExceptions
61 schema.id: "com.canonical.qtmir"
64 function isExemptFromLifecycle(appId) {
65 var shortAppId = appId.split('_')[0];
66 for (var i = 0; i < lifecycleExceptions.lifecycleExemptAppids.length; i++) {
67 if (shortAppId === lifecycleExceptions.lifecycleExemptAppids[i]) {