[gnome-documents] searchbar: Don't mess with the text input by the user



commit dcea16b44724d8de57e7d0dca60312cc64f6c635
Author: Debarshi Ray <debarshir gnome org>
Date:   Mon May 20 13:45:20 2013 +0200

    searchbar: Don't mess with the text input by the user
    
    https://bugzilla.gnome.org/show_bug.cgi?id=699620

 src/searchbar.js |   18 +++++++++++++-----
 1 files changed, 13 insertions(+), 5 deletions(-)
---
diff --git a/src/searchbar.js b/src/searchbar.js
index 4e9a6b5..364ecd4 100644
--- a/src/searchbar.js
+++ b/src/searchbar.js
@@ -286,15 +286,13 @@ const OverviewSearchbar = new Lang.Class({
             Lang.bind(this, this._onTagClicked));
 
         // connect to search string changes in the controller
-        let searchChangedId = Application.searchController.connect('search-string-changed', Lang.bind(this,
-            function(controller, string) {
-                this._searchEntry.set_text(string);
-            }));
+        this._searchChangedId = Application.searchController.connect('search-string-changed',
+            Lang.bind(this, this._onSearchStringChanged));
 
         this._searchEntry.connect('destroy', Lang.bind(this,
             function() {
                 this._dropdown.widget.reveal_child = false;
-                Application.searchController.disconnect(searchChangedId);
+                Application.searchController.disconnect(this._searchChangedId);
             }));
 
         // create the dropdown button
@@ -323,7 +321,17 @@ const OverviewSearchbar = new Lang.Class({
 
     entryChanged: function() {
         let currentText = this._searchEntry.get_text().toLowerCase();
+
+        Application.searchController.disconnect(this._searchChangedId);
         Application.searchController.setString(currentText);
+
+        // connect to search string changes in the controller
+        this._searchChangedId = Application.searchController.connect('search-string-changed',
+            Lang.bind(this, this._onSearchStringChanged));
+    },
+
+    _onSearchStringChanged: function(controller, string) {
+        this._searchEntry.set_text(string);
     },
 
     _onActiveCollectionChanged: function() {


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