Merge lp:~aacid/unity8/launcher_touch_menu_interaction into lp:unity8
- launcher_touch_menu_interaction
- Merge into trunk
Status: | Superseded | ||||||||
---|---|---|---|---|---|---|---|---|---|
Proposed branch: | lp:~aacid/unity8/launcher_touch_menu_interaction | ||||||||
Merge into: | lp:unity8 | ||||||||
Diff against target: |
358 lines (+132/-55) 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 (+2/-2) 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 |
---|---|---|---|
Unity8 CI Bot | continuous-integration | Approve | |
Lukáš Tinkl (community) | Needs Fixing | ||
Michael Zanetti (community) | Needs Fixing | ||
Review via email: mp+319331@code.launchpad.net |
This proposal has been superseded by a proposal from 2017-03-16.
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
* 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 : | # |
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
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 : | # |
2 small inline comments.
Wouldn't mind a test that runs once with launcher.
Michael Zanetti (mzanetti) wrote : | # |
I've tested it, seems it's working fine.
- 2842. By Albert Astals Cid
-
Review tweaks
- 2843. By Albert Astals Cid
-
Test for touch menu position
- 2844. By Albert Astals Cid
-
Test for launcher/appdrawer hiding the touch menus
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
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 : | # |
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 : | # |
looks like the new test fails in CI
- 2845. By Albert Astals Cid
-
waitForRenderint to stabilize test
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
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 : | # |
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 : | # |
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:/
- 2846. By Albert Astals Cid
-
Merge
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
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 : | # |
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 : | # |
Wonder what's going on here, it seems that it happens only with the browser app? :/
- 2847. By Albert Astals Cid
-
Move the Panel "title" from PanelItemRow to Panel
- 2848. By Albert Astals Cid
-
Adapt tests
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
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 : | # |
Tests have regressed a bit
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
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:/
- 2849. By Albert Astals Cid
-
panelTitle changed parents
Albert Astals Cid (aacid) wrote : | # |
> Tests have regressed a bit
Should be fixed with r2849.
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
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:/
- 2850. By Albert Astals Cid
- 2851. By Albert Astals Cid
-
Fix tests?
Unmerged revisions
Preview Diff
1 | === modified file 'qml/Panel/Panel.qml' | |||
2 | --- qml/Panel/Panel.qml 2017-03-08 09:53:35 +0000 | |||
3 | +++ qml/Panel/Panel.qml 2017-03-16 09:08:32 +0000 | |||
4 | @@ -38,6 +38,7 @@ | |||
5 | 38 | property real expandedPanelHeight: units.gu(7) | 38 | property real expandedPanelHeight: units.gu(7) |
6 | 39 | property real indicatorMenuWidth: width | 39 | property real indicatorMenuWidth: width |
7 | 40 | property real applicationMenuWidth: width | 40 | property real applicationMenuWidth: width |
8 | 41 | property alias applicationMenuContentX: __applicationMenus.menuContentX | ||
9 | 41 | 42 | ||
10 | 42 | property alias applicationMenus: __applicationMenus | 43 | property alias applicationMenus: __applicationMenus |
11 | 43 | property alias indicators: __indicators | 44 | property alias indicators: __indicators |
12 | @@ -250,6 +251,7 @@ | |||
13 | 250 | PanelMenu { | 251 | PanelMenu { |
14 | 251 | id: __applicationMenus | 252 | id: __applicationMenus |
15 | 252 | 253 | ||
16 | 254 | x: menuContentX | ||
17 | 253 | model: registeredMenuModel.model | 255 | model: registeredMenuModel.model |
18 | 254 | width: root.applicationMenuWidth | 256 | width: root.applicationMenuWidth |
19 | 255 | minimizedPanelHeight: root.minimizedPanelHeight | 257 | minimizedPanelHeight: root.minimizedPanelHeight |
20 | @@ -258,6 +260,7 @@ | |||
21 | 258 | alignment: Qt.AlignLeft | 260 | alignment: Qt.AlignLeft |
22 | 259 | enableHint: !callHint.active && !fullscreenMode | 261 | enableHint: !callHint.active && !fullscreenMode |
23 | 260 | showOnClick: false | 262 | showOnClick: false |
24 | 263 | adjustDragHandleSizeToContents: false | ||
25 | 261 | panelColor: panelAreaBackground.color | 264 | panelColor: panelAreaBackground.color |
26 | 262 | 265 | ||
27 | 263 | onShowTapped: { | 266 | onShowTapped: { |
28 | @@ -266,8 +269,7 @@ | |||
29 | 266 | } | 269 | } |
30 | 267 | } | 270 | } |
31 | 268 | 271 | ||
34 | 269 | showRowTitle: !expanded | 272 | hideRow: !expanded |
33 | 270 | rowTitle: PanelState.title | ||
35 | 271 | rowItemDelegate: ActionItem { | 273 | rowItemDelegate: ActionItem { |
36 | 272 | id: actionItem | 274 | id: actionItem |
37 | 273 | property int ownIndex: index | 275 | property int ownIndex: index |
38 | @@ -308,6 +310,28 @@ | |||
39 | 308 | } | 310 | } |
40 | 309 | } | 311 | } |
41 | 310 | 312 | ||
42 | 313 | Label { | ||
43 | 314 | id: rowLabel | ||
44 | 315 | objectName: "panelTitle" | ||
45 | 316 | anchors { | ||
46 | 317 | left: parent.left | ||
47 | 318 | leftMargin: units.gu(1) | ||
48 | 319 | right: __indicators.left | ||
49 | 320 | rightMargin: units.gu(1) | ||
50 | 321 | } | ||
51 | 322 | height: root.minimizedPanelHeight | ||
52 | 323 | verticalAlignment: Text.AlignVCenter | ||
53 | 324 | elide: Text.ElideRight | ||
54 | 325 | maximumLineCount: 1 | ||
55 | 326 | fontSize: "medium" | ||
56 | 327 | font.weight: Font.Medium | ||
57 | 328 | color: Theme.palette.selected.backgroundText | ||
58 | 329 | opacity: __applicationMenus.visible && !__applicationMenus.expanded ? 1 : 0 | ||
59 | 330 | visible: opacity != 0 | ||
60 | 331 | Behavior on opacity { NumberAnimation { duration: UbuntuAnimation.SnapDuration } } | ||
61 | 332 | text: PanelState.title | ||
62 | 333 | } | ||
63 | 334 | |||
64 | 311 | PanelMenu { | 335 | PanelMenu { |
65 | 312 | id: __indicators | 336 | id: __indicators |
66 | 313 | objectName: "indicators" | 337 | objectName: "indicators" |
67 | 314 | 338 | ||
68 | === modified file 'qml/Panel/PanelBar.qml' | |||
69 | --- qml/Panel/PanelBar.qml 2017-01-16 08:51:52 +0000 | |||
70 | +++ qml/Panel/PanelBar.qml 2017-03-16 09:08:32 +0000 | |||
71 | @@ -30,8 +30,7 @@ | |||
72 | 30 | property real lateralPosition: -1 | 30 | property real lateralPosition: -1 |
73 | 31 | property int alignment: Qt.AlignRight | 31 | property int alignment: Qt.AlignRight |
74 | 32 | 32 | ||
77 | 33 | property alias showRowTitle: row.showRowTitle | 33 | property alias hideRow: row.hideRow |
76 | 34 | property alias rowTitle: row.rowTitle | ||
78 | 35 | property alias rowItemDelegate: row.delegate | 34 | property alias rowItemDelegate: row.delegate |
79 | 36 | 35 | ||
80 | 37 | implicitWidth: flickable.contentWidth | 36 | implicitWidth: flickable.contentWidth |
81 | 38 | 37 | ||
82 | === modified file 'qml/Panel/PanelItemRow.qml' | |||
83 | --- qml/Panel/PanelItemRow.qml 2017-01-24 17:34:19 +0000 | |||
84 | +++ qml/Panel/PanelItemRow.qml 2017-03-16 09:08:32 +0000 | |||
85 | @@ -20,11 +20,10 @@ | |||
86 | 20 | 20 | ||
87 | 21 | Item { | 21 | Item { |
88 | 22 | id: root | 22 | id: root |
90 | 23 | implicitWidth: showRowTitle && !expanded ? rowTitle != "" ? rowLabel.width : 0 : row.width | 23 | implicitWidth: row.width |
91 | 24 | implicitHeight: units.gu(3) | 24 | implicitHeight: units.gu(3) |
92 | 25 | 25 | ||
95 | 26 | property bool showRowTitle: false | 26 | property bool hideRow: false |
94 | 27 | property alias rowTitle: rowLabel.text | ||
96 | 28 | property QtObject model: null | 27 | property QtObject model: null |
97 | 29 | property real overFlowWidth: width | 28 | property real overFlowWidth: width |
98 | 30 | property bool expanded: false | 29 | property bool expanded: false |
99 | @@ -138,31 +137,12 @@ | |||
100 | 138 | d.previousItem = currentItem; | 137 | d.previousItem = currentItem; |
101 | 139 | } | 138 | } |
102 | 140 | 139 | ||
103 | 141 | Label { | ||
104 | 142 | id: rowLabel | ||
105 | 143 | objectName: "panelTitle" | ||
106 | 144 | anchors { | ||
107 | 145 | left: parent.left | ||
108 | 146 | leftMargin: units.gu(1) | ||
109 | 147 | verticalCenter: parent.verticalCenter | ||
110 | 148 | } | ||
111 | 149 | width: implicitWidth + units.gu(2) | ||
112 | 150 | elide: Text.ElideRight | ||
113 | 151 | maximumLineCount: 1 | ||
114 | 152 | fontSize: "medium" | ||
115 | 153 | font.weight: Font.Medium | ||
116 | 154 | color: Theme.palette.selected.backgroundText | ||
117 | 155 | opacity: showRowTitle ? 1 : 0 | ||
118 | 156 | visible: opacity != 0 | ||
119 | 157 | Behavior on opacity { NumberAnimation { duration: UbuntuAnimation.SnapDuration } } | ||
120 | 158 | } | ||
121 | 159 | |||
122 | 160 | ListView { | 140 | ListView { |
123 | 161 | id: row | 141 | id: row |
124 | 162 | objectName: "panelRow" | 142 | objectName: "panelRow" |
125 | 163 | orientation: ListView.Horizontal | 143 | orientation: ListView.Horizontal |
126 | 164 | model: root.model | 144 | model: root.model |
128 | 165 | opacity: showRowTitle ? 0 : 1 | 145 | opacity: hideRow ? 0 : 1 |
129 | 166 | // dont set visible on basis of opacity; otherwise width will not be calculated correctly | 146 | // dont set visible on basis of opacity; otherwise width will not be calculated correctly |
130 | 167 | anchors { | 147 | anchors { |
131 | 168 | top: parent.top | 148 | top: parent.top |
132 | 169 | 149 | ||
133 | === modified file 'qml/Panel/PanelMenu.qml' | |||
134 | --- qml/Panel/PanelMenu.qml 2017-01-16 08:51:52 +0000 | |||
135 | +++ qml/Panel/PanelMenu.qml 2017-03-16 09:08:32 +0000 | |||
136 | @@ -32,11 +32,12 @@ | |||
137 | 32 | property real openedHeight: units.gu(71) | 32 | property real openedHeight: units.gu(71) |
138 | 33 | property bool enableHint: true | 33 | property bool enableHint: true |
139 | 34 | property bool showOnClick: true | 34 | property bool showOnClick: true |
140 | 35 | property bool adjustDragHandleSizeToContents: true | ||
141 | 35 | property color panelColor: theme.palette.normal.background | 36 | property color panelColor: theme.palette.normal.background |
142 | 37 | property real menuContentX: 0 | ||
143 | 36 | 38 | ||
144 | 37 | property alias alignment: bar.alignment | 39 | property alias alignment: bar.alignment |
147 | 38 | property alias rowTitle: bar.rowTitle | 40 | property alias hideRow: bar.hideRow |
146 | 39 | property alias showRowTitle: bar.showRowTitle | ||
148 | 40 | property alias rowItemDelegate: bar.rowItemDelegate | 41 | property alias rowItemDelegate: bar.rowItemDelegate |
149 | 41 | property alias pageDelegate: content.pageDelegate | 42 | property alias pageDelegate: content.pageDelegate |
150 | 42 | 43 | ||
151 | @@ -45,7 +46,7 @@ | |||
152 | 45 | readonly property bool partiallyOpened: unitProgress > 0 && unitProgress < 1.0 | 46 | readonly property bool partiallyOpened: unitProgress > 0 && unitProgress < 1.0 |
153 | 46 | readonly property bool fullyClosed: unitProgress == 0 | 47 | readonly property bool fullyClosed: unitProgress == 0 |
154 | 47 | readonly property alias expanded: bar.expanded | 48 | readonly property alias expanded: bar.expanded |
156 | 48 | readonly property int barWidth: Math.min(bar.width, bar.implicitWidth) | 49 | readonly property int barWidth: adjustDragHandleSizeToContents ? Math.min(bar.width, bar.implicitWidth) : bar.width |
157 | 49 | 50 | ||
158 | 50 | signal showTapped() | 51 | signal showTapped() |
159 | 51 | 52 | ||
160 | @@ -77,33 +78,42 @@ | |||
161 | 77 | 78 | ||
162 | 78 | shown: false | 79 | shown: false |
163 | 79 | height: minimizedPanelHeight | 80 | height: minimizedPanelHeight |
164 | 80 | clip: root.partiallyOpened | ||
165 | 81 | 81 | ||
166 | 82 | onUnitProgressChanged: d.updateState() | 82 | onUnitProgressChanged: d.updateState() |
167 | 83 | 83 | ||
182 | 84 | // eater | 84 | Item { |
169 | 85 | MouseArea { | ||
170 | 86 | anchors.fill: content | ||
171 | 87 | hoverEnabled: true | ||
172 | 88 | acceptedButtons: Qt.AllButtons | ||
173 | 89 | onWheel: wheel.accepted = true; | ||
174 | 90 | enabled: root.state != "initial" | ||
175 | 91 | visible: content.visible | ||
176 | 92 | } | ||
177 | 93 | |||
178 | 94 | MenuContent { | ||
179 | 95 | id: content | ||
180 | 96 | objectName: "menuContent" | ||
181 | 97 | |||
183 | 98 | anchors { | 85 | anchors { |
184 | 99 | left: parent.left | 86 | left: parent.left |
185 | 100 | right: parent.right | 87 | right: parent.right |
186 | 101 | top: bar.bottom | 88 | top: bar.bottom |
192 | 102 | } | 89 | bottom: parent.bottom |
193 | 103 | height: openedHeight - bar.height - handle.height | 90 | } |
194 | 104 | model: root.model | 91 | clip: root.partiallyOpened |
195 | 105 | visible: root.unitProgress > 0 | 92 | |
196 | 106 | currentMenuIndex: bar.currentItemIndex | 93 | // eater |
197 | 94 | MouseArea { | ||
198 | 95 | anchors.fill: content | ||
199 | 96 | hoverEnabled: true | ||
200 | 97 | acceptedButtons: Qt.AllButtons | ||
201 | 98 | onWheel: wheel.accepted = true; | ||
202 | 99 | enabled: root.state != "initial" | ||
203 | 100 | visible: content.visible | ||
204 | 101 | } | ||
205 | 102 | |||
206 | 103 | MenuContent { | ||
207 | 104 | id: content | ||
208 | 105 | objectName: "menuContent" | ||
209 | 106 | |||
210 | 107 | anchors { | ||
211 | 108 | left: parent.left | ||
212 | 109 | right: parent.right | ||
213 | 110 | top: parent.top | ||
214 | 111 | } | ||
215 | 112 | height: openedHeight - bar.height - handle.height | ||
216 | 113 | model: root.model | ||
217 | 114 | visible: root.unitProgress > 0 | ||
218 | 115 | currentMenuIndex: bar.currentItemIndex | ||
219 | 116 | } | ||
220 | 107 | } | 117 | } |
221 | 108 | 118 | ||
222 | 109 | Handle { | 119 | Handle { |
223 | @@ -217,8 +227,9 @@ | |||
224 | 217 | objectName: "showDragHandle" | 227 | objectName: "showDragHandle" |
225 | 218 | anchors.bottom: parent.bottom | 228 | anchors.bottom: parent.bottom |
226 | 219 | anchors.left: alignment == Qt.AlignLeft ? parent.left : undefined | 229 | anchors.left: alignment == Qt.AlignLeft ? parent.left : undefined |
227 | 230 | anchors.leftMargin: -root.menuContentX | ||
228 | 220 | anchors.right: alignment == Qt.AlignRight ? parent.right : undefined | 231 | anchors.right: alignment == Qt.AlignRight ? parent.right : undefined |
230 | 221 | width: root.barWidth // show handle should only cover panel items. | 232 | width: root.barWidth + root.menuContentX // show handle should only cover panel items. |
231 | 222 | height: minimizedPanelHeight | 233 | height: minimizedPanelHeight |
232 | 223 | direction: Direction.Downwards | 234 | direction: Direction.Downwards |
233 | 224 | enabled: !root.shown && root.available | 235 | enabled: !root.shown && root.available |
234 | 225 | 236 | ||
235 | === modified file 'qml/Shell.qml' | |||
236 | --- qml/Shell.qml 2017-02-21 16:21:34 +0000 | |||
237 | +++ qml/Shell.qml 2017-03-16 09:08:32 +0000 | |||
238 | @@ -500,6 +500,7 @@ | |||
239 | 500 | expandedPanelHeight: units.gu(7) | 500 | expandedPanelHeight: units.gu(7) |
240 | 501 | indicatorMenuWidth: parent.width > units.gu(60) ? units.gu(40) : parent.width | 501 | indicatorMenuWidth: parent.width > units.gu(60) ? units.gu(40) : parent.width |
241 | 502 | applicationMenuWidth: parent.width > units.gu(60) ? units.gu(40) : parent.width | 502 | applicationMenuWidth: parent.width > units.gu(60) ? units.gu(40) : parent.width |
242 | 503 | applicationMenuContentX: launcher.lockedVisible ? launcher.panelWidth : 0 | ||
243 | 503 | 504 | ||
244 | 504 | indicators { | 505 | indicators { |
245 | 505 | hides: [launcher] | 506 | hides: [launcher] |
246 | @@ -567,7 +568,14 @@ | |||
247 | 567 | } | 568 | } |
248 | 568 | onShownChanged: { | 569 | onShownChanged: { |
249 | 569 | if (shown) { | 570 | if (shown) { |
251 | 570 | panel.indicators.hide() | 571 | panel.indicators.hide(); |
252 | 572 | panel.applicationMenus.hide(); | ||
253 | 573 | } | ||
254 | 574 | } | ||
255 | 575 | onDrawerShownChanged: { | ||
256 | 576 | if (drawerShown) { | ||
257 | 577 | panel.indicators.hide(); | ||
258 | 578 | panel.applicationMenus.hide(); | ||
259 | 571 | } | 579 | } |
260 | 572 | } | 580 | } |
261 | 573 | onFocusChanged: { | 581 | onFocusChanged: { |
262 | 574 | 582 | ||
263 | === modified file 'tests/qmltests/Panel/tst_Panel.qml' | |||
264 | --- tests/qmltests/Panel/tst_Panel.qml 2017-02-17 21:03:24 +0000 | |||
265 | +++ tests/qmltests/Panel/tst_Panel.qml 2017-03-16 09:08:32 +0000 | |||
266 | @@ -769,7 +769,7 @@ | |||
267 | 769 | panel.mode = "staged"; | 769 | panel.mode = "staged"; |
268 | 770 | mouseEmulation.checked = false; | 770 | mouseEmulation.checked = false; |
269 | 771 | 771 | ||
271 | 772 | var appTitle = findChild(panel.applicationMenus, "panelTitle"); verify(appTitle); | 772 | var appTitle = findChild(panel, "panelTitle"); verify(appTitle); |
272 | 773 | var appMenuRow = findChild(panel.applicationMenus, "panelRow"); verify(appMenuRow); | 773 | var appMenuRow = findChild(panel.applicationMenus, "panelRow"); verify(appMenuRow); |
273 | 774 | var appMenuBar = findChild(panel, "menuBar"); verify(appMenuBar); | 774 | var appMenuBar = findChild(panel, "menuBar"); verify(appMenuBar); |
274 | 775 | 775 | ||
275 | @@ -787,7 +787,7 @@ | |||
276 | 787 | panel.mode = "windowed"; | 787 | panel.mode = "windowed"; |
277 | 788 | mouseEmulation.checked = false; | 788 | mouseEmulation.checked = false; |
278 | 789 | 789 | ||
280 | 790 | var appTitle = findChild(panel.applicationMenus, "panelTitle"); verify(appTitle); | 790 | var appTitle = findChild(panel, "panelTitle"); verify(appTitle); |
281 | 791 | var appMenuRow = findChild(panel.applicationMenus, "panelRow"); verify(appMenuRow); | 791 | var appMenuRow = findChild(panel.applicationMenus, "panelRow"); verify(appMenuRow); |
282 | 792 | var appMenuBar = findChild(panel, "menuBar"); verify(appMenuBar); | 792 | var appMenuBar = findChild(panel, "menuBar"); verify(appMenuBar); |
283 | 793 | 793 | ||
284 | 794 | 794 | ||
285 | === modified file 'tests/qmltests/tst_Shell.qml' | |||
286 | --- tests/qmltests/tst_Shell.qml 2017-03-08 09:54:00 +0000 | |||
287 | +++ tests/qmltests/tst_Shell.qml 2017-03-16 09:08:32 +0000 | |||
288 | @@ -2848,7 +2848,7 @@ | |||
289 | 2848 | loadShell(data.tag); | 2848 | loadShell(data.tag); |
290 | 2849 | 2849 | ||
291 | 2850 | var panel = findChild(shell, "panel"); verify(panel); | 2850 | var panel = findChild(shell, "panel"); verify(panel); |
293 | 2851 | var panelTitle = findChild(panel.applicationMenus, "panelTitle"); verify(panelTitle); | 2851 | var panelTitle = findChild(panel, "panelTitle"); verify(panelTitle); |
294 | 2852 | compare(panelTitle.visible, false, "Panel title should not be visible when greeter is shown"); | 2852 | compare(panelTitle.visible, false, "Panel title should not be visible when greeter is shown"); |
295 | 2853 | 2853 | ||
296 | 2854 | swipeAwayGreeter(); | 2854 | swipeAwayGreeter(); |
297 | @@ -2941,6 +2941,61 @@ | |||
298 | 2941 | tryCompare(topLevelSurfaceList.applicationAt(0), "appId", "dialer-app"); | 2941 | tryCompare(topLevelSurfaceList.applicationAt(0), "appId", "dialer-app"); |
299 | 2942 | } | 2942 | } |
300 | 2943 | 2943 | ||
301 | 2944 | function test_touchMenuPosition_data() { | ||
302 | 2945 | return [ | ||
303 | 2946 | { tag: "launcher locked", lockLauncher: true }, | ||
304 | 2947 | { tag: "launcher not locked", lockLauncher: false } | ||
305 | 2948 | ]; | ||
306 | 2949 | } | ||
307 | 2950 | |||
308 | 2951 | function test_touchMenuPosition(data) { | ||
309 | 2952 | loadShell("desktop"); | ||
310 | 2953 | shell.usageScenario = "desktop"; | ||
311 | 2954 | waitForRendering(shell); | ||
312 | 2955 | swipeAwayGreeter(); | ||
313 | 2956 | |||
314 | 2957 | var panel = findChild(shell, "panel"); | ||
315 | 2958 | var launcher = testCase.findChild(shell, "launcher"); | ||
316 | 2959 | launcher.lockedVisible = data.lockLauncher; | ||
317 | 2960 | if (data.lockLauncher) { | ||
318 | 2961 | compare(panel.applicationMenus.x, launcher.panelWidth); | ||
319 | 2962 | } else { | ||
320 | 2963 | compare(panel.applicationMenus.x, 0); | ||
321 | 2964 | } | ||
322 | 2965 | } | ||
323 | 2966 | |||
324 | 2967 | function test_touchMenuHidesOnLauncherAppDrawer_data() { | ||
325 | 2968 | return [ | ||
326 | 2969 | { tag: "launcher locked", lockLauncher: true }, | ||
327 | 2970 | { tag: "launcher not locked", lockLauncher: false } | ||
328 | 2971 | ]; | ||
329 | 2972 | } | ||
330 | 2973 | |||
331 | 2974 | function test_touchMenuHidesOnLauncherAppDrawer(data) { | ||
332 | 2975 | loadShell("desktop"); | ||
333 | 2976 | shell.usageScenario = "desktop"; | ||
334 | 2977 | waitForRendering(shell); | ||
335 | 2978 | swipeAwayGreeter(); | ||
336 | 2979 | |||
337 | 2980 | var panel = findChild(shell, "panel"); | ||
338 | 2981 | var launcher = testCase.findChild(shell, "launcher"); | ||
339 | 2982 | launcher.lockedVisible = data.lockLauncher; | ||
340 | 2983 | |||
341 | 2984 | waitForRendering(panel.applicationMenus); | ||
342 | 2985 | |||
343 | 2986 | if (data.lockLauncher) { | ||
344 | 2987 | panel.applicationMenus.show(); | ||
345 | 2988 | tryCompare(panel.applicationMenus, "fullyOpened", true); | ||
346 | 2989 | launcher.openDrawer(); | ||
347 | 2990 | } else { | ||
348 | 2991 | tryCompare(launcher, "shown", false); | ||
349 | 2992 | panel.applicationMenus.show(); | ||
350 | 2993 | tryCompare(panel.applicationMenus, "fullyOpened", true); | ||
351 | 2994 | launcher.switchToNextState("visible"); | ||
352 | 2995 | } | ||
353 | 2996 | tryCompare(panel.applicationMenus, "fullyClosed", true); | ||
354 | 2997 | } | ||
355 | 2998 | |||
356 | 2944 | function test_doubleClickPanelRestoresWindow() { | 2999 | function test_doubleClickPanelRestoresWindow() { |
357 | 2945 | loadShell("desktop"); | 3000 | loadShell("desktop"); |
358 | 2946 | shell.usageScenario = "desktop"; | 3001 | 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:/