From 2cc7fd07f89ae7af555ca369200e2befcb590e22 Mon Sep 17 00:00:00 2001 From: Tanner Doshier Date: Mon, 26 Nov 2012 16:55:25 -0500 Subject: [PATCH] remote-search: implement LaunchSearch() DBus method This will be used to launch a search in the application itself. https://bugzilla.gnome.org/show_bug.cgi?id=689735 --- js/ui/remoteSearch.js | 13 +++++++++++++ js/ui/search.js | 11 +++++++++++ 2 files changed, 24 insertions(+) diff --git a/js/ui/remoteSearch.js b/js/ui/remoteSearch.js index 1a3132f8e..5e9ee89ea 100644 --- a/js/ui/remoteSearch.js +++ b/js/ui/remoteSearch.js @@ -265,6 +265,13 @@ const RemoteSearchProvider = new Lang.Class({ activateResult: function(id) { this.proxy.ActivateResultRemote(id); + }, + + launchSearch: function(terms) { + // the provider is not compatible with the new version of the interface, launch + // the app itself but warn so we can catch the error in logs + log('Search provider ' + this.appInfo.get_id() + ' does not implement LaunchSearch'); + this.appInfo.launch([], global.create_app_launch_context()); } }); @@ -274,9 +281,15 @@ const RemoteSearchProvider2 = new Lang.Class({ _init: function(appInfo, dbusName, dbusPath) { this.parent(appInfo, dbusName, dbusPath, SearchProvider2Proxy); + + this.canLaunchSearch = true; }, activateResult: function(id) { this.proxy.ActivateResultRemote(id, [], 0); + }, + + launchSearch: function(terms) { + this.proxy.LaunchSearchRemote(terms); } }); diff --git a/js/ui/search.js b/js/ui/search.js index 2e746d8ca..e21c2a741 100644 --- a/js/ui/search.js +++ b/js/ui/search.js @@ -81,6 +81,7 @@ const SearchProvider = new Lang.Class({ this.appInfo = appInfo; this.searchSystem = null; this.isRemoteProvider = !!isRemoteProvider; + this.canLaunchSearch = false; }, /** @@ -167,6 +168,16 @@ const SearchProvider = new Lang.Class({ */ activateResult: function(id) { throw new Error('Not implemented'); + }, + + /** + * launchSearch: + * @terms: Current search terms + * + * Called when the user clicks the provider icon. + */ + launchSearch: function(terms) { + throw new Error('Not implemented'); } }); Signals.addSignalMethods(SearchProvider.prototype);