[gnome-shell] search: add API to get a list of remote providers
- From: Cosimo Cecchi <cosimoc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] search: add API to get a list of remote providers
- Date: Mon, 19 Nov 2012 17:02:41 +0000 (UTC)
commit 80e7f5832bdd3b77d969d2813c6439e222d1176c
Author: Cosimo Cecchi <cosimoc gnome org>
Date: Tue Nov 6 18:42:33 2012 -0500
search: add API to get a list of remote providers
This will be used to reload them in case the configuration changes.
https://bugzilla.gnome.org/show_bug.cgi?id=687491
js/ui/remoteSearch.js | 2 +-
js/ui/search.js | 15 ++++++++++++++-
2 files changed, 15 insertions(+), 2 deletions(-)
---
diff --git a/js/ui/remoteSearch.js b/js/ui/remoteSearch.js
index 21e3d0f..16c0910 100644
--- a/js/ui/remoteSearch.js
+++ b/js/ui/remoteSearch.js
@@ -114,7 +114,7 @@ const RemoteSearchProvider = new Lang.Class({
this._proxy = new SearchProviderProxy(Gio.DBus.session,
dbusName, dbusPath, Lang.bind(this, this._onProxyConstructed));
- this.parent(appInfo.get_name().toUpperCase(), appInfo);
+ this.parent(appInfo.get_name().toUpperCase(), appInfo, true);
this._cancellable = new Gio.Cancellable();
},
diff --git a/js/ui/search.js b/js/ui/search.js
index f106e91..bc50cb0 100644
--- a/js/ui/search.js
+++ b/js/ui/search.js
@@ -74,10 +74,11 @@ const SearchResultDisplay = new Lang.Class({
const SearchProvider = new Lang.Class({
Name: 'SearchProvider',
- _init: function(title, appInfo) {
+ _init: function(title, appInfo, isRemoteProvider) {
this.title = title;
this.appInfo = appInfo;
this.searchSystem = null;
+ this.isRemoteProvider = !!isRemoteProvider;
},
/**
@@ -173,12 +174,16 @@ const SearchSystem = new Lang.Class({
_init: function() {
this._providers = [];
+ this._remoteProviders = [];
this.reset();
},
registerProvider: function (provider) {
provider.searchSystem = this;
this._providers.push(provider);
+
+ if (provider.isRemoteProvider)
+ this._remoteProviders.push(provider);
},
unregisterProvider: function (provider) {
@@ -187,12 +192,20 @@ const SearchSystem = new Lang.Class({
return;
provider.searchSystem = null;
this._providers.splice(index, 1);
+
+ let remoteIndex = this._remoteProviders.indexOf(provider);
+ if (remoteIndex != -1)
+ this._remoteProviders.splice(index, 1);
},
getProviders: function() {
return this._providers;
},
+ getRemoteProviders: function() {
+ return this._remoteProviders;
+ },
+
getTerms: function() {
return this._previousTerms;
},
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]