>From 27f13a283a1141fd4696591eaaf70d32cd73ae76 Mon Sep 17 00:00:00 2001 From: Juan A. Suarez Romero Date: Fri, 23 Oct 2009 14:42:19 +0200 Subject: [PATCH 5/6] deskbar-handler: live search in all categories Now searching is done in every deskbar category. There are some categories that are not considered yet. --- src/plugins/deskbar/tracker-module.py | 17 +++++++++++++---- 1 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/plugins/deskbar/tracker-module.py b/src/plugins/deskbar/tracker-module.py index 9b9d70b..26ba721 100644 --- a/src/plugins/deskbar/tracker-module.py +++ b/src/plugins/deskbar/tracker-module.py @@ -118,17 +118,20 @@ TYPES = { 'Thunderbird/Email': 'thunderbird -viewtracker %(uri)s', 'KMail/Email': 'kmail --view %(uri)s', }, + 'class': 'nmo:Email', }, 'Music': { 'description': _('Listen to music %s\nin %s') % ('%(base)s', '%(dir)s'), 'category': 'music', #'icon': 'audio-x-generic', + 'class': 'nfo:Audio', }, 'Documents': { 'description': _('See document %s\nin %s') % ('%(base)s', '%(dir)s'), 'category': 'documents', + 'class': 'nfo:TextDocument', }, 'Development': { @@ -140,22 +143,26 @@ TYPES = { 'description': _('View image %s\nin %s') % ('%(base)s', '%(dir)s'), 'category': 'images', 'icon': 'image', + 'class': 'nfo:Image', }, 'Videos': { 'description': _('Watch video %s\nin %s') % ('%(base)s', '%(dir)s'), 'category': 'videos', #'icon': 'video-x-generic', + 'class': 'nfo:Video', }, 'Folders': { 'description': _('Open folder %s\n%s') % ('%(name)s', '%(dir)s/%(name)s'), 'category': 'places', + 'class': 'nfo:Folder', }, 'Files': { 'description': _('Open file %s\nin %s') % ('%(base)s', '%(dir)s'), 'category': 'files', + 'class': 'nfo:FileDataObject', }, 'Extra': { @@ -456,10 +463,12 @@ class TrackerLiveSearchHandler(deskbar.interfaces.Module): print >> sys.stderr, 'DBus connection to tracker failed, check your settings.' return - query = "SELECT ?uri \"Files\" ?mime WHERE { ?object fts:match \"%s*\". ?object a nfo:FileDataObject; nie:url ?uri; nie:mimeType ?mime } LIMIT %d" % (qstring, max) - self.resources_iface.SparqlQuery (query, \ - reply_handler = lambda hits: self.receive_hits (qstring, hits, max), \ - error_handler = self.receive_error) + query = "SELECT ?uri \"%s\" ?mime WHERE { ?object fts:match \"%s*\". ?object a %s; nie:url ?uri; nie:mimeType ?mime } LIMIT %d" + for service in [key for key in TYPES.iterkeys() if key != 'Extra' and 'class' in TYPES[key]]: + self.resources_iface.SparqlQuery (query % (service, qstring, TYPES[service]['class'], max), \ + reply_handler = lambda hits: self.receive_hits (qstring, hits, max), \ + error_handler = self.receive_error) + print 'Tracker query:', qstring -- 1.6.3.3