diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2016-07-21 13:36:47 +0200 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2016-07-22 12:14:32 +0000 |
commit | 79cb8dcfcd9c1491cd0fa0699a0918e29183f6c7 (patch) | |
tree | 02248ad6d37c3dec52b611f56bfe4a042e4c3c86 /tests/auto/controls/data/tst_popup.qml | |
parent | 8231b5b0eb4afa385392fbe0259f9fecdb459907 (diff) |
Popups: fix overlay visibility
Make sure popup overlay dimmers gets destroyed when popups are closed,
and thus, re-parented out of the window overlay. The window overlay
item is hidden when there are no child items, so this fixes the issue
that the window overlay item was left visible after closing popups.
Change-Id: Id2ffe43b706ffcc5cda83abd75354ef04f893745
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Diffstat (limited to 'tests/auto/controls/data/tst_popup.qml')
-rw-r--r-- | tests/auto/controls/data/tst_popup.qml | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/tests/auto/controls/data/tst_popup.qml b/tests/auto/controls/data/tst_popup.qml index 50933c20..ecdd1bf2 100644 --- a/tests/auto/controls/data/tst_popup.qml +++ b/tests/auto/controls/data/tst_popup.qml @@ -1033,7 +1033,9 @@ TestCase { window.requestActivate() tryCompare(window, "active", true) - compare(window.overlay.children.length, 6) // 3 drawers + 3 overlays + + var countBefore = window.overlay.children.length + compare(countBefore, 6) // 3 drawers + 3 overlays var firstOverlay = findOverlay(window, window.firstDrawer) verify(firstOverlay) @@ -1087,6 +1089,7 @@ TestCase { compare(modalOverlay.z, window.modalPopup.z) compare(window.modalPopup.visible, true) tryCompare(modalOverlay, "opacity", 1.0) + compare(window.overlay.children.length, countBefore + 2) // 1 popup + 1 overlay var modelessOverlay = findOverlay(window, window.modelessPopup) verify(!modelessOverlay) @@ -1096,23 +1099,23 @@ TestCase { compare(modelessOverlay.z, window.modelessPopup.z) compare(window.modelessPopup.visible, true) tryCompare(modelessOverlay, "opacity", 1.0) + compare(window.overlay.children.length, countBefore + 4) // 2 popups + 2 overlays window.modelessPopup.close() - tryCompare(modelessOverlay, "opacity", 0.0) tryCompare(window.modelessPopup, "visible", false) modelessOverlay = findOverlay(window, window.modelessPopup) verify(!modelessOverlay) + compare(window.overlay.children.length, countBefore + 2) // 1 popup + 1 overlay compare(window.modalPopup.visible, true) compare(modalOverlay.opacity, 1.0) window.modalPopup.close() - tryCompare(modalOverlay, "opacity", 0.0) tryCompare(window.modalPopup, "visible", false) modalOverlay = findOverlay(window, window.modalPopup) verify(!modalOverlay) + compare(window.overlay.children.length, countBefore) - var countBefore = window.overlay.children.length window.plainPopup.open() tryCompare(window.plainPopup, "visible", true) compare(window.overlay.children.length, countBefore + 1) // only popup added, no overlays involved |