Merge lp:~aacid/unity8/launcher_touch_menu_interaction into lp:unity8
- launcher_touch_menu_interaction
- Merge into trunk
Status: | Merged | ||||||||
---|---|---|---|---|---|---|---|---|---|
Approved by: | Lukáš Tinkl | ||||||||
Approved revision: | 2851 | ||||||||
Merged at revision: | 2888 | ||||||||
Proposed branch: | lp:~aacid/unity8/launcher_touch_menu_interaction | ||||||||
Merge into: | lp:unity8 | ||||||||
Prerequisite: | lp:~aacid/unity8/disabledMenus | ||||||||
Diff against target: |
395 lines (+140/-60) 7 files modified
qml/Panel/Panel.qml (+26/-2) qml/Panel/PanelBar.qml (+1/-2) qml/Panel/PanelItemRow.qml (+3/-23) qml/Panel/PanelMenu.qml (+35/-24) qml/Shell.qml (+9/-1) tests/qmltests/Panel/tst_Panel.qml (+10/-7) tests/qmltests/tst_Shell.qml (+56/-1) |
||||||||
To merge this branch: | bzr merge lp:~aacid/unity8/launcher_touch_menu_interaction | ||||||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Lukáš Tinkl (community) | Approve | ||
Unity8 CI Bot | continuous-integration | Approve | |
Michael Zanetti | Pending | ||
Review via email: mp+320078@code.launchpad.net |
This proposal supersedes a proposal from 2017-03-08.
Commit message
Improve Launcher ←→ touch menu interaction
Needs to move the label from PanelItemRow to Panel because how clipping works in those items (and fixes some other problems too)
If launcher is locked visible:
* Touch menus show shifted to the right to not overlap
* Showing the app drawer closes the touch menus
* Showing the touch menus closes the app drawer
If launcher is not locked visible:
* Showing the launcher closes the touch menus
* Showing the touch menus closes the launcher
Description of the change
Prereq-archive: ppa:ci-
* 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 | # |
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal | # |
PASSED: Continuous integration, rev:2841
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:/
Michael Zanetti (mzanetti) wrote : Posted in a previous version of this proposal | # |
2 small inline comments.
Wouldn't mind a test that runs once with launcher.
Michael Zanetti (mzanetti) wrote : Posted in a previous version of this proposal | # |
I've tested it, seems it's working fine.
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal | # |
PASSED: Continuous integration, rev:2842
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 | # |
FAILED: Continuous integration, rev:2844
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:/
Michael Zanetti (mzanetti) wrote : Posted in a previous version of this proposal | # |
looks like the new test fails in CI
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal | # |
FAILED: Continuous integration, rev:2844
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:2845
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:2845
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:2846
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:/
Lukáš Tinkl (lukas-kde) wrote : Posted in a previous version of this proposal | # |
Not entirely sure yet, but I think this branch breaks the panel window title for apps that don't have menus at all - like browser here: https:/
Notice the text being cut from both sides
Lukáš Tinkl (lukas-kde) wrote : Posted in a previous version of this proposal | # |
Wonder what's going on here, it seems that it happens only with the browser app? :/
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal | # |
FAILED: Continuous integration, rev:2847
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:/
Lukáš Tinkl (lukas-kde) wrote : Posted in a previous version of this proposal | # |
Tests have regressed a bit
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal | # |
FAILED: Continuous integration, rev:2848
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:/
Albert Astals Cid (aacid) wrote : Posted in a previous version of this proposal | # |
> Tests have regressed a bit
Should be fixed with r2849.
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal | # |
PASSED: Continuous integration, rev:2849
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 : | # |
FAILED: Continuous integration, rev:2850
https:/
Executed test runs:
FAILURE: https:/
SUCCESS: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
Click here to trigger a rebuild:
https:/
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2850
https:/
Executed test runs:
FAILURE: https:/
SUCCESS: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
Click here to trigger a rebuild:
https:/
Lukáš Tinkl (lukas-kde) wrote : | # |
* 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.
Waiting, triggered a new CI run
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2850
https:/
Executed test runs:
FAILURE: https:/
SUCCESS: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
Click here to trigger a rebuild:
https:/
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2850
https:/
Executed test runs:
FAILURE: https:/
SUCCESS: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
Click here to trigger a rebuild:
https:/
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2850
https:/
Executed test runs:
FAILURE: https:/
SUCCESS: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
Click here to trigger a rebuild:
https:/
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2850
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:/
- 2851. By Albert Astals Cid
-
Fix tests?
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
PASSED: Continuous integration, rev:2851
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:/
Lukáš Tinkl (lukas-kde) wrote : | # |
CI is green, top approving
Preview Diff
1 | === modified file 'qml/Panel/Panel.qml' |
2 | --- qml/Panel/Panel.qml 2017-03-17 13:44:53 +0000 |
3 | +++ qml/Panel/Panel.qml 2017-03-17 13:44:53 +0000 |
4 | @@ -38,6 +38,7 @@ |
5 | property real expandedPanelHeight: units.gu(7) |
6 | property real indicatorMenuWidth: width |
7 | property real applicationMenuWidth: width |
8 | + property alias applicationMenuContentX: __applicationMenus.menuContentX |
9 | |
10 | property alias applicationMenus: __applicationMenus |
11 | property alias indicators: __indicators |
12 | @@ -250,6 +251,7 @@ |
13 | PanelMenu { |
14 | id: __applicationMenus |
15 | |
16 | + x: menuContentX |
17 | model: registeredMenuModel.model |
18 | width: root.applicationMenuWidth |
19 | minimizedPanelHeight: root.minimizedPanelHeight |
20 | @@ -258,6 +260,7 @@ |
21 | alignment: Qt.AlignLeft |
22 | enableHint: !callHint.active && !fullscreenMode |
23 | showOnClick: false |
24 | + adjustDragHandleSizeToContents: false |
25 | panelColor: panelAreaBackground.color |
26 | |
27 | onShowTapped: { |
28 | @@ -266,8 +269,7 @@ |
29 | } |
30 | } |
31 | |
32 | - showRowTitle: !expanded |
33 | - rowTitle: PanelState.title |
34 | + hideRow: !expanded |
35 | rowItemDelegate: ActionItem { |
36 | id: actionItem |
37 | property int ownIndex: index |
38 | @@ -316,6 +318,28 @@ |
39 | } |
40 | } |
41 | |
42 | + Label { |
43 | + id: rowLabel |
44 | + objectName: "panelTitle" |
45 | + anchors { |
46 | + left: parent.left |
47 | + leftMargin: units.gu(1) |
48 | + right: __indicators.left |
49 | + rightMargin: units.gu(1) |
50 | + } |
51 | + height: root.minimizedPanelHeight |
52 | + verticalAlignment: Text.AlignVCenter |
53 | + elide: Text.ElideRight |
54 | + maximumLineCount: 1 |
55 | + fontSize: "medium" |
56 | + font.weight: Font.Medium |
57 | + color: Theme.palette.selected.backgroundText |
58 | + opacity: __applicationMenus.visible && !__applicationMenus.expanded ? 1 : 0 |
59 | + visible: opacity != 0 |
60 | + Behavior on opacity { NumberAnimation { duration: UbuntuAnimation.SnapDuration } } |
61 | + text: PanelState.title |
62 | + } |
63 | + |
64 | PanelMenu { |
65 | id: __indicators |
66 | objectName: "indicators" |
67 | |
68 | === modified file 'qml/Panel/PanelBar.qml' |
69 | --- qml/Panel/PanelBar.qml 2017-03-17 13:44:53 +0000 |
70 | +++ qml/Panel/PanelBar.qml 2017-03-17 13:44:53 +0000 |
71 | @@ -30,8 +30,7 @@ |
72 | property real lateralPosition: -1 |
73 | property int alignment: Qt.AlignRight |
74 | |
75 | - property alias showRowTitle: row.showRowTitle |
76 | - property alias rowTitle: row.rowTitle |
77 | + property alias hideRow: row.hideRow |
78 | property alias rowItemDelegate: row.delegate |
79 | |
80 | implicitWidth: flickable.contentWidth |
81 | |
82 | === modified file 'qml/Panel/PanelItemRow.qml' |
83 | --- qml/Panel/PanelItemRow.qml 2017-03-17 13:44:53 +0000 |
84 | +++ qml/Panel/PanelItemRow.qml 2017-03-17 13:44:53 +0000 |
85 | @@ -20,11 +20,10 @@ |
86 | |
87 | Item { |
88 | id: root |
89 | - implicitWidth: showRowTitle && !expanded ? rowTitle != "" ? rowLabel.width : 0 : row.width |
90 | + implicitWidth: row.width |
91 | implicitHeight: units.gu(3) |
92 | |
93 | - property bool showRowTitle: false |
94 | - property alias rowTitle: rowLabel.text |
95 | + property bool hideRow: false |
96 | property QtObject model: null |
97 | property real overFlowWidth: width |
98 | property bool expanded: false |
99 | @@ -164,31 +163,12 @@ |
100 | d.previousItem = currentItem; |
101 | } |
102 | |
103 | - Label { |
104 | - id: rowLabel |
105 | - objectName: "panelTitle" |
106 | - anchors { |
107 | - left: parent.left |
108 | - leftMargin: units.gu(1) |
109 | - verticalCenter: parent.verticalCenter |
110 | - } |
111 | - width: implicitWidth + units.gu(2) |
112 | - elide: Text.ElideRight |
113 | - maximumLineCount: 1 |
114 | - fontSize: "medium" |
115 | - font.weight: Font.Medium |
116 | - color: Theme.palette.selected.backgroundText |
117 | - opacity: showRowTitle ? 1 : 0 |
118 | - visible: opacity != 0 |
119 | - Behavior on opacity { NumberAnimation { duration: UbuntuAnimation.SnapDuration } } |
120 | - } |
121 | - |
122 | ListView { |
123 | id: row |
124 | objectName: "panelRow" |
125 | orientation: ListView.Horizontal |
126 | model: root.model |
127 | - opacity: showRowTitle ? 0 : 1 |
128 | + opacity: hideRow ? 0 : 1 |
129 | // dont set visible on basis of opacity; otherwise width will not be calculated correctly |
130 | anchors { |
131 | top: parent.top |
132 | |
133 | === modified file 'qml/Panel/PanelMenu.qml' |
134 | --- qml/Panel/PanelMenu.qml 2017-03-17 13:44:53 +0000 |
135 | +++ qml/Panel/PanelMenu.qml 2017-03-17 13:44:53 +0000 |
136 | @@ -32,11 +32,12 @@ |
137 | property real openedHeight: units.gu(71) |
138 | property bool enableHint: true |
139 | property bool showOnClick: true |
140 | + property bool adjustDragHandleSizeToContents: true |
141 | property color panelColor: theme.palette.normal.background |
142 | + property real menuContentX: 0 |
143 | |
144 | property alias alignment: bar.alignment |
145 | - property alias rowTitle: bar.rowTitle |
146 | - property alias showRowTitle: bar.showRowTitle |
147 | + property alias hideRow: bar.hideRow |
148 | property alias rowItemDelegate: bar.rowItemDelegate |
149 | property alias pageDelegate: content.pageDelegate |
150 | |
151 | @@ -45,7 +46,7 @@ |
152 | readonly property bool partiallyOpened: unitProgress > 0 && unitProgress < 1.0 |
153 | readonly property bool fullyClosed: unitProgress == 0 |
154 | readonly property alias expanded: bar.expanded |
155 | - readonly property int barWidth: Math.min(bar.width, bar.implicitWidth) |
156 | + readonly property int barWidth: adjustDragHandleSizeToContents ? Math.min(bar.width, bar.implicitWidth) : bar.width |
157 | readonly property alias currentMenuIndex: bar.currentItemIndex |
158 | |
159 | signal showTapped() |
160 | @@ -78,33 +79,42 @@ |
161 | |
162 | shown: false |
163 | height: minimizedPanelHeight |
164 | - clip: root.partiallyOpened |
165 | |
166 | onUnitProgressChanged: d.updateState() |
167 | |
168 | - // eater |
169 | - MouseArea { |
170 | - anchors.fill: content |
171 | - hoverEnabled: true |
172 | - acceptedButtons: Qt.AllButtons |
173 | - onWheel: wheel.accepted = true; |
174 | - enabled: root.state != "initial" |
175 | - visible: content.visible |
176 | - } |
177 | - |
178 | - MenuContent { |
179 | - id: content |
180 | - objectName: "menuContent" |
181 | - |
182 | + Item { |
183 | anchors { |
184 | left: parent.left |
185 | right: parent.right |
186 | top: bar.bottom |
187 | - } |
188 | - height: openedHeight - bar.height - handle.height |
189 | - model: root.model |
190 | - visible: root.unitProgress > 0 |
191 | - currentMenuIndex: bar.currentItemIndex |
192 | + bottom: parent.bottom |
193 | + } |
194 | + clip: root.partiallyOpened |
195 | + |
196 | + // eater |
197 | + MouseArea { |
198 | + anchors.fill: content |
199 | + hoverEnabled: true |
200 | + acceptedButtons: Qt.AllButtons |
201 | + onWheel: wheel.accepted = true; |
202 | + enabled: root.state != "initial" |
203 | + visible: content.visible |
204 | + } |
205 | + |
206 | + MenuContent { |
207 | + id: content |
208 | + objectName: "menuContent" |
209 | + |
210 | + anchors { |
211 | + left: parent.left |
212 | + right: parent.right |
213 | + top: parent.top |
214 | + } |
215 | + height: openedHeight - bar.height - handle.height |
216 | + model: root.model |
217 | + visible: root.unitProgress > 0 |
218 | + currentMenuIndex: bar.currentItemIndex |
219 | + } |
220 | } |
221 | |
222 | Handle { |
223 | @@ -218,8 +228,9 @@ |
224 | objectName: "showDragHandle" |
225 | anchors.bottom: parent.bottom |
226 | anchors.left: alignment == Qt.AlignLeft ? parent.left : undefined |
227 | + anchors.leftMargin: -root.menuContentX |
228 | anchors.right: alignment == Qt.AlignRight ? parent.right : undefined |
229 | - width: root.barWidth // show handle should only cover panel items. |
230 | + width: root.barWidth + root.menuContentX // show handle should only cover panel items. |
231 | height: minimizedPanelHeight |
232 | direction: Direction.Downwards |
233 | enabled: !root.shown && root.available |
234 | |
235 | === modified file 'qml/Shell.qml' |
236 | --- qml/Shell.qml 2017-02-21 16:21:34 +0000 |
237 | +++ qml/Shell.qml 2017-03-17 13:44:53 +0000 |
238 | @@ -500,6 +500,7 @@ |
239 | expandedPanelHeight: units.gu(7) |
240 | indicatorMenuWidth: parent.width > units.gu(60) ? units.gu(40) : parent.width |
241 | applicationMenuWidth: parent.width > units.gu(60) ? units.gu(40) : parent.width |
242 | + applicationMenuContentX: launcher.lockedVisible ? launcher.panelWidth : 0 |
243 | |
244 | indicators { |
245 | hides: [launcher] |
246 | @@ -567,7 +568,14 @@ |
247 | } |
248 | onShownChanged: { |
249 | if (shown) { |
250 | - panel.indicators.hide() |
251 | + panel.indicators.hide(); |
252 | + panel.applicationMenus.hide(); |
253 | + } |
254 | + } |
255 | + onDrawerShownChanged: { |
256 | + if (drawerShown) { |
257 | + panel.indicators.hide(); |
258 | + panel.applicationMenus.hide(); |
259 | } |
260 | } |
261 | onFocusChanged: { |
262 | |
263 | === modified file 'tests/qmltests/Panel/tst_Panel.qml' |
264 | --- tests/qmltests/Panel/tst_Panel.qml 2017-03-17 13:44:53 +0000 |
265 | +++ tests/qmltests/Panel/tst_Panel.qml 2017-03-17 13:44:53 +0000 |
266 | @@ -320,12 +320,15 @@ |
267 | tryCompare(panel.indicators, "fullyOpened", true); |
268 | } |
269 | |
270 | - function pullDownApplicationsMenu() { |
271 | + function pullDownApplicationsMenu(xPos) { |
272 | var showDragHandle = findChild(panel.applicationMenus, "showDragHandle"); |
273 | + if (xPos === undefined) { |
274 | + xPos = showDragHandle.width / 2; |
275 | + } |
276 | touchFlick(showDragHandle, |
277 | - showDragHandle.width / 2, |
278 | + xPos, |
279 | showDragHandle.height / 2, |
280 | - showDragHandle.width / 2, |
281 | + xPos, |
282 | showDragHandle.height / 2 + (showDragHandle.autoCompleteDragThreshold * 1.1)); |
283 | tryCompare(panel.applicationMenus, "fullyOpened", true); |
284 | } |
285 | @@ -774,7 +777,7 @@ |
286 | panel.mode = "staged"; |
287 | mouseEmulation.checked = false; |
288 | |
289 | - var appTitle = findChild(panel.applicationMenus, "panelTitle"); verify(appTitle); |
290 | + var appTitle = findChild(panel, "panelTitle"); verify(appTitle); |
291 | var appMenuRow = findChild(panel.applicationMenus, "panelRow"); verify(appMenuRow); |
292 | var appMenuBar = findChild(panel, "menuBar"); verify(appMenuBar); |
293 | |
294 | @@ -792,7 +795,7 @@ |
295 | panel.mode = "windowed"; |
296 | mouseEmulation.checked = false; |
297 | |
298 | - var appTitle = findChild(panel.applicationMenus, "panelTitle"); verify(appTitle); |
299 | + var appTitle = findChild(panel, "panelTitle"); verify(appTitle); |
300 | var appMenuRow = findChild(panel.applicationMenus, "panelRow"); verify(appMenuRow); |
301 | var appMenuBar = findChild(panel, "menuBar"); verify(appMenuBar); |
302 | |
303 | @@ -853,7 +856,7 @@ |
304 | var indicatorsBar = findChild(panel.applicationMenus, "indicatorsBar"); |
305 | |
306 | PanelState.title = "Fake Title" |
307 | - pullDownApplicationsMenu(); |
308 | + pullDownApplicationsMenu(0 /*xPos*/); |
309 | compare(aboutToShowCalledSpy.count, 1); |
310 | |
311 | keyClick(Qt.Key_Right); |
312 | @@ -886,7 +889,7 @@ |
313 | var indicatorsBar = findChild(panel.applicationMenus, "indicatorsBar"); |
314 | |
315 | PanelState.title = "Fake Title" |
316 | - pullDownApplicationsMenu(); |
317 | + pullDownApplicationsMenu(0 /*xPos*/); |
318 | |
319 | tryCompare(indicatorsBar, "currentItemIndex", 0); |
320 | |
321 | |
322 | === modified file 'tests/qmltests/tst_Shell.qml' |
323 | --- tests/qmltests/tst_Shell.qml 2017-03-08 09:54:00 +0000 |
324 | +++ tests/qmltests/tst_Shell.qml 2017-03-17 13:44:53 +0000 |
325 | @@ -2848,7 +2848,7 @@ |
326 | loadShell(data.tag); |
327 | |
328 | var panel = findChild(shell, "panel"); verify(panel); |
329 | - var panelTitle = findChild(panel.applicationMenus, "panelTitle"); verify(panelTitle); |
330 | + var panelTitle = findChild(panel, "panelTitle"); verify(panelTitle); |
331 | compare(panelTitle.visible, false, "Panel title should not be visible when greeter is shown"); |
332 | |
333 | swipeAwayGreeter(); |
334 | @@ -2941,6 +2941,61 @@ |
335 | tryCompare(topLevelSurfaceList.applicationAt(0), "appId", "dialer-app"); |
336 | } |
337 | |
338 | + function test_touchMenuPosition_data() { |
339 | + return [ |
340 | + { tag: "launcher locked", lockLauncher: true }, |
341 | + { tag: "launcher not locked", lockLauncher: false } |
342 | + ]; |
343 | + } |
344 | + |
345 | + function test_touchMenuPosition(data) { |
346 | + loadShell("desktop"); |
347 | + shell.usageScenario = "desktop"; |
348 | + waitForRendering(shell); |
349 | + swipeAwayGreeter(); |
350 | + |
351 | + var panel = findChild(shell, "panel"); |
352 | + var launcher = testCase.findChild(shell, "launcher"); |
353 | + launcher.lockedVisible = data.lockLauncher; |
354 | + if (data.lockLauncher) { |
355 | + compare(panel.applicationMenus.x, launcher.panelWidth); |
356 | + } else { |
357 | + compare(panel.applicationMenus.x, 0); |
358 | + } |
359 | + } |
360 | + |
361 | + function test_touchMenuHidesOnLauncherAppDrawer_data() { |
362 | + return [ |
363 | + { tag: "launcher locked", lockLauncher: true }, |
364 | + { tag: "launcher not locked", lockLauncher: false } |
365 | + ]; |
366 | + } |
367 | + |
368 | + function test_touchMenuHidesOnLauncherAppDrawer(data) { |
369 | + loadShell("desktop"); |
370 | + shell.usageScenario = "desktop"; |
371 | + waitForRendering(shell); |
372 | + swipeAwayGreeter(); |
373 | + |
374 | + var panel = findChild(shell, "panel"); |
375 | + var launcher = testCase.findChild(shell, "launcher"); |
376 | + launcher.lockedVisible = data.lockLauncher; |
377 | + |
378 | + waitForRendering(panel.applicationMenus); |
379 | + |
380 | + if (data.lockLauncher) { |
381 | + panel.applicationMenus.show(); |
382 | + tryCompare(panel.applicationMenus, "fullyOpened", true); |
383 | + launcher.openDrawer(); |
384 | + } else { |
385 | + tryCompare(launcher, "shown", false); |
386 | + panel.applicationMenus.show(); |
387 | + tryCompare(panel.applicationMenus, "fullyOpened", true); |
388 | + launcher.switchToNextState("visible"); |
389 | + } |
390 | + tryCompare(panel.applicationMenus, "fullyClosed", true); |
391 | + } |
392 | + |
393 | function test_doubleClickPanelRestoresWindow() { |
394 | loadShell("desktop"); |
395 | shell.usageScenario = "desktop"; |
FAILED: Continuous integration, rev:2840 /unity8- jenkins. ubuntu. com/job/ lp-unity8- ci/3312/ /unity8- jenkins. ubuntu. com/job/ build/4360 /unity8- jenkins. ubuntu. com/job/ test-0- autopkgtest/ label=amd64, release= xenial+ overlay, testname= qmluitests. sh/2606 /unity8- jenkins. ubuntu. com/job/ test-0- autopkgtest/ label=amd64, release= zesty,testname= qmluitests. sh/2606 /unity8- jenkins. ubuntu. com/job/ build-0- fetch/4388 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= xenial+ overlay/ 4221 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= xenial+ overlay/ 4221/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= zesty/4221 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= zesty/4221/ artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= xenial+ overlay/ 4221 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= xenial+ overlay/ 4221/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= zesty/4221 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= zesty/4221/ artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= xenial+ overlay/ 4221 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= xenial+ overlay/ 4221/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= zesty/4221 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= zesty/4221/ artifact/ output/ *zip*/output. zip
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: /unity8- jenkins. ubuntu. com/job/ lp-unity8- ci/3312/ rebuild
https:/