[gnome-shell] viewSelector: clean up active search state code



commit 4bd071bf3c2b0273e557db7614ab061a4d1627c1
Author: Cosimo Cecchi <cosimoc gnome org>
Date:   Fri Aug 24 11:24:49 2012 -0500

    viewSelector: clean up active search state code
    
    'active' isn't terribly clear about just what is active; also, make it
    private, remove an useless extra object state we were saving, and
    refactor some messy code.
    Based on a patch by Tanner Doshier.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=692454

 js/ui/viewSelector.js |   53 +++++++++++++++++++++++-------------------------
 1 files changed, 25 insertions(+), 28 deletions(-)
---
diff --git a/js/ui/viewSelector.js b/js/ui/viewSelector.js
index 1ece4a0..c45057c 100644
--- a/js/ui/viewSelector.js
+++ b/js/ui/viewSelector.js
@@ -47,8 +47,7 @@ const ViewSelector = new Lang.Class({
 
         this._activePage = null;
 
-        this.active = false;
-        this._searchPending = false;
+        this._searchActive = false;
         this._searchTimeoutId = 0;
 
         this._searchSystem = new Search.SearchSystem();
@@ -224,7 +223,7 @@ const ViewSelector = new Lang.Class({
     },
 
     _onShowAppsButtonToggled: function() {
-        if (this.active)
+        if (this._searchActive)
             this.reset();
         else
             this._showPage(this._showAppsButton.checked ? this._appsPage
@@ -245,7 +244,7 @@ const ViewSelector = new Lang.Class({
         let symbol = event.get_key_symbol();
 
         if (symbol == Clutter.Escape) {
-            if (this.active)
+            if (this._searchActive)
                 this.reset();
             else if (this._showAppsButton.checked)
                 this._resetShowAppsButton();
@@ -253,9 +252,9 @@ const ViewSelector = new Lang.Class({
                 Main.overview.hide();
             return true;
         } else if (Clutter.keysym_to_unicode(symbol) ||
-                   (symbol == Clutter.BackSpace && this.active)) {
+                   (symbol == Clutter.BackSpace && this._searchActive)) {
             this.startSearch(event);
-        } else if (!this.active) {
+        } else if (!this._searchActive) {
             if (symbol == Clutter.Tab || symbol == Clutter.Down) {
                 this._activePage.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
                 return true;
@@ -329,39 +328,37 @@ const ViewSelector = new Lang.Class({
     },
 
     _onTextChanged: function (se, prop) {
-        let searchPreviouslyActive = this.active;
-        this.active = this._entry.get_text() != '';
-        this._searchPending = this.active && !searchPreviouslyActive;
-        if (this._searchPending) {
+        let searchPreviouslyActive = this._searchActive;
+        this._searchActive = this._entry.get_text() != '';
+
+        let startSearch = this._searchActive && !searchPreviouslyActive;
+        if (startSearch)
             this._searchResults.startingSearch();
-        }
-        if (this.active) {
+
+        if (this._searchActive) {
             this._entry.set_secondary_icon(this._activeIcon);
 
-            if (this._iconClickedId == 0) {
+            if (this._iconClickedId == 0)
                 this._iconClickedId = this._entry.connect('secondary-icon-clicked',
-                    Lang.bind(this, function() {
-                        this.reset();
-                    }));
-            }
+                    Lang.bind(this, this.reset));
+
+            if (this._searchTimeoutId == 0)
+                this._searchTimeoutId = Mainloop.timeout_add(150,
+                    Lang.bind(this, this._doSearch));
         } else {
-            if (this._iconClickedId > 0)
+            if (this._iconClickedId > 0) {
                 this._entry.disconnect(this._iconClickedId);
-            this._iconClickedId = 0;
+                this._iconClickedId = 0;
+            }
 
-            this._entry.set_secondary_icon(this._inactiveIcon);
-            this._searchCancelled();
-        }
-        if (!this.active) {
             if (this._searchTimeoutId > 0) {
                 Mainloop.source_remove(this._searchTimeoutId);
                 this._searchTimeoutId = 0;
             }
-            return;
+
+            this._entry.set_secondary_icon(this._inactiveIcon);
+            this._searchCancelled();
         }
-        if (this._searchTimeoutId > 0)
-            return;
-        this._searchTimeoutId = Mainloop.timeout_add(150, Lang.bind(this, this._doSearch));
     },
 
     _onKeyPress: function(entry, event) {
@@ -380,7 +377,7 @@ const ViewSelector = new Lang.Class({
             }
             this._searchResults.activateDefault();
             return true;
-        } else if (this.active) {
+        } else if (this._searchActive) {
             let arrowNext, nextDirection;
             if (entry.get_text_direction() == Clutter.TextDirection.RTL) {
                 arrowNext = Clutter.Left;



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