[gnome-shell] messageTray: Clean up the code that animates the notification
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] messageTray: Clean up the code that animates the notification
- Date: Fri, 16 Aug 2013 02:12:35 +0000 (UTC)
commit 3cb809b44417d2a46a281ae92e1b1212d7144215
Author: Jasper St. Pierre <jstpierre mecheye net>
Date: Thu Aug 1 22:53:21 2013 -0400
messageTray: Clean up the code that animates the notification
Right now the code chooses to animate based on whether or not the
notification was "removed", which is quite a sketchy subject. For
now, add an additional case so that we don't animate when we transition
to the lock screen.
js/ui/messageTray.js | 40 ++++++++++++++++++++--------------------
1 files changed, 20 insertions(+), 20 deletions(-)
---
diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js
index 250c112..12597ab 100644
--- a/js/ui/messageTray.js
+++ b/js/ui/messageTray.js
@@ -2250,26 +2250,27 @@ const MessageTray = new Lang.Class({
let nextNotification = notificationQueue.length > 0 ? notificationQueue[0] : null;
let notificationPinned = this._pointerInNotification && !this._notificationRemoved;
let notificationExpanded = this._notification && this._notification.expanded;
- let notificationExpired = this._notificationTimeoutId == 0 &&
- !(this._notification && this._notification.urgency == Urgency.CRITICAL) &&
- !(this._notification && this._notification.focused) &&
- !this._pointerInNotification;
+ let notificationExpired = (this._userActiveWhileNotificationShown &&
+ this._notificationTimeoutId == 0 &&
+ !(this._notification && this._notification.urgency == Urgency.CRITICAL) &&
+ !(this._notification && this._notification.focused) &&
+ !this._pointerInNotification);
let notificationLockedOut = !hasNotifications && this._notification;
- let notificationMustClose = (this._notificationRemoved || notificationLockedOut ||
- (notificationExpired && this._userActiveWhileNotificationShown) ||
- this._traySummoned);
+ let notificationMustClose = (this._notificationRemoved || notificationLockedOut ||
notificationExpired || this._traySummoned);
let canShowNotification = notificationsPending && this._trayState == State.HIDDEN &&
!this._traySummoned;
if (this._notificationState == State.HIDDEN) {
if (canShowNotification)
this._showNotification();
} else if (this._notificationState == State.SHOWN) {
- if (notificationMustClose)
- this._hideNotification();
- else if (notificationPinned && !notificationExpanded)
+ if (notificationMustClose) {
+ let animate = !(this._notificationRemoved || notificationLockedOut);
+ this._hideNotification(animate);
+ } else if (notificationPinned && !notificationExpanded) {
this._expandNotification(false);
- else if (notificationPinned)
+ } else if (notificationPinned) {
this._ensureNotificationFocused();
+ }
}
// Summary notification
@@ -2549,7 +2550,7 @@ const MessageTray = new Lang.Class({
return false;
},
- _hideNotification: function() {
+ _hideNotification: function(animate) {
this._notificationFocusGrabber.ungrabFocus();
if (this._notificationExpandedId) {
@@ -2573,13 +2574,7 @@ const MessageTray = new Lang.Class({
this._notificationLeftMouseY = -1;
}
- if (this._notificationRemoved) {
- Tweener.removeTweens(this._notificationWidget);
- this._notificationWidget.y = this.actor.height;
- this._notificationWidget.opacity = 0;
- this._notificationState = State.HIDDEN;
- this._hideNotificationCompleted();
- } else {
+ if (animate) {
this._tween(this._notificationWidget, '_notificationState', State.HIDDEN,
{ y: this.actor.height,
opacity: 0,
@@ -2588,7 +2583,12 @@ const MessageTray = new Lang.Class({
onComplete: this._hideNotificationCompleted,
onCompleteScope: this
});
-
+ } else {
+ Tweener.removeTweens(this._notificationWidget);
+ this._notificationWidget.y = this.actor.height;
+ this._notificationWidget.opacity = 0;
+ this._notificationState = State.HIDDEN;
+ this._hideNotificationCompleted();
}
},
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]