Querying tracker happens everytime user types a letter.
To avoid it, waits for 500ms after user stops typing before asking tracker.
---
src/tracker-search-tool/tracker-entry.gs | 21 ++++++++++++++++++---
1 files changed, 18 insertions(+), 3 deletions(-)
diff --git a/src/tracker-search-tool/tracker-entry.gs
b/src/tracker-search-tool/tracker-entry.gs
index 211f6d8..5f02004 100644
--- a/src/tracker-search-tool/tracker-entry.gs
+++ b/src/tracker-search-tool/tracker-entry.gs
@@ -25,7 +25,11 @@ uses
TrackerUtils
+const static RUN_DELAY : int = 500
+
class TrackerSearchEntry : Gtk.Entry
+ id_invoker : uint = 0
+
prop Query : TrackerQuery
init
@@ -43,12 +47,23 @@ class TrackerSearchEntry : Gtk.Entry
def private entry_changed (editable : Editable)
if Query is not null
if text is null
+ Query.SearchTerms = ""
+ if id_invoker != 0
+ Source.remove (id_invoker)
+ id_invoker = 0
+ set_icon_sensitive (EntryIconPosition.SECONDARY, false)
+ else
+ if id_invoker != 0
+ Source.remove (id_invoker)
+ id_invoker = Timeout.add (RUN_DELAY, run_query)
+
+ def private run_query () : bool
+ if Query is not null
+ if text is null
set_icon_sensitive (EntryIconPosition.SECONDARY, false)
Query.SearchTerms = ""
else
set_icon_sensitive (EntryIconPosition.SECONDARY, true)
Query.SearchTerms = EscapeSparql (text, true)
-
+ return false
-
-
--
1.6.0.4
_______________________________________________
tracker-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/tracker-list