[gthumb] don't ask to restart if the user didn't changed the extension list
- From: Paolo Bacchilega <paobac src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gthumb] don't ask to restart if the user didn't changed the extension list
- Date: Wed, 22 Sep 2010 16:11:13 +0000 (UTC)
commit b0d6f66a765b3f2cf06ddde8024ade8e0a27d6cf
Author: Paolo Bacchilega <paobac src gnome org>
Date: Wed Sep 22 18:08:41 2010 +0200
don't ask to restart if the user didn't changed the extension list
ignore hidden or mandatory extensions
gthumb/dlg-extensions.c | 24 +++++++++++++++++++++++-
1 files changed, 23 insertions(+), 1 deletions(-)
---
diff --git a/gthumb/dlg-extensions.c b/gthumb/dlg-extensions.c
index 5f56dc4..aa57885 100644
--- a/gthumb/dlg-extensions.c
+++ b/gthumb/dlg-extensions.c
@@ -135,6 +135,9 @@ destroy_cb (GtkWidget *widget,
GthExtensionDescription *description;
description = gth_extension_manager_get_description (manager, name);
+ if ((description == NULL) || description->mandatory || description->hidden)
+ continue;
+
if (gth_extension_description_is_active (description))
active_extensions = g_slist_prepend (active_extensions, g_strdup (name));
}
@@ -516,6 +519,8 @@ dlg_extensions (GthBrowser *browser)
GthExtensionManager *manager;
GList *extensions;
GList *scan;
+ GSList *all_active_extensions;
+ GSList *s_scan;
GtkTreePath *first;
int i;
@@ -524,10 +529,27 @@ dlg_extensions (GthBrowser *browser)
return;
}
+ manager = gth_main_get_default_extension_manager ();
+
data = g_new0 (DialogData, 1);
data->browser = browser;
data->builder = _gtk_builder_new_from_file ("extensions.ui", NULL);
- data->active_extensions = eel_gconf_get_string_list (PREF_ACTIVE_EXTENSIONS);
+
+ data->active_extensions = NULL;
+ all_active_extensions = eel_gconf_get_string_list (PREF_ACTIVE_EXTENSIONS);
+ for (s_scan = all_active_extensions; s_scan; s_scan = s_scan->next) {
+ char *name = s_scan->data;
+ GthExtensionDescription *description;
+
+ description = gth_extension_manager_get_description (manager, name);
+ if ((description == NULL) || description->mandatory || description->hidden)
+ continue;
+
+ data->active_extensions = g_slist_prepend (data->active_extensions, g_strdup (name));
+ }
+ data->active_extensions = g_slist_reverse (data->active_extensions);
+ g_slist_foreach (all_active_extensions, (GFunc) g_free, NULL);
+ g_slist_free (all_active_extensions);
/* Get the widgets. */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]