[gnome-shell] messageTray: Clean up _updateState for the summary box pointer



commit e818ddf1528f25f6289f391b4947a6ec3b40a43b
Author: Jasper St. Pierre <jstpierre mecheye net>
Date:   Thu Aug 1 23:41:16 2013 -0400

    messageTray: Clean up _updateState for the summary box pointer
    
    This code still isn't great, but it's an improvement over what we
    had before.

 js/ui/messageTray.js |   28 ++++++++++++++--------------
 1 files changed, 14 insertions(+), 14 deletions(-)
---
diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js
index 8730c97..f17e709 100644
--- a/js/ui/messageTray.js
+++ b/js/ui/messageTray.js
@@ -2273,29 +2273,29 @@ const MessageTray = new Lang.Class({
 
         // Summary notification
         let haveClickedSummaryItem = this._clickedSummaryItem != null;
-        // We only have sources with empty notification stacks for legacy tray icons. Currently, we never 
attempt
-        // to show notifications for legacy tray icons, but this would be necessary if we did.
         let requestedNotificationStackIsEmpty = (haveClickedSummaryItem &&
                                                  this._clickedSummaryItemMouseButton == 1 &&
                                                  this._clickedSummaryItem.source.notifications.length == 0);
-        let wrongSummaryNotificationStack = (haveClickedSummaryItem &&
-                                             this._clickedSummaryItemMouseButton == 1 &&
-                                             this._summaryBoxPointer.bin.child != 
this._clickedSummaryItem.notificationStackWidget);
-        let wrongSummaryRightClickMenu = (haveClickedSummaryItem &&
-                                          this._clickedSummaryItemMouseButton == 3 &&
-                                          this._clickedSummaryItem.rightClickMenu != null &&
-                                          this._summaryBoxPointer.bin.child != 
this._clickedSummaryItem.rightClickMenu);
-        let wrongSummaryBoxPointer = (haveClickedSummaryItem &&
-                                      (wrongSummaryNotificationStack || wrongSummaryRightClickMenu));
 
         if (this._summaryBoxPointerState == State.HIDDEN) {
             if (haveClickedSummaryItem && !requestedNotificationStackIsEmpty)
                 this._showSummaryBoxPointer();
         } else if (this._summaryBoxPointerState == State.SHOWN) {
-            if (!haveClickedSummaryItem || wrongSummaryBoxPointer || !hasNotifications) {
-                this._hideSummaryBoxPointer();
-                if (wrongSummaryBoxPointer)
+            if (haveClickedSummaryItem && hasNotifications) {
+                let wrongSummaryNotificationStack = (this._clickedSummaryItemMouseButton == 1 &&
+                                                     this._summaryBoxPointer.bin.child != 
this._clickedSummaryItem.notificationStackWidget &&
+                                                     requestedNotificationStackIsEmpty);
+                let wrongSummaryRightClickMenu = (this._clickedSummaryItemMouseButton == 3 &&
+                                                  this._clickedSummaryItem.rightClickMenu != null &&
+                                                  this._summaryBoxPointer.bin.child != 
this._clickedSummaryItem.rightClickMenu);
+                let wrongSummaryBoxPointer = (wrongSummaryNotificationStack || wrongSummaryRightClickMenu);
+
+                if (wrongSummaryBoxPointer) {
+                    this._hideSummaryBoxPointer();
                     this._showSummaryBoxPointer();
+                }
+            } else {
+                this._hideSummaryBoxPointer();
             }
         }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]