1
Description: Write new glib url handling values back to gconf for compatibility
2
This patch can go away in Ubuntu 11.10 because by then, gnome-control-center
3
will be all gsettings. This is just to provide a bridge between the new glib
4
and any program still listening to the old gconf values. This only sets the
5
values, it does not read them.
6
Author: Michael Terry <michael.terry@canonical.com>
9
Index: gnome-control-center-2.32.1/capplets/default-applications/gnome-da-capplet.c
10
===================================================================
11
--- gnome-control-center-2.32.1.orig/capplets/default-applications/gnome-da-capplet.c 2011-01-06 09:04:37.637883006 -0500
12
+++ gnome-control-center-2.32.1/capplets/default-applications/gnome-da-capplet.c 2011-01-06 09:37:03.383415569 -0500
17
+web_combo_write_to_gconf (GtkComboBox *combo, GnomeDACapplet *capplet)
19
+ guint current_index;
21
+ current_index = gtk_combo_box_get_active (combo);
23
+ if (current_index < g_list_length (capplet->web_browsers)) {
24
+ GnomeDAURLItem *item;
26
+ gchar *short_browser, *pos;
28
+ item = (GnomeDAURLItem*) g_list_nth_data (capplet->web_browsers, current_index);
32
+ cs = gconf_change_set_new ();
33
+ gconf_change_set_set_string (cs, DEFAULT_APPS_KEY_HTTP_EXEC, item->generic.command);
34
+ gconf_change_set_set_string (cs, DEFAULT_APPS_KEY_HTTPS_EXEC, item->generic.command);
35
+ gconf_change_set_set_string (cs, DEFAULT_APPS_KEY_ABOUT_EXEC, item->generic.command);
36
+ gconf_change_set_set_string (cs, DEFAULT_APPS_KEY_UNKNOWN_EXEC, item->generic.command);
38
+ pos = strstr (item->generic.command, " ");
40
+ short_browser = g_strdup (item->generic.command);
42
+ short_browser = g_strndup (item->generic.command, pos - item->generic.command);
43
+ gconf_change_set_set_string (cs, DEFAULT_APPS_KEY_BROWSER_EXEC, short_browser);
44
+ g_free (short_browser);
46
+ gconf_change_set_set_bool (cs, DEFAULT_APPS_KEY_BROWSER_NREMOTE, FALSE);
47
+ gconf_change_set_set_bool (cs, DEFAULT_APPS_KEY_HTTP_NEEDS_TERM, FALSE);
48
+ gconf_change_set_set_bool (cs, DEFAULT_APPS_KEY_HTTPS_NEEDS_TERM, FALSE);
49
+ gconf_change_set_set_bool (cs, DEFAULT_APPS_KEY_ABOUT_NEEDS_TERM, FALSE);
50
+ gconf_change_set_set_bool (cs, DEFAULT_APPS_KEY_UNKNOWN_NEEDS_TERM, FALSE);
51
+ gconf_change_set_set_bool (cs, DEFAULT_APPS_KEY_BROWSER_NEEDS_TERM, FALSE);
52
+ gconf_client_commit_change_set (capplet->gconf, cs, TRUE, NULL);
53
+ gconf_change_set_unref (cs);
58
web_combo_changed_cb (GtkComboBox *combo, GnomeDACapplet *capplet)
65
+ web_combo_write_to_gconf (combo, capplet);
69
+mail_combo_write_to_gconf (GtkComboBox *combo, GnomeDACapplet *capplet)
71
+ guint current_index;
73
+ current_index = gtk_combo_box_get_active (combo);
75
+ if (current_index < g_list_length (capplet->mail_readers)) {
76
+ GnomeDAURLItem *item;
77
+ GConfClient *client;
79
+ item = (GnomeDAURLItem*) g_list_nth_data (capplet->mail_readers, current_index);
83
+ client = gconf_client_get_default ();
84
+ gconf_client_set_string (client, DEFAULT_APPS_KEY_MAILER_EXEC, item->generic.command, NULL);
85
+ gconf_client_set_bool (client, DEFAULT_APPS_KEY_MAILER_NEEDS_TERM, FALSE, NULL);
86
+ g_object_unref (client);
90
/* FIXME: Refactor these two functions below into one... */
92
g_warning (_("Error setting default mailer: %s"), error->message);
95
+ mail_combo_write_to_gconf (combo, capplet);
100
set_combo_to_default_for_scheme (GTK_COMBO_BOX (capplet->web_combo_box), capplet->web_browsers, "http");
101
set_combo_to_default_for_scheme (GTK_COMBO_BOX (capplet->mail_combo_box), capplet->mail_readers, "mailto");
103
+ web_combo_write_to_gconf (GTK_COMBO_BOX (capplet->web_combo_box), capplet);
104
+ mail_combo_write_to_gconf (GTK_COMBO_BOX (capplet->mail_combo_box), capplet);
106
g_signal_connect (capplet->web_combo_box, "changed", G_CALLBACK (web_combo_changed_cb), capplet);
107
g_signal_connect (capplet->mail_combo_box, "changed", G_CALLBACK (mail_combo_changed_cb), capplet);
108
g_signal_connect (capplet->term_combo_box, "changed", G_CALLBACK (terminal_combo_changed_cb), capplet);