1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- From 9d931b5e013475be5733fc92bd105b3a691a4097 Mon Sep 17 00:00:00 2001
- From: Giovanni Campagna <gcampagna@src.gnome.org>
- Date: Fri, 30 Nov 2012 15:05:38 +0000
- Subject: MessageTray: fix notification height expansion
- MessageTray._tween removes all tweens now, so it removes also
- those setting the height to expanded for critical notifications.
- This is a regression from 1a27d7dfc02c06bd0ccf4258a9108207b8832ce4
- https://bugzilla.gnome.org/show_bug.cgi?id=689295
- ---
- diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js
- index ce61e25..ef0cc02 100644
- --- a/js/ui/messageTray.js
- +++ b/js/ui/messageTray.js
- @@ -2200,40 +2200,28 @@ const MessageTray = new Lang.Class({
- _updateShowingNotification: function() {
- this._notification.acknowledged = true;
-
- - Tweener.removeTweens(this._notificationWidget);
- -
- // We auto-expand notifications with CRITICAL urgency.
- - // We use Tweener.removeTweens() to remove a tween that was hiding the notification we are
- - // updating, in case that notification was in the process of being hidden. However,
- - // Tweener.removeTweens() would also remove a tween that was updating the position of the
- - // notification we are updating, in case that notification was already expanded and its height
- - // changed. Therefore we need to call this._expandNotification() for expanded notifications
- - // to make sure their position is updated.
- - if (this._notification.urgency == Urgency.CRITICAL || this._notification.expanded)
- + if (this._notification.urgency == Urgency.CRITICAL)
- this._expandNotification(true);
-
- // We tween all notifications to full opacity. This ensures that both new notifications and
- // notifications that might have been in the process of hiding get full opacity.
- //
- - // We tween any notification showing in the banner mode to banner height
- - // (this._notificationWidget.y = -this._notificationWidget.height).
- + // We tween any notification showing in the banner mode to the appropriate height
- + // (which is banner height or expanded height, depending on the notification state)
- // This ensures that both new notifications and notifications in the banner mode that might
- - // have been in the process of hiding are shown with the banner height.
- + // have been in the process of hiding are shown with the correct height.
- //
- // We use this._showNotificationCompleted() onComplete callback to extend the time the updated
- // notification is being shown.
- - //
- - // We don't set the y parameter for the tween for expanded notifications because
- - // this._expandNotification() will result in getting this._notificationWidget.y set to the appropriate
- - // fully expanded value.
- +
- let tweenParams = { opacity: 255,
- + y: -this._notificationWidget.height,
- time: ANIMATION_TIME,
- transition: 'easeOutQuad',
- onComplete: this._showNotificationCompleted,
- onCompleteScope: this
- };
- - if (!this._notification.expanded)
- - tweenParams.y = -this._notificationWidget.height;
-
- this._tween(this._notificationWidget, '_notificationState', State.SHOWN, tweenParams);
- },
- --
- cgit v0.9.0.2
|