Lomiri
Loading...
Searching...
No Matches
ShellScreen.qml
1/*
2* Copyright (C) 2016 Canonical Ltd.
3*
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.
7*
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.
12*
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/>.
15*/
16
17import QtQuick 2.12
18import Lomiri.Components 1.3
19import WindowManager 1.0
20import Cursor 1.1
21import "Components"
22
23ScreenWindow {
24 id: screenWindow
25
26 color: "black"
27 title: "Lomiri Shell"
28
29 property int screenIndex: -1
30 readonly property bool primary: {
31 // If this is the only screen then it's the primary one
32 if (Screens.count === 1)
33 return true;
34
35 if (deviceConfiguration.category == "phone" && Screens.count > 1 && screenIndex === 1)
36 return true;
37
38 return (Screens.count > 1 && screenIndex === 0)
39 }
40
41 DeviceConfiguration {
42 id: deviceConfiguration
43 }
44
45 Loader {
46 id: loader
47 width: screenWindow.width
48 height: screenWindow.height
49
50 sourceComponent: {
51 if (deviceConfiguration.category == "phone" && Screens.count > 1 && screenIndex === 0) {
52 return disabledScreenComponent;
53 }
54 return shellComponent;
55 }
56 }
57
58 Component {
59 id: shellComponent
60 OrientedShell {
61 implicitWidth: screenWindow.width
62 implicitHeight: screenWindow.height
63 screen: screenWindow.screen
64 visible: true
65
66 deviceConfiguration {
67 overrideName: Screens.count > 1 ? "desktop" : false
68 }
69 }
70 }
71
72 Component {
73 id: disabledScreenComponent
74 DisabledScreenNotice {
75 screen: screenWindow.screen
76 oskEnabled: Screens.count > 1
77 }
78 }
79}