@@ -24,10 +24,13 @@ import Unity.Platform 1.0
24import Utils 0.1
24import Utils 0.1
25import "../Greeter"
25import "../Greeter"
29+ acceptedButtons: Qt.AllButtons
31+ onWheel: wheel.accepted = true
30− readonly property alias hasActiveDialog: dialogLoader.active
33+ readonly property bool hasActiveDialog: dialogLoader.active || d.modeSwitchWarningPopup
32 // to be set from outside, useful mostly for testing purposes
35 // to be set from outside, useful mostly for testing purposes
33 property var unitySessionService: DBusUnitySessionService
36 property var unitySessionService: DBusUnitySessionService
@@ -42,6 +45,7 @@ Item {
43 property string usageScenario
46 property string usageScenario
44 property size screenSize: Qt.size(Screen.width, Screen.height)
47 property size screenSize: Qt.size(Screen.width, Screen.height)
48+ property bool hasKeyboard: false
46 signal powerOffClicked();
50 signal powerOffClicked();
@@ -120,6 +124,11 @@ Item {
120 onTriggered: LightDMService.greeter.showGreeter()
124 onTriggered: LightDMService.greeter.showGreeter()
127+ GlobalShortcut { // lock screen
128+ shortcut: Qt.MetaModifier|Qt.Key_L
129+ onTriggered: LightDMService.greeter.showGreeter()
123 QtObject {
132 QtObject {
124 id: d // private stuff
133 id: d // private stuff
125 objectName: "dialogsPrivate"
134 objectName: "dialogsPrivate"
@@ -155,6 +164,7 @@ Item {
155 LightDMService.greeter.showGreeter()
164 LightDMService.greeter.showGreeter()
156 logoutDialog.hide();
165 logoutDialog.hide();
167+ Component.onCompleted: if (root.hasKeyboard) forceActiveFocus(Qt.TabFocusReason)
160 width: parent.width
170 width: parent.width
@@ -198,6 +208,7 @@ Item {
198 rebootDialog.hide();
208 rebootDialog.hide();
200 color: theme.palette.normal.negative
210 color: theme.palette.normal.negative
211+ Component.onCompleted: if (root.hasKeyboard) forceActiveFocus(Qt.TabFocusReason)
@@ -218,6 +229,7 @@ Item {
218 root.powerOffClicked();
229 root.powerOffClicked();
220 color: theme.palette.normal.negative
231 color: theme.palette.normal.negative
232+ Component.onCompleted: if (root.hasKeyboard) forceActiveFocus(Qt.TabFocusReason)
223 width: parent.width
235 width: parent.width