diff options
author | René 'Necoro' Neumann <necoro@necoro.net> | 2008-03-04 13:39:40 +0100 |
---|---|---|
committer | René 'Necoro' Neumann <necoro@necoro.net> | 2008-03-04 13:39:40 +0100 |
commit | e56f12cbaa9c0d8e88696ce2e32b76dd525fdb6d (patch) | |
tree | f9f18c4d7f7324fb55d7aa265eb7549139aef705 /portato/gui/gtk/windows.py | |
parent | b1ea53aac10d36b2716d9c8de0dbc4edbac98fa1 (diff) | |
download | portato-e56f12cbaa9c0d8e88696ce2e32b76dd525fdb6d.tar.gz portato-e56f12cbaa9c0d8e88696ce2e32b76dd525fdb6d.tar.bz2 portato-e56f12cbaa9c0d8e88696ce2e32b76dd525fdb6d.zip |
Reduced lag in searching
Diffstat (limited to 'portato/gui/gtk/windows.py')
-rw-r--r-- | portato/gui/gtk/windows.py | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/portato/gui/gtk/windows.py b/portato/gui/gtk/windows.py index 02785ed..5b6c621 100644 --- a/portato/gui/gtk/windows.py +++ b/portato/gui/gtk/windows.py @@ -948,6 +948,7 @@ class MainWindow (Window): # booleans self.doUpdate = False self.showAll = True # show only installed or all packages? + self.__searchChanged = False # installed pixbuf self.instPixbuf = self.window.render_icon(gtk.STOCK_YES, gtk.ICON_SIZE_MENU) @@ -1675,16 +1676,26 @@ class MainWindow (Window): Called when the user enters something in the search field. Updates the packages according to the search expression. """ - if self.cfg.get_boolean("searchOnType", section="GUI"): - txt = self.searchEntry.get_text() + if not self.__searchChanged and self.cfg.get_boolean("searchOnType", section="GUI"): + self.__searchChanged = True + + def __update(): + self.__searchChanged = False + txt = self.searchEntry.get_text() - if txt or self.db.restrict: - self.db.restrict = txt + if txt or self.db.restrict: + self.db.restrict = txt - self.refresh_stores() - self.catList.get_selection().select_path("0") # XXX make this smarter + self.refresh_stores() + self.catList.get_selection().select_path("0") # XXX make this smarter - return True + return False # not again ;) + + gobject.timeout_add(100, __update) + + def cb_delete_search_clicked (self, *args): + self.searchEntry.set_text("") + return True def cb_preferences_clicked (self, *args): """ |