on xenial help sign in
add a test for the hoverMouseArea being properly disabled
7bf4f8eMichael Zanetti
qml/Stages/DesktopSpread.qml+2
@@ -286,10 +286,12 @@ FocusScope {
286
286
287 MouseArea {
287 MouseArea {
288 id: hoverMouseArea
288 id: hoverMouseArea
289+ objectName: "hoverMouseArea"
289 anchors.fill: spreadContainer
290 anchors.fill: spreadContainer
290 propagateComposedEvents: true
291 propagateComposedEvents: true
291 hoverEnabled: true
292 hoverEnabled: true
292 enabled: false
293 enabled: false
294+ visible: enabled
293
295
294 property int scrollAreaWidth: root.width / 3
296 property int scrollAreaWidth: root.width / 3
295 property bool progressiveScrollingEnabled: false
297 property bool progressiveScrollingEnabled: false
tests/qmltests/tst_Shell.qml+21
@@ -1651,5 +1651,26 @@ Rectangle {
1651
1651
1652 keyRelease(Qt.Key_Control);
1652 keyRelease(Qt.Key_Control);
1653 }
1653 }
1654+
1655+ // This makes sure the hoverMouseArea is set to invisible AND disabled
1656+ // when not needed. Otherwise it'll eat mouse hover events for the rest of the shell/apps
1657+ function test_hoverMouseAreaDisabledAndInvisible() {
1658+ loadDesktopShellWithApps()
1659+
1660+ var hoverMouseArea = findChild(shell, "hoverMouseArea");
1661+ tryCompare(hoverMouseArea, "enabled", false)
1662+ tryCompare(hoverMouseArea, "visible", false)
1663+
1664+ keyPress(Qt.Key_Control)
1665+ keyClick(Qt.Key_Tab);
1666+
1667+ tryCompare(hoverMouseArea, "enabled", true)
1668+ tryCompare(hoverMouseArea, "visible", true)
1669+
1670+ keyRelease(Qt.Key_Control)
1671+
1672+ tryCompare(hoverMouseArea, "enabled", false)
1673+ tryCompare(hoverMouseArea, "visible", false)
1674+ }
1654 }
1675 }
1655}
1676}