From 0ef5d2aaf168118ff13b40e0fbdb8ef391313cab Mon Sep 17 00:00:00 2001 From: Luca Cavalli Date: Mon, 16 Oct 2006 11:39:26 +0000 Subject: [PATCH] Added support for legacy gconf key. Based on a patch from Sven Herzberg 2006-10-09 Luca Cavalli * gnome-da-capplet.c: (web_gconf_changed_cb): * gnome-da-capplet.h: Added support for legacy gconf key. Based on a patch from Sven Herzberg . Closes bug #359986. --- capplets/default-applications/ChangeLog | 8 ++++++++ .../default-applications/gnome-da-capplet.c | 18 ++++++++++++++++++ .../default-applications/gnome-da-capplet.h | 5 +++++ 3 files changed, 31 insertions(+) diff --git a/capplets/default-applications/ChangeLog b/capplets/default-applications/ChangeLog index adfbcbefb..ef8241393 100644 --- a/capplets/default-applications/ChangeLog +++ b/capplets/default-applications/ChangeLog @@ -1,3 +1,11 @@ +2006-10-09 Luca Cavalli + + * gnome-da-capplet.c: (web_gconf_changed_cb): + * gnome-da-capplet.h: + + Added support for legacy gconf key. Based on a patch from Sven + Herzberg . Closes bug #359986. + 2006-07-23 Sebastien Bacher * default-applications.desktop.in.in: don't list the Application diff --git a/capplets/default-applications/gnome-da-capplet.c b/capplets/default-applications/gnome-da-capplet.c index f4b32c628..27dcf3812 100644 --- a/capplets/default-applications/gnome-da-capplet.c +++ b/capplets/default-applications/gnome-da-capplet.c @@ -554,6 +554,7 @@ web_gconf_changed_cb (GConfClient *client, guint id, GConfEntry *entry, GnomeDAC GConfValue *value; GConfChangeSet *cs; GError *error = NULL; + GList *list_entry; g_return_if_fail (gconf_entry_get_key (entry) != NULL); @@ -561,6 +562,7 @@ web_gconf_changed_cb (GConfClient *client, guint id, GConfEntry *entry, GnomeDAC return; if (strcmp (entry->key, DEFAULT_APPS_KEY_HTTP_EXEC) == 0) { + gchar* short_browser; web_browser_update_combo_box (capplet, gconf_value_get_string (value)); web_browser_update_radio_buttons (capplet, gconf_value_get_string (value)); @@ -569,6 +571,21 @@ web_gconf_changed_cb (GConfClient *client, guint id, GConfEntry *entry, GnomeDAC gconf_change_set_set (cs, DEFAULT_APPS_KEY_HTTPS_EXEC, value); gconf_change_set_set (cs, DEFAULT_APPS_KEY_UNKNOWN_EXEC, value); gconf_change_set_set (cs, DEFAULT_APPS_KEY_ABOUT_EXEC, value); + short_browser = g_strndup(gconf_value_get_string(value), + strstr(gconf_value_get_string(value), " ") - + gconf_value_get_string(value)); + gconf_change_set_set_string (cs, DEFAULT_APPS_KEY_BROWSER_EXEC, short_browser); + g_free(short_browser); + + list_entry = g_list_find_custom (capplet->web_browsers, + gconf_value_get_string (value), + (GCompareFunc) web_item_comp); + + if (list_entry) { + GnomeDAWebItem *item = (GnomeDAWebItem *) list_entry->data; + + gconf_change_set_set_bool (cs, DEFAULT_APPS_KEY_BROWSER_NREMOTE, item->netscape_remote); + } gconf_client_commit_change_set (capplet->gconf, cs, TRUE, &error); @@ -590,6 +607,7 @@ web_gconf_changed_cb (GConfClient *client, guint id, GConfEntry *entry, GnomeDAC gconf_change_set_set (cs, DEFAULT_APPS_KEY_HTTPS_NEEDS_TERM, value); gconf_change_set_set (cs, DEFAULT_APPS_KEY_UNKNOWN_NEEDS_TERM, value); gconf_change_set_set (cs, DEFAULT_APPS_KEY_ABOUT_NEEDS_TERM, value); + gconf_change_set_set (cs, DEFAULT_APPS_KEY_BROWSER_NEEDS_TERM, value); gconf_client_commit_change_set (capplet->gconf, cs, TRUE, &error); diff --git a/capplets/default-applications/gnome-da-capplet.h b/capplets/default-applications/gnome-da-capplet.h index 00b6d25bd..bd9041b32 100644 --- a/capplets/default-applications/gnome-da-capplet.h +++ b/capplets/default-applications/gnome-da-capplet.h @@ -49,6 +49,11 @@ #define DEFAULT_APPS_KEY_MAILER_NEEDS_TERM DEFAULT_APPS_KEY_MAILER_PATH"/needs_terminal" #define DEFAULT_APPS_KEY_MAILER_EXEC DEFAULT_APPS_KEY_MAILER_PATH"/command" +#define DEFAULT_APPS_KEY_BROWSER_PATH "/desktop/gnome/applications/browser" +#define DEFAULT_APPS_KEY_BROWSER_EXEC DEFAULT_APPS_KEY_BROWSER_PATH"/exec" +#define DEFAULT_APPS_KEY_BROWSER_NEEDS_TERM DEFAULT_APPS_KEY_BROWSER_PATH"/needs_term" +#define DEFAULT_APPS_KEY_BROWSER_NREMOTE DEFAULT_APPS_KEY_BROWSER_PATH"/nremote" + #define DEFAULT_APPS_KEY_TERMINAL_PATH "/desktop/gnome/applications/terminal" #define DEFAULT_APPS_KEY_TERMINAL_EXEC_ARG DEFAULT_APPS_KEY_TERMINAL_PATH"/exec_arg" #define DEFAULT_APPS_KEY_TERMINAL_EXEC DEFAULT_APPS_KEY_TERMINAL_PATH"/exec"