From e56f12cbaa9c0d8e88696ce2e32b76dd525fdb6d Mon Sep 17 00:00:00 2001 From: René 'Necoro' Neumann Date: Tue, 4 Mar 2008 13:39:40 +0100 Subject: Reduced lag in searching --- portato/gui/gtk/windows.py | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) (limited to 'portato/gui/gtk/windows.py') 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): """ -- cgit v1.2.3-54-g00ecf