Merge lp:~unity-team/unity8/fix-1308011 into lp:unity8

Proposed by Michael Zanetti
Status: Merged
Approved by: Michał Sawicz
Approved revision: 1005
Merged at revision: 1052
Proposed branch: lp:~unity-team/unity8/fix-1308011
Merge into: lp:unity8
Diff against target: 190 lines (+54/-15)
4 files modified
debian/control (+3/-3)
qml/Notifications/Notification.qml (+21/-7)
qml/Notifications/NotificationMenuItemFactory.qml (+12/-3)
qml/Notifications/Notifications.qml (+18/-2)
To merge this branch: bzr merge lp:~unity-team/unity8/fix-1308011
Reviewer Review Type Date Requested Status
PS Jenkins bot (community) continuous-integration Needs Fixing
Michał Sawicz Approve
Mirco Müller (community) Abstain
Review via email: mp+225354@code.launchpad.net

Commit message

Fixes gap at top of sim-unlock/fullscreen notification (point 1.), fixes blocking overlay if underlying UnityMenuModel vanishes from DBus (point 2.). The third bullet-point of the bug-report, lockup of shell-UI, could not be reproduced.

Description of the change

Fixes gap at top of sim-unlock/fullscreen notification (point 1.), fixes blocking overlay if underlying UnityMenuModel vanishes from DBus (point 2.). The third bullet-point of the bug-report, lockup of shell-UI, could not be reproduced.

- Are there any related MPs required for this MP to build/function as expected?
Yes. lp:~larsu/qmenumodel/add-nameowner-property and lp:~macslow/unity-notifications/fix-1308011 need to land first before this can be merged to trunk.

- Did you perform an exploratory manual test run of your code change and any related functionality?
Yes

- Did you make sure that your branch does not contain spurious tags?
Yes

- If you changed the packaging (debian), did you subscribe the ubuntu-unity team to this MP?
Not applicable

- If you changed the UI, has there been a design review?
Not applicable

To post a comment you must log in.
Revision history for this message
Mirco Müller (macslow) wrote :

Since I also worked on this branch, I should not be a reviewer.

review: Abstain
Revision history for this message
Michał Sawicz (saviq) wrote :

See inline.

review: Needs Fixing
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Michael Zanetti (mzanetti) wrote :

Replied to one inline comment

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
lp:~unity-team/unity8/fix-1308011 updated
1003. By Mirco Müller

Reverted an accidental commit of a temporary experiment with the sound-hints.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Michał Sawicz (saviq) wrote :

Inline.

review: Needs Fixing
Revision history for this message
Mirco Müller (macslow) :
lp:~unity-team/unity8/fix-1308011 updated
1004. By Mirco Müller

Avoid undefined-assignment warning for QUrl-based source.

Revision history for this message
Mirco Müller (macslow) :
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
lp:~unity-team/unity8/fix-1308011 updated
1005. By Mirco Müller

Updated debian/control to require newer version of qmenumodel.

Revision history for this message
Michał Sawicz (saviq) wrote :

 * Did you perform an exploratory manual test run of the code change and any related functionality?
Yes. Real nice.

 * Did CI run pass? If not, please explain why.
New required dependencies.

review: Approve
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'debian/control'
--- debian/control 2014-07-11 08:47:58 +0000
+++ debian/control 2014-07-15 16:16:00 +0000
@@ -17,7 +17,7 @@
17 libhud-client2-dev,17 libhud-client2-dev,
18 libpay1-dev,18 libpay1-dev,
19 libpulse-dev,19 libpulse-dev,
20 libqmenumodel-dev (>= 0.2.7),20 libqmenumodel-dev (>= 0.2.8),
21 libqt5xmlpatterns5-dev,21 libqt5xmlpatterns5-dev,
22 libunity-api-dev (>= 7.85),22 libunity-api-dev (>= 7.85),
23 libunity-mir-dev,23 libunity-mir-dev,
@@ -52,7 +52,7 @@
5252
53Package: indicators-client53Package: indicators-client
54Architecture: amd64 armhf i38654Architecture: amd64 armhf i386
55Depends: qmenumodel-qml (>= 0.2.7),55Depends: qmenumodel-qml (>= 0.2.8),
56 qtdeclarative5-ubuntu-ui-toolkit-plugin (>= 0.1.49) | qtdeclarative5-ubuntu-ui-toolkit-plugin-gles (>= 0.1.49),56 qtdeclarative5-ubuntu-ui-toolkit-plugin (>= 0.1.49) | qtdeclarative5-ubuntu-ui-toolkit-plugin-gles (>= 0.1.49),
57 unity8 (= ${binary:Version}),57 unity8 (= ${binary:Version}),
58 ${misc:Depends},58 ${misc:Depends},
@@ -77,7 +77,7 @@
77 libcap2-bin,77 libcap2-bin,
78 libglib2.0-bin,78 libglib2.0-bin,
79 libunity-mir1 (>= 0.4),79 libunity-mir1 (>= 0.4),
80 qmenumodel-qml (>= 0.2.7),80 qmenumodel-qml (>= 0.2.8),
81 qml-module-qtquick-xmllistmodel,81 qml-module-qtquick-xmllistmodel,
82 qtdeclarative5-gsettings1.0,82 qtdeclarative5-gsettings1.0,
83 qtdeclarative5-ubuntu-settings-components (>= 0.3),83 qtdeclarative5-ubuntu-settings-components (>= 0.3),
8484
=== modified file 'qml/Notifications/Notification.qml'
--- qml/Notifications/Notification.qml 2014-07-11 08:50:21 +0000
+++ qml/Notifications/Notification.qml 2014-07-15 16:16:00 +0000
@@ -36,7 +36,7 @@
36 property var hints36 property var hints
37 property var notification37 property var notification
38 property color color38 property color color
39 property bool fullscreen39 property bool fullscreen: false
40 property int maxHeight40 property int maxHeight
41 property int margins41 property int margins
42 property Gradient greenGradient : Gradient {42 property Gradient greenGradient : Gradient {
@@ -48,7 +48,6 @@
48 GradientStop { position: 1.0; color: "#4d4745" }48 GradientStop { position: 1.0; color: "#4d4745" }
49 }49 }
5050
51 fullscreen: false
52 objectName: "background"51 objectName: "background"
53 implicitHeight: type !== Notification.PlaceHolder ? (fullscreen ? maxHeight : contentColumn.height + contentColumn.spacing * 2) : 052 implicitHeight: type !== Notification.PlaceHolder ? (fullscreen ? maxHeight : contentColumn.height + contentColumn.spacing * 2) : 0
5453
@@ -80,7 +79,7 @@
80 Audio {79 Audio {
81 id: sound80 id: sound
82 objectName: "sound"81 objectName: "sound"
83 source: hints["suppress-sound"] != "" ? hints["sound-file"] : undefined82 source: hints["suppress-sound"] != "true" && hints["sound-file"] != undefined ? hints["sound-file"] : ""
84 }83 }
8584
86 onOpacityChanged: {85 onOpacityChanged: {
@@ -159,9 +158,17 @@
159 UnityMenuModel {158 UnityMenuModel {
160 id: unityMenuModel159 id: unityMenuModel
161160
161 property string lastNameOwner: ""
162
162 busName: paths.busName163 busName: paths.busName
163 actions: paths.actions164 actions: paths.actions
164 menuObjectPath: paths.menuObjectPath165 menuObjectPath: paths.menuObjectPath
166 onNameOwnerChanged: {
167 if (lastNameOwner != "" && nameOwner == "" && notification.notification != undefined) {
168 notification.notification.close()
169 }
170 lastNameOwner = nameOwner
171 }
165 }172 }
166173
167 Behavior on implicitHeight {174 Behavior on implicitHeight {
@@ -272,14 +279,18 @@
272 }279 }
273280
274 Column {281 Column {
282 id: dialogColumn
275 objectName: "dialogListView"283 objectName: "dialogListView"
276 spacing: units.gu(2)284 spacing: units.gu(2)
277285
278 visible: count > 0286 visible: count > 0
279287
280 anchors.left: parent.left; anchors.right: parent.right288 anchors {
281 anchors.top: fullscreen ? parent.top : undefined289 left: parent.left
282 anchors.bottom: fullscreen ? parent.bottom : undefined290 right: parent.right
291 top: fullscreen ? parent.top : undefined
292 bottom: fullscreen ? parent.bottom : undefined
293 }
283294
284 Repeater {295 Repeater {
285 model: unityMenuModel296 model: unityMenuModel
@@ -287,7 +298,10 @@
287 NotificationMenuItemFactory {298 NotificationMenuItemFactory {
288 id: menuItemFactory299 id: menuItemFactory
289300
290 anchors.left: parent.left; anchors.right: parent.right301 anchors {
302 left: dialogColumn.left
303 right: dialogColumn.right
304 }
291305
292 menuModel: unityMenuModel306 menuModel: unityMenuModel
293 menuData: model307 menuData: model
294308
=== modified file 'qml/Notifications/NotificationMenuItemFactory.qml'
--- qml/Notifications/NotificationMenuItemFactory.qml 2014-06-11 15:36:51 +0000
+++ qml/Notifications/NotificationMenuItemFactory.qml 2014-07-15 16:16:00 +0000
@@ -50,7 +50,10 @@
50 Column {50 Column {
51 spacing: units.gu(2)51 spacing: units.gu(2)
5252
53 anchors.left: parent.left; anchors.right: parent.right53 anchors {
54 left: parent.left
55 right: parent.right
56 }
5457
55 Component.onCompleted: {58 Component.onCompleted: {
56 menuModel.loadExtendedAttributes(menuIndex, {"x-echo-mode-password": "bool"});59 menuModel.loadExtendedAttributes(menuIndex, {"x-echo-mode-password": "bool"});
@@ -67,7 +70,10 @@
6770
68 // TODO using Qt.ImhNoPredictiveText here until lp #1291575 is fixed for ubuntu-ui-toolkit71 // TODO using Qt.ImhNoPredictiveText here until lp #1291575 is fixed for ubuntu-ui-toolkit
69 inputMethodHints: Qt.ImhNoAutoUppercase | Qt.ImhNoPredictiveText72 inputMethodHints: Qt.ImhNoAutoUppercase | Qt.ImhNoPredictiveText
70 anchors.left: parent.left; anchors.right: parent.right73 anchors {
74 left: parent.left
75 right: parent.right
76 }
71 echoMode: checkBox.checked ? TextInput.Normal : TextInput.Password77 echoMode: checkBox.checked ? TextInput.Normal : TextInput.Password
72 height: units.gu(5)78 height: units.gu(5)
73 onTextChanged: {79 onTextChanged: {
@@ -98,7 +104,10 @@
98 id: pinLock104 id: pinLock
99105
100 Lockscreen {106 Lockscreen {
101 anchors.left: parent.left; anchors.right: parent.right107 anchors {
108 left: parent.left
109 right: parent.right
110 }
102 height: menuFactory.maxHeight111 height: menuFactory.maxHeight
103 placeholderText: i18n.tr("Please enter SIM PIN")112 placeholderText: i18n.tr("Please enter SIM PIN")
104 background: shell.background113 background: shell.background
105114
=== modified file 'qml/Notifications/Notifications.qml'
--- qml/Notifications/Notifications.qml 2014-04-10 14:21:48 +0000
+++ qml/Notifications/Notifications.qml 2014-07-15 16:16:00 +0000
@@ -36,8 +36,11 @@
36 filterRole: UnityNotifications.ModelInterface.RoleType36 filterRole: UnityNotifications.ModelInterface.RoleType
37 filterRegExp: RegExp(UnityNotifications.Notification.SnapDecision)37 filterRegExp: RegExp(UnityNotifications.Notification.SnapDecision)
38 }38 }
39 spacing: delegate.fullscreen ? 0 : units.gu(.5)39
4040 property bool topmostIsFullscreen: false
41 spacing: topmostIsFullscreen ? 0 : units.gu(.5)
42
43 // FIXME: This doesn't make any sense and results in a binding loop
41 currentIndex: (currentIndex < 1 && count > 1) ? 1 : -144 currentIndex: (currentIndex < 1 && count > 1) ? 1 : -1
4245
43 delegate: Notification {46 delegate: Notification {
@@ -61,6 +64,19 @@
61 // make sure there's no opacity-difference between the several64 // make sure there's no opacity-difference between the several
62 // elements in a notification65 // elements in a notification
63 layer.enabled: add.running || remove.running || populate.running66 layer.enabled: add.running || remove.running || populate.running
67
68 Component.onCompleted: {
69 if (index == 1) {
70 notificationList.topmostIsFullscreen = fullscreen
71 }
72 }
73
74 onFullscreenChanged: {
75 // index 1 because 0 is the PlaceHolder...
76 if (index == 1) {
77 notificationList.topmostIsFullscreen = fullscreen
78 }
79 }
64 }80 }
6581
66 populate: Transition {82 populate: Transition {

Subscribers

People subscribed via source and target branches