[gnome-shell/gnome-3-6] MessageTray: fix notification height expansion
- From: Florian MÃllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell/gnome-3-6] MessageTray: fix notification height expansion
- Date: Thu, 14 Feb 2013 07:51:25 +0000 (UTC)
commit 9d931b5e013475be5733fc92bd105b3a691a4097
Author: Giovanni Campagna <gcampagna src gnome org>
Date: Fri Nov 30 16:05:38 2012 +0100
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
js/ui/messageTray.js | 24 ++++++------------------
1 files changed, 6 insertions(+), 18 deletions(-)
---
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);
},
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]