on xenial help sign in
Don't take screenshots while screen is off.
d143f1fAlberto Aguirre
qml/Components/ScreenGrabber.qml+11−1
@@ -29,6 +29,7 @@ Rectangle {
29 id: keyState
29 id: keyState
30 property bool volumeUp: false
30 property bool volumeUp: false
31 property bool volumeDown: false
31 property bool volumeDown: false
32+ property bool ignoreKeyPresses: false
32 }
33 }
33
34
34 ScreenGrabber {
35 ScreenGrabber {
@@ -36,11 +37,20 @@ Rectangle {
36 objectName: "screenGrabber"
37 objectName: "screenGrabber"
37 }
38 }
38
39
40+ function enable(flag)
41+ {
42+ keyState.ignoreKeyPresses = !flag;
43+ }
44+
39 function onKeyPressed(key) {
45 function onKeyPressed(key) {
46+ if (keyState.ignoreKeyPresses)
47+ return;
48+
40 if (key == Qt.Key_VolumeUp)
49 if (key == Qt.Key_VolumeUp)
41 keyState.volumeUp = true;
50 keyState.volumeUp = true;
42 else if (key == Qt.Key_VolumeDown)
51 else if (key == Qt.Key_VolumeDown)
43 keyState.volumeDown = true;
52 keyState.volumeDown = true;
53+
44 if (keyState.volumeDown && keyState.volumeUp) {
54 if (keyState.volumeDown && keyState.volumeUp) {
45 enabled = true;
55 enabled = true;
46 visible = true;
56 visible = true;
@@ -49,7 +59,7 @@ Rectangle {
49 }
59 }
50
60
51 function onKeyReleased(key) {
61 function onKeyReleased(key) {
52− if (key == Qt.Key_VolumeUp)
62+ if (key == Qt.Key_VolumeUp)
53 keyState.volumeUp = false;
63 keyState.volumeUp = false;
54 else if (key == Qt.Key_VolumeDown)
64 else if (key == Qt.Key_VolumeDown)
55 keyState.volumeDown = false;
65 keyState.volumeDown = false;
qml/Shell.qml+2−1
@@ -127,7 +127,7 @@ Item {
127 id: dash
127 id: dash
128 objectName: "dashCommunicator"
128 objectName: "dashCommunicator"
129 }
129 }
130−
130+
131 ScreenGrabber {
131 ScreenGrabber {
132 id: screenGrabber
132 id: screenGrabber
133 z: edgeDemo.z + 10
133 z: edgeDemo.z + 10
@@ -496,6 +496,7 @@ Item {
496 target: Powerd
496 target: Powerd
497
497
498 onStatusChanged: {
498 onStatusChanged: {
499+ screenGrabber.enable(Powerd.status === Powerd.On)
499 if (Powerd.status === Powerd.Off && !callManager.hasCalls && !edgeDemo.running) {
500 if (Powerd.status === Powerd.Off && !callManager.hasCalls && !edgeDemo.running) {
500 greeter.showNow()
501 greeter.showNow()
501 }
502 }