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.15
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" || deviceConfiguration.category == "tablet")
36 && Screens.count > 1 && screenIndex === 1)
37 return true;
38
39 return (Screens.count > 1 && screenIndex === 0)
40 }
41
42 DeviceConfiguration {
43 id: deviceConfiguration
44 }
45
46 Loader {
47 id: loader
48 width: screenWindow.width
49 height: screenWindow.height
50
51 sourceComponent: {
52 if ((deviceConfiguration.category == "phone" || deviceConfiguration.category == "tablet")
53 && Screens.count > 1 && screenIndex === 0) {
54 return disabledScreenComponent;
55 }
56 return shellComponent;
57 }
58 }
59
60 Component {
61 id: shellComponent
62 OrientedShell {
63 implicitWidth: screenWindow.width
64 implicitHeight: screenWindow.height
65 screen: screenWindow.screen
66 visible: true
67
68 deviceConfiguration {
69 overrideName: Screens.count > 1 ? "desktop" : false
70 }
71 }
72 }
73
74 Component {
75 id: disabledScreenComponent
76 DisabledScreenNotice {
77 screen: screenWindow.screen
78 oskEnabled: Screens.count > 1
79 }
80 }
81}