Merge lp:~aacid/unity8/alt_tab_close_top_menu into lp:unity8
- alt_tab_close_top_menu
- Merge into trunk
Status: | Rejected | ||||
---|---|---|---|---|---|
Rejected by: | Albert Astals Cid | ||||
Proposed branch: | lp:~aacid/unity8/alt_tab_close_top_menu | ||||
Merge into: | lp:unity8 | ||||
Prerequisite: | lp:~lukas-kde/unity8/fix-window-title-vs-menu | ||||
Diff against target: |
74 lines (+53/-0) 2 files modified
qml/Shell.qml (+1/-0) tests/qmltests/tst_Shell.qml (+52/-0) |
||||
To merge this branch: | bzr merge lp:~aacid/unity8/alt_tab_close_top_menu | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Unity8 CI Bot | continuous-integration | Approve | |
Daniel d'Andrada (community) | Approve | ||
Review via email: mp+321699@code.launchpad.net |
This proposal supersedes a proposal from 2017-03-14.
Commit message
Fix focus on alt+tab if menubar was open
Includes test that checks the menubar is also closed on alt+tab (and checks focus doesn't get lost in the middle of nowhere later)
Description of the change
* Are there any related MPs required for this MP to build/function as expected?
No
* Did you perform an exploratory manual test run of your code change and any related functionality?
Yes
* If you changed the packaging (debian), did you subscribe the ubuntu-unity team to this MP?
N/A
* If you changed the UI, has there been a design review?
N/A
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal | # |
Daniel d'Andrada (dandrader) wrote : Posted in a previous version of this proposal | # |
"""
mouseClick(
"""
Just mouseClick(
Daniel d'Andrada (dandrader) wrote : Posted in a previous version of this proposal | # |
Still about the test:
- Can you click to show the menu instead of doing it programmatically?
- Shouldn't you check that the menu is no longer around while Alt is still pressed (and so the spread is still being shown)?
Daniel d'Andrada (dandrader) : Posted in a previous version of this proposal | # |
Albert Astals Cid (aacid) wrote : Posted in a previous version of this proposal | # |
> Still about the test:
> - Can you click to show the menu instead of doing it programmatically?
Yep, done
> - Shouldn't you check that the menu is no longer around while Alt is still
> pressed (and so the spread is still being shown)?
Makes sense, done.
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal | # |
FAILED: Continuous integration, rev:2870
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
UNSTABLE: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal | # |
PASSED: Continuous integration, rev:2870
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal | # |
PASSED: Continuous integration, rev:2871
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
Daniel d'Andrada (dandrader) wrote : Posted in a previous version of this proposal | # |
Thanks
* Did you perform an exploratory manual test run of the code change and any related functionality?
Yes
* Did CI run pass? If not, please explain why.
Yes
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal | # |
FAILED: Continuous integration, rev:2873
https:/
Executed test runs:
SUCCESS: https:/
UNSTABLE: https:/
UNSTABLE: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal | # |
FAILED: Continuous integration, rev:2876
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
FAILURE: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal | # |
FAILED: Continuous integration, rev:2876
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
FAILURE: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal | # |
PASSED: Continuous integration, rev:2876
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
Daniel d'Andrada (dandrader) wrote : | # |
reapproving
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2878
https:/
Executed test runs:
SUCCESS: https:/
UNSTABLE: https:/
UNSTABLE: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
- 2879. By Albert Astals Cid
-
mrege again
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2879
https:/
Executed test runs:
SUCCESS: https:/
UNSTABLE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2879
https:/
Executed test runs:
SUCCESS: https:/
UNSTABLE: https:/
UNSTABLE: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
PASSED: Continuous integration, rev:2879
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
Albert Astals Cid (aacid) wrote : | # |
we will be taking https:/
Unmerged revisions
- 2879. By Albert Astals Cid
-
mrege again
- 2878. By Albert Astals Cid
-
Adapt to code changes, now it's mostly a test
- 2877. By Albert Astals Cid
- 2876. By Albert Astals Cid
-
try to find a non conflicting place ^_^
- 2875. By Albert Astals Cid
-
Merge
- 2874. By Albert Astals Cid
-
Need to wait a bit
- 2873. By Albert Astals Cid
-
whitespace
- 2872. By Albert Astals Cid
-
Merge
- 2871. By Albert Astals Cid
-
Move the check for no popup to before releasing alt
- 2870. By Albert Astals Cid
-
Use the mouse to show the menu
Preview Diff
1 | === modified file 'qml/Shell.qml' |
2 | --- qml/Shell.qml 2017-03-24 14:04:50 +0000 |
3 | +++ qml/Shell.qml 2017-04-03 15:12:58 +0000 |
4 | @@ -328,6 +328,7 @@ |
5 | panel.indicators.hide(); |
6 | panel.applicationMenus.hide(); |
7 | } |
8 | + onAltTabPressedChanged: if (altTabPressed) focus = true; |
9 | } |
10 | |
11 | TouchGestureArea { |
12 | |
13 | === modified file 'tests/qmltests/tst_Shell.qml' |
14 | --- tests/qmltests/tst_Shell.qml 2017-03-24 11:08:11 +0000 |
15 | +++ tests/qmltests/tst_Shell.qml 2017-04-03 15:12:58 +0000 |
16 | @@ -3057,6 +3057,58 @@ |
17 | tryCompare(topLevelSurfaceList.applicationAt(0), "appId", "dialer-app"); |
18 | } |
19 | |
20 | + function test_maximizedWindowMenuThenAltTab_data() { |
21 | + return [ |
22 | + { tag: "show spread", showSpread: true }, |
23 | + { tag: "do not show spread", showSpread: false }, |
24 | + ]; |
25 | + } |
26 | + |
27 | + function test_maximizedWindowMenuThenAltTab(data) { |
28 | + loadShell("desktop"); |
29 | + shell.usageScenario = "desktop"; |
30 | + waitForRendering(shell); |
31 | + swipeAwayGreeter(); |
32 | + |
33 | + var appDelegate = startApplication("gmail-webapp"); |
34 | + var appDelegate2 = startApplication("dialer-app"); |
35 | + |
36 | + var maximizeButton = findChild(appDelegate2, "maximizeWindowButton"); |
37 | + mouseClick(maximizeButton); |
38 | + tryCompare(appDelegate2, "state", "maximized"); |
39 | + |
40 | + var panel = findChild(shell, "panel"); |
41 | + var panelMouse = findChild(panel, "windowControlArea"); |
42 | + mouseMove(panelMouse); |
43 | + var panelMenu = findChild(panel, "menuBar"); |
44 | + var menuBarLoader = findChild(panel, "menuBarLoader"); |
45 | + mouseMove(panelMenu); |
46 | + var panelMenuItem = findChild(panelMenu, "menuBar-item0"); |
47 | + tryCompare(panelMenuItem, "visible", true); |
48 | + Util.waitForBehaviors(shell); |
49 | + mouseClick(panelMenuItem); |
50 | + var panelMenuItemItem = findChild(panelMenu, "menuBar-item0-menu-item0-actionItem"); |
51 | + mouseMove(panelMenuItemItem, panelMenuItemItem.width/2, panelMenuItemItem.height/2); |
52 | + verify(panelMenuItemItem.activeFocus); |
53 | + verify(panelMenuItem.__popup); |
54 | + |
55 | + keyPress(Qt.Key_Alt); |
56 | + keyClick(Qt.Key_Tab); |
57 | + if (data.showSpread) { |
58 | + tryCompare(stage, "spreadShown", true); |
59 | + } |
60 | + tryCompareFunction(function() { return menuBarLoader.active === false; }, true); |
61 | + keyRelease(Qt.Key_Alt) |
62 | + |
63 | + tryCompare(appDelegate.surface, "activeFocus", true); |
64 | + |
65 | + keyPress(Qt.Key_Alt); |
66 | + keyClick(Qt.Key_Tab); |
67 | + keyRelease(Qt.Key_Alt) |
68 | + |
69 | + tryCompare(appDelegate2.surface, "activeFocus", true); |
70 | + } |
71 | + |
72 | function test_touchMenuPosition_data() { |
73 | return [ |
74 | { tag: "launcher locked", lockLauncher: true }, |
PASSED: Continuous integration, rev:2869 /unity8- jenkins. ubuntu. com/job/ lp-unity8- ci/3371/ /unity8- jenkins. ubuntu. com/job/ build/4443 /unity8- jenkins. ubuntu. com/job/ test-0- autopkgtest/ label=amd64, release= xenial+ overlay, testname= qmluitests. sh/2662 /unity8- jenkins. ubuntu. com/job/ test-0- autopkgtest/ label=amd64, release= zesty,testname= qmluitests. sh/2662 /unity8- jenkins. ubuntu. com/job/ build-0- fetch/4471 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= xenial+ overlay/ 4301 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= xenial+ overlay/ 4301/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= zesty/4301 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= zesty/4301/ artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= xenial+ overlay/ 4301 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= xenial+ overlay/ 4301/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= zesty/4301 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= zesty/4301/ artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= xenial+ overlay/ 4301 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= xenial+ overlay/ 4301/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= zesty/4301 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= zesty/4301/ artifact/ output/ *zip*/output. zip
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild: /unity8- jenkins. ubuntu. com/job/ lp-unity8- ci/3371/ rebuild
https:/