on xenial help sign in
add a test for the panel menu bar vs. active call hint
2860b2aLukáš Tinkl
qml/Panel/Panel.qml+1
@@ -202,6 +202,7 @@ Item {
202
202
203 Loader {
203 Loader {
204 id: menuBarLoader
204 id: menuBarLoader
205+ objectName: "menuBarLoader"
205 height: parent.height
206 height: parent.height
206 enabled: d.enablePointerMenu
207 enabled: d.enablePointerMenu
207 opacity: d.showPointerMenu ? 1 : 0
208 opacity: d.showPointerMenu ? 1 : 0
tests/qmltests/tst_Shell.qml+34
@@ -2947,5 +2947,39 @@ Rectangle {
2947 mouseDoubleClickSequence(panel, panel.width/2, PanelState.panelHeight/2, Qt.LeftButton, Qt.NoModifier, 300);
2947 mouseDoubleClickSequence(panel, panel.width/2, PanelState.panelHeight/2, Qt.LeftButton, Qt.NoModifier, 300);
2948 tryCompare(appDelegate, "state", "restored");
2948 tryCompare(appDelegate, "state", "restored");
2949 }
2949 }
2950+
2951+ function test_noMenusWithActiveCall() {
2952+ loadShell("desktop");
2953+ shell.usageScenario = "desktop";
2954+ waitForRendering(shell);
2955+ swipeAwayGreeter();
2956+
2957+ // start dialer, maximize it
2958+ var appDelegate = startApplication("music-app")
2959+ verify(appDelegate);
2960+ appDelegate.requestMaximize();
2961+
2962+ // move the mouse over panel to reveal the menus
2963+ var panel = findChild(shell, "panel");
2964+ verify(panel);
2965+ mouseMove(panel, panel.width/2, panel.panelHeight/2, 200 /* delay */); // to reveal the menus
2966+ var menuBarLoader = findInvisibleChild(panel, "menuBarLoader");
2967+ verify(menuBarLoader);
2968+ tryCompare(menuBarLoader.item, "visible", true);
2969+
2970+ // place a phone call
2971+ callManager.foregroundCall = phoneCall;
2972+
2973+ // menu bar should be hidden
2974+ tryCompare(menuBarLoader, "active", false);
2975+ tryCompare(menuBarLoader, "item", null);
2976+
2977+ // remove call
2978+ callManager.foregroundCall = null;
2979+
2980+ // menu bar should be revealed
2981+ tryCompare(menuBarLoader, "active", true);
2982+ tryCompare(menuBarLoader.item, "visible", true);
2983+ }
2950 }
2984 }
2951}
2985}