[gnome-shell] Remove builtin settings search provider
- From: Giovanni Campagna <gcampagna src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] Remove builtin settings search provider
- Date: Mon, 18 Feb 2013 15:58:06 +0000 (UTC)
commit 3044a6b5178187bf987277c0dffaeb54b20c668c
Author: Giovanni Campagna <gcampagna src gnome org>
Date: Fri Dec 28 18:03:13 2012 +0100
Remove builtin settings search provider
It is now provided as a remote provider by gnome-control-center.
https://bugzilla.gnome.org/show_bug.cgi?id=690824
js/ui/appDisplay.js | 38 -------------------------
js/ui/remoteSearch.js | 4 +++
js/ui/viewSelector.js | 1 -
src/shell-app-system.c | 71 ------------------------------------------------
src/shell-app-system.h | 3 --
5 files changed, 4 insertions(+), 113 deletions(-)
---
diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js
index 2449645..c3cd382 100644
--- a/js/ui/appDisplay.js
+++ b/js/ui/appDisplay.js
@@ -366,44 +366,6 @@ const AppSearchProvider = new Lang.Class({
}
});
-const SettingsSearchProvider = new Lang.Class({
- Name: 'SettingsSearchProvider',
-
- _init: function() {
- this.appInfo = Gio.DesktopAppInfo.new('gnome-control-center.desktop');
- this._appSys = Shell.AppSystem.get_default();
- },
-
- getResultMetas: function(prefs, callback) {
- let metas = [];
- for (let i = 0; i < prefs.length; i++) {
- let pref = prefs[i];
- metas.push({ 'id': pref,
- 'name': pref.get_name(),
- 'createIcon': function() { return null; }
- });
- }
- callback(metas);
- },
-
- getInitialResultSet: function(terms) {
- this.searchSystem.pushResults(this, this._appSys.search_settings(terms));
- },
-
- getSubsearchResultSet: function(previousResults, terms) {
- this.searchSystem.pushResults(this, this._appSys.search_settings(terms));
- },
-
- activateResult: function(pref) {
- pref.activate();
- },
-
- launchSearch: function(terms) {
- // FIXME: this should be a remote search provider
- this.appInfo.launch([], global.create_app_launch_context());
- }
-});
-
const AppIcon = new Lang.Class({
Name: 'AppIcon',
Extends: IconGrid.BaseIcon,
diff --git a/js/ui/remoteSearch.js b/js/ui/remoteSearch.js
index 96bf81b..64af9e9 100644
--- a/js/ui/remoteSearch.js
+++ b/js/ui/remoteSearch.js
@@ -123,6 +123,10 @@ function loadRemoteSearchProvider(file, info, data) {
function remoteProvidersLoaded(loadState) {
let searchSettings = new Gio.Settings({ schema: Search.SEARCH_PROVIDERS_SCHEMA });
let sortOrder = searchSettings.get_strv('sort-order');
+
+ // Special case gnome-control-center to be always active and always first
+ sortOrder.unshift('gnome-control-center.desktop');
+
let numSorted = sortOrder.length;
loadState.loadedProviders.sort(
diff --git a/js/ui/viewSelector.js b/js/ui/viewSelector.js
index 48b3e3b..85f4a6c 100644
--- a/js/ui/viewSelector.js
+++ b/js/ui/viewSelector.js
@@ -114,7 +114,6 @@ const ViewSelector = new Lang.Class({
// Wanda comes obviously first
this.addSearchProvider(new Wanda.WandaSearchProvider());
this.addSearchProvider(new AppDisplay.AppSearchProvider());
- this.addSearchProvider(new AppDisplay.SettingsSearchProvider());
// Load remote search providers provided by applications
RemoteSearch.loadRemoteSearchProviders(Lang.bind(this, this.addSearchProvider));
diff --git a/src/shell-app-system.c b/src/shell-app-system.c
index 66f94f8..847e9a4 100644
--- a/src/shell-app-system.c
+++ b/src/shell-app-system.c
@@ -45,14 +45,10 @@ struct _ShellAppSystemPrivate {
GHashTable *id_to_app;
GSList *known_vendor_prefixes;
-
- GMenuTree *settings_tree;
- GHashTable *setting_id_to_app;
};
static void shell_app_system_finalize (GObject *object);
static void on_apps_tree_changed_cb (GMenuTree *tree, gpointer user_data);
-static void on_settings_tree_changed_cb (GMenuTree *tree, gpointer user_data);
G_DEFINE_TYPE(ShellAppSystem, shell_app_system, G_TYPE_OBJECT);
@@ -97,20 +93,12 @@ shell_app_system_init (ShellAppSystem *self)
/* All the objects in this hash table are owned by id_to_app */
priv->visible_id_to_app = g_hash_table_new (g_str_hash, g_str_equal);
- priv->setting_id_to_app = g_hash_table_new_full (g_str_hash, g_str_equal,
- NULL,
- (GDestroyNotify)g_object_unref);
-
/* We want to track NoDisplay apps, so we add INCLUDE_NODISPLAY. We'll
* filter NoDisplay apps out when showing them to the user. */
priv->apps_tree = gmenu_tree_new ("applications.menu", GMENU_TREE_FLAGS_INCLUDE_NODISPLAY);
g_signal_connect (priv->apps_tree, "changed", G_CALLBACK (on_apps_tree_changed_cb), self);
- priv->settings_tree = gmenu_tree_new ("gnomecc.menu", 0);
- g_signal_connect (priv->settings_tree, "changed", G_CALLBACK (on_settings_tree_changed_cb), self);
-
on_apps_tree_changed_cb (priv->apps_tree, self);
- on_settings_tree_changed_cb (priv->settings_tree, self);
}
static void
@@ -120,12 +108,10 @@ shell_app_system_finalize (GObject *object)
ShellAppSystemPrivate *priv = self->priv;
g_object_unref (priv->apps_tree);
- g_object_unref (priv->settings_tree);
g_hash_table_destroy (priv->running_apps);
g_hash_table_destroy (priv->id_to_app);
g_hash_table_destroy (priv->visible_id_to_app);
- g_hash_table_destroy (priv->setting_id_to_app);
g_slist_free_full (priv->known_vendor_prefixes, g_free);
priv->known_vendor_prefixes = NULL;
@@ -404,48 +390,6 @@ on_apps_tree_changed_cb (GMenuTree *tree,
g_signal_emit (self, signals[INSTALLED_CHANGED], 0);
}
-static void
-on_settings_tree_changed_cb (GMenuTree *tree,
- gpointer user_data)
-{
- ShellAppSystem *self = SHELL_APP_SYSTEM (user_data);
- GError *error = NULL;
- GHashTable *new_settings;
- GHashTableIter iter;
- gpointer key, value;
-
- g_assert (tree == self->priv->settings_tree);
-
- g_hash_table_remove_all (self->priv->setting_id_to_app);
- if (!gmenu_tree_load_sync (self->priv->settings_tree, &error))
- {
- if (error)
- {
- g_warning ("Failed to load apps: %s", error->message);
- g_error_free (error);
- }
- else
- {
- g_warning ("Failed to load apps");
- }
- return;
- }
-
- new_settings = get_flattened_entries_from_tree (tree);
-
- g_hash_table_iter_init (&iter, new_settings);
- while (g_hash_table_iter_next (&iter, &key, &value))
- {
- const char *id = key;
- GMenuTreeEntry *entry = value;
- ShellApp *app;
-
- app = _shell_app_new (entry);
- g_hash_table_replace (self->priv->setting_id_to_app, (char*)id, app);
- }
- g_hash_table_destroy (new_settings);
-}
-
/**
* shell_app_system_get_tree:
*
@@ -798,18 +742,3 @@ shell_app_system_subsearch (ShellAppSystem *system,
return sort_and_concat_results (system, prefix_results, substring_results);
}
-/**
- * shell_app_system_search_settings:
- * @system: A #ShellAppSystem
- * @terms: (element-type utf8): List of terms, logical AND
- *
- * Search through settings for the given search terms.
- *
- * Returns: (transfer container) (element-type ShellApp): List of setting applications
- */
-GSList *
-shell_app_system_search_settings (ShellAppSystem *self,
- GSList *terms)
-{
- return search_tree (self, terms, self->priv->setting_id_to_app);
-}
diff --git a/src/shell-app-system.h b/src/shell-app-system.h
index 78d37bd..243a6c0 100644
--- a/src/shell-app-system.h
+++ b/src/shell-app-system.h
@@ -60,7 +60,4 @@ GSList *shell_app_system_subsearch (ShellAppSystem *sys
GSList *previous_results,
GSList *terms);
-GSList *shell_app_system_search_settings (ShellAppSystem *system,
- GSList *terms);
-
#endif /* __SHELL_APP_SYSTEM_H__ */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]