@@ -132,6 +132,24 @@ Item {
132 shell.activateApplication(app);
132 shell.activateApplication(app);
137+ property bool touchDetected: false;
139+ function hideCursor() {
140+ touchDetected = true;
141+ shell.cursorVisible = false;
144+ function revealCursor() {
145+ if (touchDetected) {
146+ touchDetected = false;
147+ Mir.cursorName = "";
148+ shell.cursorVisible = true;
135 Binding {
153 Binding {
136 target: LauncherModel
154 target: LauncherModel
137 property: "applicationManager"
155 property: "applicationManager"
@@ -147,6 +165,7 @@ Item {
149 LightDM{id: lightDM} // Provide backend access
167 LightDM{id: lightDM} // Provide backend access
150 VolumeControl {
169 VolumeControl {
151 id: volumeControl
170 id: volumeControl
152 indicators: panel.indicators
171 indicators: panel.indicators
@@ -178,6 +197,12 @@ Item {
179 HomeKeyWatcher {
198 HomeKeyWatcher {
180 onActivated: { launcher.fadeOut(); shell.showHome(); }
199 onActivated: { launcher.fadeOut(); shell.showHome(); }
200+ onWindowTouched: { cursorPriv.hideCursor(); }
202+ // store the last known touch position
@@ -663,6 +688,7 @@ Item {
663 id: cursor
688 id: cursor
664 visible: shell.hasMouse
689 visible: shell.hasMouse
665 z: screenGrabber.z + 1
690 z: screenGrabber.z + 1
691+ opacity: shell.cursorVisible ? 1 : 0
667 onPushedLeftBoundary: {
693 onPushedLeftBoundary: {
668 if (buttons === Qt.NoButton) {
694 if (buttons === Qt.NoButton) {
@@ -676,6 +702,10 @@ Item {
676 applicationsDisplayLoader.item.pushRightEdge(amount);
702 applicationsDisplayLoader.item.pushRightEdge(amount);
707+ cursorPriv.revealCursor();
681 Rectangle {
711 Rectangle {