[gnome-shell: 3/4] Always clear details pane when unsetting more mode



commit 9d594d7f26fc10384428ea5e410bc47111175374
Author: Colin Walters <walters space-ghost verbum org>
Date:   Sat Jul 11 12:33:57 2009 -0400

    Always clear details pane when unsetting more mode
    
    We don't want a detail pane hanging around for an item no
    longer visible.

 js/ui/overlay.js |   26 +++++++++++---------------
 1 files changed, 11 insertions(+), 15 deletions(-)
---
diff --git a/js/ui/overlay.js b/js/ui/overlay.js
index 3c8fb53..786b649 100644
--- a/js/ui/overlay.js
+++ b/js/ui/overlay.js
@@ -325,7 +325,7 @@ Dash.prototype = {
                 if (me._searchEntry.entry.text != '')
                     me._searchEntry.entry.text = '';
                 // Next, if we're in one of the "more" modes or showing the details pane, close them
-                else if (me._moreAppsMode || me._moreDocsMode || me._detailsShowing())
+                else if (me._resultsShowing())
                     me.unsetMoreMode();
                 // Finally, just close the overlay entirely
                 else
@@ -600,10 +600,7 @@ Dash.prototype = {
 
         this._moreAppsLink.setText("More...");
 
-        this._repositionDetails();
-        if (!this._detailsShowing()) {
-            this.emit('panes-removed');
-        }
+        this._hideDetails();
     },   
  
     // Sets the 'More' mode for browsing documents.
@@ -639,11 +636,7 @@ Dash.prototype = {
 
         this._moreDocsLink.setText("More...");
 
-        this._repositionDetails();
-
-        if (!this._detailsShowing()) {
-            this.emit('panes-removed');
-        }
+        this._hideDetails();
     },
 
     _setSearchMode: function() {
@@ -682,11 +675,7 @@ Dash.prototype = {
         this._resultsDocsSection._unsetSearchMode();
         this._resultsDocsSection.actor.set_y(0);
 
-        this._repositionDetails();
-
-        if (!this._detailsShowing()) {
-            this.emit('panes-removed');
-        }
+        this._hideDetails();
     },
 
     _repositionDetails: function () {
@@ -705,6 +694,13 @@ Dash.prototype = {
         this.emit('panes-displayed');
     },
 
+    _hideDetails: function() {
+        if (!this._detailsShowing)
+            return;
+        this._detailsPane.hide();
+        this.emit('panes-removed');
+     },
+
     _detailsShowing: function() {
         return this._detailsPane.visible;
     },



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