summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.net>2008-03-04 13:39:40 +0100
committerRené 'Necoro' Neumann <necoro@necoro.net>2008-03-04 13:39:40 +0100
commite56f12cbaa9c0d8e88696ce2e32b76dd525fdb6d (patch)
treef9f18c4d7f7324fb55d7aa265eb7549139aef705
parentb1ea53aac10d36b2716d9c8de0dbc4edbac98fa1 (diff)
downloadportato-e56f12cbaa9c0d8e88696ce2e32b76dd525fdb6d.tar.gz
portato-e56f12cbaa9c0d8e88696ce2e32b76dd525fdb6d.tar.bz2
portato-e56f12cbaa9c0d8e88696ce2e32b76dd525fdb6d.zip
Reduced lag in searching
Diffstat (limited to '')
-rw-r--r--portato/gui/gtk/windows.py25
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):
"""
ns'>+4 2014-04-19bash-completion: fix completion-file's name in uninstallschalox1-1/+1 2014-04-19platform: Auto-detect local platform fileJason A. Donenfeld2-3/+3 2014-04-19platform: Allow custom platform file before installJason A. Donenfeld2-3/+5 2014-04-18reencrypt: cleaner temp file declarationJason A. Donenfeld1-4/+4 2014-04-18Remove unneeded semicolon.Jason A. Donenfeld1-14/+14 2014-04-18Check sneaky paths.Jason A. Donenfeld1-0/+15 2014-04-18Pruning: turns out rmdir does it for us with -p.Jason A. Donenfeld1-9/+3 2014-04-18Abstract remove empty directories into function.Jason A. Donenfeld1-14/+11 2014-04-18Remember to prune empty folders.Jason A. Donenfeld1-0/+8 2014-04-18init: allow deinitializationJason A. Donenfeld2-2/+18 2014-04-18bash-completion: filter dot files from resultsJason A. Donenfeld1-3/+8 2014-04-18reencrypt: remove option, do automaticallyJason A. Donenfeld5-39/+25 2014-04-18reencryption: add to completion filesJason A. Donenfeld3-1/+5 2014-04-18Specify variable gpg.Jason A. Donenfeld1-1/+1 2014-04-18style: don't escape new line on &&Jason A. Donenfeld1-2/+2 2014-04-18reencryption: remove temporary file on failureJason A. Donenfeld1-1/+1 2014-04-18reencryption: only reencrypt files when requiredJason A. Donenfeld2-16/+37 2014-04-17cp: typo as cvJason A. Donenfeld1-1/+1 2014-04-17bash: gpg_id is localJason A. Donenfeld1-0/+1 2014-04-17move/copy: always reencrypt passwords at destinationJason A. Donenfeld5-25/+56 2014-04-17makefile: allow platform files with gnu sedJason A. Donenfeld1-7/+8 2014-04-17mv: Add pass mv/rename supportJason A. Donenfeld5-3/+78 2014-04-17revelation2pass: add plain XML importJavali1-11/+15 2014-04-17platform: add cygwin supportJason A. Donenfeld2-1/+17