[gnome-documents: 9/10] shell-provider: port to the org.gnome.Shell.SearchProvider2 interface
- From: Cosimo Cecchi <cosimoc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-documents: 9/10] shell-provider: port to the org.gnome.Shell.SearchProvider2 interface
- Date: Mon, 10 Dec 2012 23:42:06 +0000 (UTC)
commit 6bd3d505b92e9cbc78c58f32046a08bbeded0020
Author: Cosimo Cecchi <cosimoc gnome org>
Date: Mon Dec 10 17:14:04 2012 -0500
shell-provider: port to the org.gnome.Shell.SearchProvider2 interface
data/gnome-documents-search-provider.ini | 1 +
src/application.js | 12 +++++++++++-
src/shellSearchProvider.js | 16 +++++++++++++---
3 files changed, 25 insertions(+), 4 deletions(-)
---
diff --git a/data/gnome-documents-search-provider.ini b/data/gnome-documents-search-provider.ini
index 95c3b9f..ee40eee 100644
--- a/data/gnome-documents-search-provider.ini
+++ b/data/gnome-documents-search-provider.ini
@@ -2,3 +2,4 @@
DesktopId=gnome-documents.desktop
BusName=org.gnome.Documents.SearchProvider
ObjectPath=/org/gnome/Documents/SearchProvider
+Version=2
diff --git a/src/application.js b/src/application.js
index 4a716e4..7f3253b 100644
--- a/src/application.js
+++ b/src/application.js
@@ -315,6 +315,7 @@ const Application = new Lang.Class({
connectionQueue = new TrackerController.TrackerConnectionQueue();
this._searchProvider = new ShellSearchProvider.ShellSearchProvider();
this._searchProvider.connect('activate-result', Lang.bind(this, this._onActivateResult));
+ this._searchProvider.connect('launch-search', Lang.bind(this, this._onLaunchSearch));
// now init application components
Search.initSearch(imports.application);
@@ -431,7 +432,7 @@ const Application = new Lang.Class({
notificationManager = null;
},
- _onActivateResult: function(provider, urn) {
+ _onActivateResult: function(provider, urn, terms) {
this._createWindow();
modeController.setWindowMode(WindowMode.WindowMode.PREVIEW);
this.activate();
@@ -450,6 +451,15 @@ const Application = new Lang.Class({
documentManager.setActiveItem(doc);
}));
}
+ },
+
+ _onLaunchSearch: function(provider, terms) {
+ this._createWindow();
+ modeController.setWindowMode(WindowMode.WindowMode.OVERVIEW);
+ searchController.setString(terms.join(' '));
+ this.change_action_state('search', GLib.Variant.new('b', true));
+
+ this.activate();
}
});
Utils.addJSSignalMethods(Application.prototype);
diff --git a/src/shellSearchProvider.js b/src/shellSearchProvider.js
index 070939e..3db0352 100644
--- a/src/shellSearchProvider.js
+++ b/src/shellSearchProvider.js
@@ -47,7 +47,7 @@ let searchTypeManager = null;
let searchController = null;
let sourceManager = null;
-const SEARCH_PROVIDER_IFACE = 'org.gnome.Shell.SearchProvider';
+const SEARCH_PROVIDER_IFACE = 'org.gnome.Shell.SearchProvider2';
const SEARCH_PROVIDER_NAME = 'org.gnome.Documents.SearchProvider';
const SEARCH_PROVIDER_PATH = '/org/gnome/Documents/SearchProvider';
@@ -69,6 +69,12 @@ const SearchProviderIface = <interface name={SEARCH_PROVIDER_IFACE}>
</method>
<method name = "ActivateResult">
<arg type="s" direction="in" />
+ <arg type="as" direction="in" />
+ <arg type="u" direction="in" />
+</method>
+<method name = "LaunchSearch">
+ <arg type="as" direction="in" />
+ <arg type="u" direction="in" />
</method>
</interface>;
@@ -454,8 +460,12 @@ const ShellSearchProvider = new Lang.Class({
}
},
- ActivateResult: function(id) {
- this.emit('activate-result', id);
+ ActivateResult: function(id, terms, timestamp) {
+ this.emit('activate-result', id, terms);
+ },
+
+ LaunchSearch: function(terms, timestamp) {
+ this.emit('launch-search', terms);
}
});
Signals.addSignalMethods(ShellSearchProvider.prototype);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]