Merge lp:~lukas-kde/unity8/fixDismissedSIMPinDialog-lp1596076 into lp:unity8
- fixDismissedSIMPinDialog-lp1596076
- Merge into trunk
Status: | Merged | ||||
---|---|---|---|---|---|
Approved by: | Michael Zanetti | ||||
Approved revision: | 2501 | ||||
Merged at revision: | 2586 | ||||
Proposed branch: | lp:~lukas-kde/unity8/fixDismissedSIMPinDialog-lp1596076 | ||||
Merge into: | lp:unity8 | ||||
Diff against target: |
455 lines (+44/-147) 10 files modified
qml/Notifications/Notification.qml (+9/-28) qml/Notifications/NotificationMenuItemFactory.qml (+0/-3) qml/Notifications/Notifications.qml (+10/-25) qml/Shell.qml (+1/-1) tests/mocks/Unity/Notifications/MockNotificationModel.cpp (+4/-6) tests/mocks/Unity/Notifications/MockNotificationModel.h (+2/-4) tests/qmltests/Notifications/tst_Notifications.qml (+6/-23) tests/qmltests/Notifications/tst_OptionToggle.qml (+1/-16) tests/qmltests/Notifications/tst_SwipeToAct.qml (+4/-18) tests/qmltests/Notifications/tst_VisualSnapDecisionsQueue.qml (+7/-23) |
||||
To merge this branch: | bzr merge lp:~lukas-kde/unity8/fixDismissedSIMPinDialog-lp1596076 | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Michael Zanetti (community) | Approve | ||
Unity8 CI Bot | continuous-integration | Needs Fixing | |
Michał Sawicz | Needs Fixing | ||
Josh Arenson | Approve | ||
Review via email: mp+298513@code.launchpad.net |
Commit message
Fix incorrect SIM PIN dialog position when entering a wrong PIN
Description of the change
Fix incorrect SIM PIN dialog position when entering a wrong PIN
Get rid of the placeholder cruft
* Are there any related MPs required for this MP to build/function as expected? Please list.
Yes, https:/
* 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 : | # |
Josh Arenson (josharenson) 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.
No, irrelevant
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2496
https:/
Executed test runs:
FAILURE: https:/
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:/
FAILURE: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
Michał Sawicz (saviq) wrote : | # |
http://
Michał Sawicz (saviq) wrote : | # |
Ah - realized one important bit:
It's the fullscreen notification that's then causing the issue - so if you don't trigger a fullscreen one you won't see it.
From lp:unity-notifications/examples, run:
./icon-
./sd-example-
./icon-
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2498
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
UNSTABLE: https:/
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:/
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:2499
https:/
Executed test runs:
SUCCESS: https:/
UNSTABLE: https:/
FAILURE: https:/
UNSTABLE: https:/
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:/
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:2501
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
UNSTABLE: https:/
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:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
Michael Zanetti (mzanetti) wrote : | # |
tested this. seems to work fine now.
Michael Zanetti (mzanetti) wrote : | # |
ok. code looks ok... at least the red stuff :D
- 2502. By Lukáš Tinkl
-
stick to primary orientation when showing the SIM PIN notification
- 2503. By Lukáš Tinkl
-
merge trunk
Preview Diff
1 | === modified file 'qml/Notifications/Notification.qml' | |||
2 | --- qml/Notifications/Notification.qml 2016-06-17 01:16:21 +0000 | |||
3 | +++ qml/Notifications/Notification.qml 2016-08-08 10:15:37 +0000 | |||
4 | @@ -55,29 +55,11 @@ | |||
5 | 55 | name: "Ubuntu.Components.Themes.Ambiance" | 55 | name: "Ubuntu.Components.Themes.Ambiance" |
6 | 56 | } | 56 | } |
7 | 57 | 57 | ||
31 | 58 | signal dismissed() | 58 | readonly property bool expanded: type === Notification.SnapDecision && // expand only snap decisions, if... |
32 | 59 | 59 | (fullscreen || // - it's a fullscreen one | |
33 | 60 | readonly property bool expanded: { | 60 | ListView.view.currentIndex === index || // - it's the one the user clicked on |
34 | 61 | var result = false; | 61 | (ListView.view.currentIndex === -1 && index == 0) // - the first one after the user closed the previous one |
35 | 62 | 62 | ) | |
13 | 63 | if (type === Notification.SnapDecision) { | ||
14 | 64 | if (ListView.view.currentIndex === index || fullscreen) { | ||
15 | 65 | result = true; | ||
16 | 66 | } else { | ||
17 | 67 | if (ListView.view.count > 2) { | ||
18 | 68 | if (ListView.view.currentIndex === -1 && index == 1) { | ||
19 | 69 | result = true; | ||
20 | 70 | } else { | ||
21 | 71 | result = false; | ||
22 | 72 | } | ||
23 | 73 | } else { | ||
24 | 74 | result = true; | ||
25 | 75 | } | ||
26 | 76 | } | ||
27 | 77 | } | ||
28 | 78 | |||
29 | 79 | return result; | ||
30 | 80 | } | ||
36 | 81 | 63 | ||
37 | 82 | NotificationAudio { | 64 | NotificationAudio { |
38 | 83 | id: sound | 65 | id: sound |
39 | @@ -125,7 +107,6 @@ | |||
40 | 125 | notification.notification.invokeAction(notification.actions.data(1, ActionModel.RoleActionId)); | 107 | notification.notification.invokeAction(notification.actions.data(1, ActionModel.RoleActionId)); |
41 | 126 | 108 | ||
42 | 127 | notification.notification.close(); | 109 | notification.notification.close(); |
43 | 128 | notification.dismissed() | ||
44 | 129 | } | 110 | } |
45 | 130 | 111 | ||
46 | 131 | Behavior on x { | 112 | Behavior on x { |
47 | @@ -142,9 +123,11 @@ | |||
48 | 142 | if (fullscreen) { | 123 | if (fullscreen) { |
49 | 143 | notification.notification.urgency = Notification.Critical; | 124 | notification.notification.urgency = Notification.Critical; |
50 | 144 | } | 125 | } |
51 | 126 | ListView.view.topmostIsFullscreen = fullscreen; | ||
52 | 145 | } | 127 | } |
53 | 146 | 128 | ||
55 | 147 | Behavior on height { | 129 | Behavior on implicitHeight { |
56 | 130 | enabled: !fullscreen | ||
57 | 148 | UbuntuNumberAnimation { | 131 | UbuntuNumberAnimation { |
58 | 149 | duration: UbuntuAnimation.SnapDuration | 132 | duration: UbuntuAnimation.SnapDuration |
59 | 150 | } | 133 | } |
60 | @@ -217,7 +200,6 @@ | |||
61 | 217 | onNameOwnerChanged: { | 200 | onNameOwnerChanged: { |
62 | 218 | if (lastNameOwner !== "" && nameOwner === "" && notification.notification !== undefined) { | 201 | if (lastNameOwner !== "" && nameOwner === "" && notification.notification !== undefined) { |
63 | 219 | notification.notification.close() | 202 | notification.notification.close() |
64 | 220 | notification.dismissed() | ||
65 | 221 | } | 203 | } |
66 | 222 | lastNameOwner = nameOwner | 204 | lastNameOwner = nameOwner |
67 | 223 | } | 205 | } |
68 | @@ -239,7 +221,7 @@ | |||
69 | 239 | if (notification.type === Notification.Interactive) { | 221 | if (notification.type === Notification.Interactive) { |
70 | 240 | notification.notification.invokeAction(actionRepeater.itemAt(0).actionId) | 222 | notification.notification.invokeAction(actionRepeater.itemAt(0).actionId) |
71 | 241 | } else { | 223 | } else { |
73 | 242 | notificationList.currentIndex = index; | 224 | notification.ListView.view.currentIndex = index; |
74 | 243 | } | 225 | } |
75 | 244 | } | 226 | } |
76 | 245 | onReleased: { | 227 | onReleased: { |
77 | @@ -443,7 +425,6 @@ | |||
78 | 443 | } | 425 | } |
79 | 444 | onAccepted: { | 426 | onAccepted: { |
80 | 445 | notification.notification.invokeAction(actionRepeater.itemAt(0).actionId) | 427 | notification.notification.invokeAction(actionRepeater.itemAt(0).actionId) |
81 | 446 | notification.dismissed() | ||
82 | 447 | } | 428 | } |
83 | 448 | } | 429 | } |
84 | 449 | } | 430 | } |
85 | 450 | 431 | ||
86 | === modified file 'qml/Notifications/NotificationMenuItemFactory.qml' | |||
87 | --- qml/Notifications/NotificationMenuItemFactory.qml 2016-05-27 13:53:23 +0000 | |||
88 | +++ qml/Notifications/NotificationMenuItemFactory.qml 2016-08-08 10:15:37 +0000 | |||
89 | @@ -151,18 +151,15 @@ | |||
90 | 151 | onEntered: { | 151 | onEntered: { |
91 | 152 | menuModel.changeState(menuIndex, passphrase); | 152 | menuModel.changeState(menuIndex, passphrase); |
92 | 153 | clear(false); | 153 | clear(false); |
93 | 154 | notification.dismissed() | ||
94 | 155 | } | 154 | } |
95 | 156 | 155 | ||
96 | 157 | onCancel: { | 156 | onCancel: { |
97 | 158 | menuModel.activate(menuIndex, false); | 157 | menuModel.activate(menuIndex, false); |
98 | 159 | notification.dismissed() | ||
99 | 160 | } | 158 | } |
100 | 161 | 159 | ||
101 | 162 | onEmergencyCall: { | 160 | onEmergencyCall: { |
102 | 163 | shell.startLockedApp("dialer-app"); | 161 | shell.startLockedApp("dialer-app"); |
103 | 164 | menuModel.activate(menuIndex, false); | 162 | menuModel.activate(menuIndex, false); |
104 | 165 | notification.dismissed() | ||
105 | 166 | } | 163 | } |
106 | 167 | 164 | ||
107 | 168 | property var extendedData: menuData && menuData.ext || undefined | 165 | property var extendedData: menuData && menuData.ext || undefined |
108 | 169 | 166 | ||
109 | === modified file 'qml/Notifications/Notifications.qml' | |||
110 | --- qml/Notifications/Notifications.qml 2016-06-01 19:35:04 +0000 | |||
111 | +++ qml/Notifications/Notifications.qml 2016-08-08 10:15:37 +0000 | |||
112 | @@ -26,7 +26,7 @@ | |||
113 | 26 | objectName: "notificationList" | 26 | objectName: "notificationList" |
114 | 27 | interactive: false | 27 | interactive: false |
115 | 28 | 28 | ||
117 | 29 | readonly property bool hasNotification: count > 1 // placeholder is index 0 | 29 | readonly property bool hasNotification: count > 0 |
118 | 30 | property real margin | 30 | property real margin |
119 | 31 | property bool hasMouse | 31 | property bool hasMouse |
120 | 32 | property url background: "" | 32 | property url background: "" |
121 | @@ -42,17 +42,10 @@ | |||
122 | 42 | filterRegExp: RegExp(UnityNotifications.Notification.SnapDecision) | 42 | filterRegExp: RegExp(UnityNotifications.Notification.SnapDecision) |
123 | 43 | } | 43 | } |
124 | 44 | 44 | ||
126 | 45 | readonly property bool topmostIsFullscreen: fullscreenIndex != -1 | 45 | property bool topmostIsFullscreen: false |
127 | 46 | spacing: topmostIsFullscreen ? 0 : units.gu(1) | 46 | spacing: topmostIsFullscreen ? 0 : units.gu(1) |
128 | 47 | 47 | ||
137 | 48 | currentIndex: count > 1 ? 1 : -1 | 48 | currentIndex: -1 |
130 | 49 | |||
131 | 50 | property int fullscreenIndex: -1 | ||
132 | 51 | onFullscreenIndexChanged: { | ||
133 | 52 | if (fullscreenIndex != -1) { | ||
134 | 53 | positionViewAtIndex(fullscreenIndex, ListView.Beginning); | ||
135 | 54 | } | ||
136 | 55 | } | ||
138 | 56 | 49 | ||
139 | 57 | delegate: Notification { | 50 | delegate: Notification { |
140 | 58 | objectName: "notification" + index | 51 | objectName: "notification" + index |
141 | @@ -72,25 +65,17 @@ | |||
142 | 72 | hasMouse: notificationList.hasMouse | 65 | hasMouse: notificationList.hasMouse |
143 | 73 | background: notificationList.background | 66 | background: notificationList.background |
144 | 74 | 67 | ||
145 | 68 | Component.onCompleted: topmostIsFullscreen = false; // async, the factory loader will set fullscreen to true later | ||
146 | 69 | |||
147 | 70 | property int theIndex: index | ||
148 | 71 | onTheIndexChanged: { | ||
149 | 72 | ListView.view.topmostIsFullscreen = fullscreen; // when we get pushed down by e.g. volume notification | ||
150 | 73 | } | ||
151 | 74 | |||
152 | 75 | // make sure there's no opacity-difference between the several | 75 | // make sure there's no opacity-difference between the several |
153 | 76 | // elements in a notification | 76 | // elements in a notification |
154 | 77 | // FIXME: disabled all transitions because of LP: #1354406 workaround | 77 | // FIXME: disabled all transitions because of LP: #1354406 workaround |
155 | 78 | //layer.enabled: add.running || remove.running || populate.running | 78 | //layer.enabled: add.running || remove.running || populate.running |
156 | 79 | |||
157 | 80 | onFullscreenChanged: updateListTopMostIsFullscreen(); | ||
158 | 81 | |||
159 | 82 | function updateListTopMostIsFullscreen() { | ||
160 | 83 | if (fullscreen) { | ||
161 | 84 | fullscreenIndex = index; | ||
162 | 85 | } | ||
163 | 86 | } | ||
164 | 87 | |||
165 | 88 | onDismissed: { | ||
166 | 89 | if (fullscreenIndex == index) { | ||
167 | 90 | fullscreenIndex = -1; | ||
168 | 91 | notificationList.positionViewAtBeginning(); | ||
169 | 92 | } | ||
170 | 93 | } | ||
171 | 94 | } | 79 | } |
172 | 95 | 80 | ||
173 | 96 | // FIXME: disabled all transitions because of LP: #1354406 workaround | 81 | // FIXME: disabled all transitions because of LP: #1354406 workaround |
174 | 97 | 82 | ||
175 | === modified file 'qml/Shell.qml' | |||
176 | --- qml/Shell.qml 2016-08-03 15:52:10 +0000 | |||
177 | +++ qml/Shell.qml 2016-08-08 10:15:37 +0000 | |||
178 | @@ -86,7 +86,7 @@ | |||
179 | 86 | if (startingUp) { | 86 | if (startingUp) { |
180 | 87 | // Ensure we don't rotate during start up | 87 | // Ensure we don't rotate during start up |
181 | 88 | return Qt.PrimaryOrientation; | 88 | return Qt.PrimaryOrientation; |
183 | 89 | } else if (greeter && greeter.shown) { | 89 | } else if (showingGreeter || notifications.topmostIsFullscreen) { |
184 | 90 | return Qt.PrimaryOrientation; | 90 | return Qt.PrimaryOrientation; |
185 | 91 | } else if (applicationsDisplayLoader.item) { | 91 | } else if (applicationsDisplayLoader.item) { |
186 | 92 | return shell.orientations.map(applicationsDisplayLoader.item.supportedOrientations); | 92 | return shell.orientations.map(applicationsDisplayLoader.item.supportedOrientations); |
187 | 93 | 93 | ||
188 | === modified file 'tests/mocks/Unity/Notifications/MockNotificationModel.cpp' | |||
189 | --- tests/mocks/Unity/Notifications/MockNotificationModel.cpp 2016-05-04 20:40:26 +0000 | |||
190 | +++ tests/mocks/Unity/Notifications/MockNotificationModel.cpp 2016-08-08 10:15:37 +0000 | |||
191 | @@ -1,5 +1,5 @@ | |||
192 | 1 | /* | 1 | /* |
194 | 2 | * Copyright 2015 Canonical Ltd. | 2 | * Copyright 2015-2016 Canonical Ltd. |
195 | 3 | * | 3 | * |
196 | 4 | * This program is free software; you can redistribute it and/or modify | 4 | * This program is free software; you can redistribute it and/or modify |
197 | 5 | * it under the terms of the GNU Lesser General Public License as published by | 5 | * it under the terms of the GNU Lesser General Public License as published by |
198 | @@ -13,8 +13,6 @@ | |||
199 | 13 | * You should have received a copy of the GNU Lesser General Public License | 13 | * You should have received a copy of the GNU Lesser General Public License |
200 | 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
201 | 15 | * | 15 | * |
202 | 16 | * Authors: | ||
203 | 17 | * Mirco Mueller <mirco.mueller@canonical.com> | ||
204 | 18 | */ | 16 | */ |
205 | 19 | 17 | ||
206 | 20 | #include "MockNotificationModel.h" | 18 | #include "MockNotificationModel.h" |
207 | @@ -118,10 +116,10 @@ | |||
208 | 118 | } | 116 | } |
209 | 119 | } | 117 | } |
210 | 120 | 118 | ||
213 | 121 | void MockNotificationModel::removeSecond() { | 119 | void MockNotificationModel::removeFirst() { |
214 | 122 | if(m_queue.size() < 2) | 120 | if(m_queue.isEmpty()) |
215 | 123 | return; | 121 | return; |
217 | 124 | removeInternal(1); | 122 | removeInternal(0); |
218 | 125 | } | 123 | } |
219 | 126 | 124 | ||
220 | 127 | void MockNotificationModel::removeInternal(int loc) { | 125 | void MockNotificationModel::removeInternal(int loc) { |
221 | 128 | 126 | ||
222 | === modified file 'tests/mocks/Unity/Notifications/MockNotificationModel.h' | |||
223 | --- tests/mocks/Unity/Notifications/MockNotificationModel.h 2016-05-04 20:39:25 +0000 | |||
224 | +++ tests/mocks/Unity/Notifications/MockNotificationModel.h 2016-08-08 10:15:37 +0000 | |||
225 | @@ -1,5 +1,5 @@ | |||
226 | 1 | /* | 1 | /* |
228 | 2 | * Copyright 2015 Canonical Ltd. | 2 | * Copyright 2015-2016 Canonical Ltd. |
229 | 3 | * | 3 | * |
230 | 4 | * This program is free software; you can redistribute it and/or modify | 4 | * This program is free software; you can redistribute it and/or modify |
231 | 5 | * it under the terms of the GNU Lesser General Public License as published by | 5 | * it under the terms of the GNU Lesser General Public License as published by |
232 | @@ -13,8 +13,6 @@ | |||
233 | 13 | * You should have received a copy of the GNU Lesser General Public License | 13 | * You should have received a copy of the GNU Lesser General Public License |
234 | 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
235 | 15 | * | 15 | * |
236 | 16 | * Authors: | ||
237 | 17 | * Mirco Mueller <mirco.mueller@canonical.com> | ||
238 | 18 | */ | 16 | */ |
239 | 19 | 17 | ||
240 | 20 | #ifndef MOCK_NOTIFICATION_MODEL_H | 18 | #ifndef MOCK_NOTIFICATION_MODEL_H |
241 | @@ -48,7 +46,7 @@ | |||
242 | 48 | 46 | ||
243 | 49 | Q_INVOKABLE int queued() const; | 47 | Q_INVOKABLE int queued() const; |
244 | 50 | Q_INVOKABLE void remove(const int id); | 48 | Q_INVOKABLE void remove(const int id); |
246 | 51 | Q_INVOKABLE void removeSecond(); | 49 | Q_INVOKABLE void removeFirst(); |
247 | 52 | 50 | ||
248 | 53 | int getCount() const; | 51 | int getCount() const; |
249 | 54 | 52 | ||
250 | 55 | 53 | ||
251 | === modified file 'tests/qmltests/Notifications/tst_Notifications.qml' | |||
252 | --- tests/qmltests/Notifications/tst_Notifications.qml 2016-06-01 19:35:04 +0000 | |||
253 | +++ tests/qmltests/Notifications/tst_Notifications.qml 2016-08-08 10:15:37 +0000 | |||
254 | @@ -1,5 +1,5 @@ | |||
255 | 1 | /* | 1 | /* |
257 | 2 | * Copyright 2015 Canonical Ltd. | 2 | * Copyright 2015-2016 Canonical Ltd. |
258 | 3 | * | 3 | * |
259 | 4 | * This program is free software; you can redistribute it and/or modify | 4 | * This program is free software; you can redistribute it and/or modify |
260 | 5 | * it under the terms of the GNU Lesser General Public License as published by | 5 | * it under the terms of the GNU Lesser General Public License as published by |
261 | @@ -31,21 +31,6 @@ | |||
262 | 31 | height: notificationsRect.height | 31 | height: notificationsRect.height |
263 | 32 | property int index: 0 | 32 | property int index: 0 |
264 | 33 | 33 | ||
265 | 34 | // add the default/PlaceHolder notification to the model | ||
266 | 35 | Component.onCompleted: { | ||
267 | 36 | var component = Qt.createComponent("Notification.qml") | ||
268 | 37 | var n = component.createObject("notification", {"nid": index++, | ||
269 | 38 | "type": Notification.PlaceHolder, | ||
270 | 39 | "hints": {}, | ||
271 | 40 | "summary": "", | ||
272 | 41 | "body": "", | ||
273 | 42 | "icon": "", | ||
274 | 43 | "secondaryIcon": "", | ||
275 | 44 | "rawActions": []}) | ||
276 | 45 | n.completed.connect(mockModel.onCompleted) | ||
277 | 46 | mockModel.append(n) | ||
278 | 47 | } | ||
279 | 48 | |||
280 | 49 | Row { | 34 | Row { |
281 | 50 | id: rootRow | 35 | id: rootRow |
282 | 51 | 36 | ||
283 | @@ -157,15 +142,13 @@ | |||
284 | 157 | } | 142 | } |
285 | 158 | 143 | ||
286 | 159 | function clearNotifications() { | 144 | function clearNotifications() { |
289 | 160 | while(mockModel.count > 1) { | 145 | while(mockModel.count > 0) { |
290 | 161 | remove1stNotification() | 146 | remove1stNotification(); |
291 | 162 | } | 147 | } |
292 | 163 | } | 148 | } |
293 | 164 | 149 | ||
294 | 165 | function remove1stNotification() { | 150 | function remove1stNotification() { |
298 | 166 | if (mockModel.count > 1) { | 151 | mockModel.removeFirst(); |
296 | 167 | mockModel.removeSecond() | ||
297 | 168 | } | ||
299 | 169 | } | 152 | } |
300 | 170 | 153 | ||
301 | 171 | Rectangle { | 154 | Rectangle { |
302 | @@ -791,13 +774,13 @@ | |||
303 | 791 | waitForRendering(notifications); | 774 | waitForRendering(notifications); |
304 | 792 | 775 | ||
305 | 793 | // first one should be expanded by default | 776 | // first one should be expanded by default |
307 | 794 | var notification1 = findChild(notifications, "notification1") // 0 is placeholder... | 777 | var notification1 = findChild(notifications, "notification0") |
308 | 795 | verify(!!notification1, "notification wasn't found"); | 778 | verify(!!notification1, "notification wasn't found"); |
309 | 796 | waitForRendering(notification1); | 779 | waitForRendering(notification1); |
310 | 797 | verify(notification1.expanded); | 780 | verify(notification1.expanded); |
311 | 798 | 781 | ||
312 | 799 | // click the 2nd one, verify it's now expanded | 782 | // click the 2nd one, verify it's now expanded |
314 | 800 | var notification2 = findChild(notifications, "notification2") // 0 is placeholder... | 783 | var notification2 = findChild(notifications, "notification1") |
315 | 801 | verify(!!notification2, "notification wasn't found"); | 784 | verify(!!notification2, "notification wasn't found"); |
316 | 802 | waitForRendering(notification2); | 785 | waitForRendering(notification2); |
317 | 803 | mouseClick(notification2); | 786 | mouseClick(notification2); |
318 | 804 | 787 | ||
319 | === modified file 'tests/qmltests/Notifications/tst_OptionToggle.qml' | |||
320 | --- tests/qmltests/Notifications/tst_OptionToggle.qml 2016-04-07 20:05:50 +0000 | |||
321 | +++ tests/qmltests/Notifications/tst_OptionToggle.qml 2016-08-08 10:15:37 +0000 | |||
322 | @@ -1,5 +1,5 @@ | |||
323 | 1 | /* | 1 | /* |
325 | 2 | * Copyright 2015 Canonical Ltd. | 2 | * Copyright 2015-2016 Canonical Ltd. |
326 | 3 | * | 3 | * |
327 | 4 | * This program is free software; you can redistribute it and/or modify | 4 | * This program is free software; you can redistribute it and/or modify |
328 | 5 | * it under the terms of the GNU Lesser General Public License as published by | 5 | * it under the terms of the GNU Lesser General Public License as published by |
329 | @@ -51,21 +51,6 @@ | |||
330 | 51 | function getRaw(id) { | 51 | function getRaw(id) { |
331 | 52 | return mockNotification.createObject(mockModel) | 52 | return mockNotification.createObject(mockModel) |
332 | 53 | } | 53 | } |
333 | 54 | |||
334 | 55 | // add the default/PlaceHolder notification to the model | ||
335 | 56 | Component.onCompleted: { | ||
336 | 57 | var n = { | ||
337 | 58 | type: Notification.PlaceHolder, | ||
338 | 59 | hints: {}, | ||
339 | 60 | summary: "", | ||
340 | 61 | body: "", | ||
341 | 62 | icon: "", | ||
342 | 63 | secondaryIcon: "", | ||
343 | 64 | actions: [] | ||
344 | 65 | } | ||
345 | 66 | |||
346 | 67 | append(n) | ||
347 | 68 | } | ||
348 | 69 | } | 54 | } |
349 | 70 | 55 | ||
350 | 71 | function addSnapDecisionNotification() { | 56 | function addSnapDecisionNotification() { |
351 | 72 | 57 | ||
352 | === modified file 'tests/qmltests/Notifications/tst_SwipeToAct.qml' | |||
353 | --- tests/qmltests/Notifications/tst_SwipeToAct.qml 2016-04-07 21:33:49 +0000 | |||
354 | +++ tests/qmltests/Notifications/tst_SwipeToAct.qml 2016-08-08 10:15:37 +0000 | |||
355 | @@ -1,5 +1,5 @@ | |||
356 | 1 | /* | 1 | /* |
358 | 2 | * Copyright (C) 2014, 2015 Canonical, Ltd. | 2 | * Copyright (C) 2014-2016 Canonical, Ltd. |
359 | 3 | * | 3 | * |
360 | 4 | * This program is free software; you can redistribute it and/or modify | 4 | * This program is free software; you can redistribute it and/or modify |
361 | 5 | * it under the terms of the GNU General Public License as published by | 5 | * it under the terms of the GNU General Public License as published by |
362 | @@ -53,21 +53,6 @@ | |||
363 | 53 | function getRaw(id) { | 53 | function getRaw(id) { |
364 | 54 | return mockNotification.createObject(mockModel) | 54 | return mockNotification.createObject(mockModel) |
365 | 55 | } | 55 | } |
366 | 56 | |||
367 | 57 | // add the default/PlaceHolder notification to the model | ||
368 | 58 | Component.onCompleted: { | ||
369 | 59 | var n = { | ||
370 | 60 | type: Notification.PlaceHolder, | ||
371 | 61 | hints: {}, | ||
372 | 62 | summary: "", | ||
373 | 63 | body: "", | ||
374 | 64 | icon: "", | ||
375 | 65 | secondaryIcon: "", | ||
376 | 66 | actions: [] | ||
377 | 67 | } | ||
378 | 68 | |||
379 | 69 | append(n) | ||
380 | 70 | } | ||
381 | 71 | } | 56 | } |
382 | 72 | 57 | ||
383 | 73 | function addSwipeToActNotification() { | 58 | function addSwipeToActNotification() { |
384 | @@ -93,8 +78,9 @@ | |||
385 | 93 | } | 78 | } |
386 | 94 | 79 | ||
387 | 95 | function remove1stNotification() { | 80 | function remove1stNotification() { |
390 | 96 | if (mockModel.count > 0) | 81 | if (mockModel.count > 0) { |
391 | 97 | mockModel.remove(0) | 82 | mockModel.remove(0); |
392 | 83 | } | ||
393 | 98 | } | 84 | } |
394 | 99 | 85 | ||
395 | 100 | Rectangle { | 86 | Rectangle { |
396 | 101 | 87 | ||
397 | === modified file 'tests/qmltests/Notifications/tst_VisualSnapDecisionsQueue.qml' | |||
398 | --- tests/qmltests/Notifications/tst_VisualSnapDecisionsQueue.qml 2016-04-13 14:39:53 +0000 | |||
399 | +++ tests/qmltests/Notifications/tst_VisualSnapDecisionsQueue.qml 2016-08-08 10:15:37 +0000 | |||
400 | @@ -47,21 +47,6 @@ | |||
401 | 47 | function getRaw(id) { | 47 | function getRaw(id) { |
402 | 48 | return mockNotification.createObject(mockModel) | 48 | return mockNotification.createObject(mockModel) |
403 | 49 | } | 49 | } |
404 | 50 | |||
405 | 51 | // add the default/PlaceHolder notification to the model | ||
406 | 52 | Component.onCompleted: { | ||
407 | 53 | var n = { | ||
408 | 54 | type: Notification.PlaceHolder, | ||
409 | 55 | hints: {}, | ||
410 | 56 | summary: "", | ||
411 | 57 | body: "", | ||
412 | 58 | icon: "", | ||
413 | 59 | secondaryIcon: "", | ||
414 | 60 | actions: [] | ||
415 | 61 | } | ||
416 | 62 | |||
417 | 63 | append(n) | ||
418 | 64 | } | ||
419 | 65 | } | 50 | } |
420 | 66 | 51 | ||
421 | 67 | function addSomeSnapDecisionNotifications() { | 52 | function addSomeSnapDecisionNotifications() { |
422 | @@ -123,14 +108,13 @@ | |||
423 | 123 | } | 108 | } |
424 | 124 | 109 | ||
425 | 125 | function clearNotifications() { | 110 | function clearNotifications() { |
428 | 126 | // remove all but the first (PlaceHolder) notification | 111 | mockModel.clear(); |
427 | 127 | mockModel.remove(1, mockModel.count - 1) | ||
429 | 128 | } | 112 | } |
430 | 129 | 113 | ||
431 | 130 | function removeTopMostNotification() { | 114 | function removeTopMostNotification() { |
435 | 131 | // leave real/first (PlaceHolder) notification untouched | 115 | if (mockModel.count > 0) { |
436 | 132 | if (mockModel.count > 1) | 116 | mockModel.remove(0); |
437 | 133 | mockModel.remove(1) | 117 | } |
438 | 134 | } | 118 | } |
439 | 135 | 119 | ||
440 | 136 | Rectangle { | 120 | Rectangle { |
441 | @@ -205,11 +189,11 @@ | |||
442 | 205 | notifications.forceLayout(); | 189 | notifications.forceLayout(); |
443 | 206 | waitForRendering(notifications); | 190 | waitForRendering(notifications); |
444 | 207 | 191 | ||
446 | 208 | var snap_decision = [findChild(notifications, "notification1"), | 192 | var snap_decision = [findChild(notifications, "notification0"), |
447 | 193 | findChild(notifications, "notification1"), | ||
448 | 209 | findChild(notifications, "notification2"), | 194 | findChild(notifications, "notification2"), |
449 | 210 | findChild(notifications, "notification3"), | 195 | findChild(notifications, "notification3"), |
452 | 211 | findChild(notifications, "notification4"), | 196 | findChild(notifications, "notification4")] |
451 | 212 | findChild(notifications, "notification5")] | ||
453 | 213 | 197 | ||
454 | 214 | for (var index = 0; index < snap_decision.length; index++) { | 198 | for (var index = 0; index < snap_decision.length; index++) { |
455 | 215 | verify(snap_decision[index] !== undefined, index + ". snap-decision wasn't found"); | 199 | verify(snap_decision[index] !== undefined, index + ". snap-decision wasn't found"); |
FAILED: Continuous integration, rev:2496 /unity8- jenkins. ubuntu. com/job/ lp-unity8- ci/1623/ /unity8- jenkins. ubuntu. com/job/ build/2163 /unity8- jenkins. ubuntu. com/job/ test-0- autopkgtest/ label=amd64, release= vivid+overlay, testname= qmluitests. sh/1145/ console /unity8- jenkins. ubuntu. com/job/ test-0- autopkgtest/ label=amd64, release= xenial+ overlay, testname= qmluitests. sh/1145 /unity8- jenkins. ubuntu. com/job/ test-0- autopkgtest/ label=amd64, release= yakkety, testname= qmluitests. sh/1145 /unity8- jenkins. ubuntu. com/job/ build-0- fetch/2191 /unity8- jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= vivid+overlay/ 2098 /unity8- jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= xenial+ overlay/ 2098 /unity8- jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= yakkety/ 2098 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= vivid+overlay/ 2089 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= vivid+overlay/ 2089/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= xenial+ overlay/ 2089 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= xenial+ overlay/ 2089/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= yakkety/ 2089 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= yakkety/ 2089/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= vivid+overlay/ 2089 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= vivid+overlay/ 2089/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= xenial+ overlay/ 2089 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= xenial+ overlay/ 2089/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= yakkety/ 2089 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= yakkety/ 2089/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= vivid+overlay/ 2089 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= vivid+overlay/ 2089/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= xenial+ overlay/ 2089 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= xenial+ overlay/ 2089/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= yakkety/ 2089 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= yakkety/ 2089/artifact/ output/ *zip*/output. zip
https:/
Executed test runs:
SUCCESS: https:/
FAILURE: https:/
UNSTABLE: https:/
SUCCESS: https:/
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:/
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/1623/ rebuild
https:/