on xenial help sign in
Make double click on the window decoration maximize

And fix test and add a new one (LP: #1657758) Approved by: Daniel d'Andrada, Unity8 CI Bot

commit76d1e6804d60d541ffcb88e43bc5c3851aaabafe authorAlbert Astals Cid <albert.astals@canonical.com> dateThu 16 Feb 2017, 13:43 (10 years ago) parent4347bb5a4e44ac
2 files changed+36−5
qml/ApplicationMenus/MenuBar.qml+1−1 tests/qmltests/Stage/tst_DesktopStage.qml+35−4
qml/ApplicationMenus/MenuBar.qml+1−1
@@ -217,7 +217,7 @@ Item {
217217 } // Row
218218
219219 MouseArea {
220− anchors.fill: parent
220+ anchors.fill: row
221221 hoverEnabled: d.currentItem
222222
223223 onEntered: {
tests/qmltests/Stage/tst_DesktopStage.qml+35−4
@@ -698,10 +698,18 @@ Item {
698698 var sizeBefore = Qt.size(dialerDelegate.width, dialerDelegate.height);
699699 var deco = findChild(dialerDelegate, "appWindowDecoration");
700700 verify(deco);
701− tryCompare(deco, "maximizeButtonShown", false);
702− mouseDoubleClick(deco);
703− var sizeAfter = Qt.size(dialerDelegate.width, dialerDelegate.height);
704− tryCompareFunction(function(){ return sizeBefore; }, sizeAfter);
701+ // deco.width - units.gu(1) to make sure we're outside the "menu" area of the decoration
702+ mouseMove(deco, deco.width - units.gu(1), deco.height/2);
703+ var menuBarLoader = findChild(deco, "menuBarLoader");
704+ tryCompare(menuBarLoader.item, "visible", true);
705+ mouseDoubleClick(deco, deco.width - units.gu(1), deco.height/2)
706+ expectFail("", "Double click should not maximize in a size restricted window");
707+ tryCompareFunction(function() {
708+ var sizeAfter = Qt.size(dialerDelegate.width, dialerDelegate.height);
709+ return sizeAfter.width > sizeBefore.width && sizeAfter.height > sizeBefore.height;
710+ },
711+ true
712+ );
705713
706714 // remove restrictions, the maximize button should again be visible
707715 dialerDelegate.surface.setMaximumWidth(0);
@@ -709,6 +717,29 @@ Item {
709717 tryCompare(dialerMaximizeButton, "visible", true);
710718 }
711719
720+ function test_doubleClickMaximizes() {
721+ var dialerDelegate = startApplication("dialer-app");
722+
723+ var dialerMaximizeButton = findChild(dialerDelegate, "maximizeWindowButton");
724+ tryCompare(dialerMaximizeButton, "visible", true);
725+
726+ // try double clicking the decoration, should maximize it
727+ var sizeBefore = Qt.size(dialerDelegate.width, dialerDelegate.height);
728+ var deco = findChild(dialerDelegate, "appWindowDecoration");
729+ verify(deco);
730+ // deco.width - units.gu(1) to make sure we're outside the "menu" area of the decoration
731+ mouseMove(deco, deco.width - units.gu(1), deco.height/2);
732+ var menuBarLoader = findChild(deco, "menuBarLoader");
733+ tryCompare(menuBarLoader.item, "visible", true);
734+ mouseDoubleClick(deco, deco.width - units.gu(1), deco.height/2);
735+ tryCompareFunction(function() {
736+ var sizeAfter = Qt.size(dialerDelegate.width, dialerDelegate.height);
737+ return sizeAfter.width > sizeBefore.width && sizeAfter.height > sizeBefore.height;
738+ },
739+ true
740+ );
741+ }
742+
712743 function test_canMoveWindowWithLeftMouseButtonOnly_data() {
713744 return [
714745 {tag: "left mouse button", button: Qt.LeftButton },