[gnome-shell] remote-search: implement LaunchSearch() DBus method
- From: Cosimo Cecchi <cosimoc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] remote-search: implement LaunchSearch() DBus method
- Date: Thu, 6 Dec 2012 17:22:35 +0000 (UTC)
commit 2cc7fd07f89ae7af555ca369200e2befcb590e22
Author: Tanner Doshier <doshitan gmail com>
Date: Mon Nov 26 16:55:25 2012 -0500
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(+), 0 deletions(-)
---
diff --git a/js/ui/remoteSearch.js b/js/ui/remoteSearch.js
index 1a3132f..5e9ee89 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 2e746d8..e21c2a7 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);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]