[gnome-builder] application: don't add disabled plugins menus at start
- From: Sébastien Lafargue <slafargue src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] application: don't add disabled plugins menus at start
- Date: Mon, 29 Feb 2016 17:09:20 +0000 (UTC)
commit 72c7b27c75c43300bee989213b02f73bf7414696
Author: Sebastien Lafargue <slafargue gnome org>
Date: Mon Feb 29 17:59:08 2016 +0100
application: don't add disabled plugins menus at start
libide/ide-application-plugins.c | 29 +++++++++++++++++++++++++----
1 files changed, 25 insertions(+), 4 deletions(-)
---
diff --git a/libide/ide-application-plugins.c b/libide/ide-application-plugins.c
index 5f7354b..733a87d 100644
--- a/libide/ide-application-plugins.c
+++ b/libide/ide-application-plugins.c
@@ -165,6 +165,18 @@ ide_application_plugins_enabled_changed (IdeApplication *self,
peas_engine_unload_plugin (engine, plugin_info);
}
+static GSettings *
+_ide_application_plugin_get_settings (const gchar *module_name)
+{
+ g_autofree gchar *path = NULL;
+ GSettings *settings;
+
+ path = g_strdup_printf ("/org/gnome/builder/plugins/%s/", module_name);
+ settings = g_settings_new_with_path ("org.gnome.builder.plugin", path);
+
+ return settings;
+}
+
void
ide_application_load_plugins (IdeApplication *self)
{
@@ -180,12 +192,10 @@ ide_application_load_plugins (IdeApplication *self)
{
PeasPluginInfo *plugin_info = list->data;
GSettings *settings;
- g_autofree gchar *path = NULL;
const gchar *module_name;
module_name = peas_plugin_info_get_module_name (plugin_info);
- path = g_strdup_printf ("/org/gnome/builder/plugins/%s/", module_name);
- settings = g_settings_new_with_path ("org.gnome.builder.plugin", path);
+ settings = _ide_application_plugin_get_settings (module_name);
g_object_set_data (G_OBJECT (settings), "PEAS_PLUGIN_INFO", plugin_info);
@@ -410,5 +420,16 @@ ide_application_init_plugin_menus (IdeApplication *self)
list = peas_engine_get_plugin_list (engine);
for (; list != NULL; list = list->next)
- ide_application_load_plugin_menus (self, list->data, engine);
+ {
+ PeasPluginInfo *plugin_info = list->data;
+ const gchar *module_name;
+ GSettings *settings;
+
+ module_name = peas_plugin_info_get_module_name (plugin_info);
+ settings = _ide_application_plugin_get_settings (module_name);
+ if (!g_settings_get_boolean (settings, "enabled"))
+ continue;
+
+ ide_application_load_plugin_menus (self, list->data, engine);
+ }
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]