aboutsummaryrefslogtreecommitdiffstats
path: root/mail/em-account-editor.c
diff options
context:
space:
mode:
Diffstat (limited to 'mail/em-account-editor.c')
-rw-r--r--mail/em-account-editor.c121
1 files changed, 82 insertions, 39 deletions
diff --git a/mail/em-account-editor.c b/mail/em-account-editor.c
index 45dd41fd9a..6bd96ef299 100644
--- a/mail/em-account-editor.c
+++ b/mail/em-account-editor.c
@@ -3786,8 +3786,12 @@ emae_defaults_page (EConfig *ec,
priv->trash_folder_button, "sensitive",
G_BINDING_SYNC_CREATE);
- pspec = !settings ? NULL : g_object_class_find_property (
- G_OBJECT_GET_CLASS (settings), "use-real-trash-path");
+ if (settings != NULL)
+ pspec = g_object_class_find_property (
+ G_OBJECT_GET_CLASS (settings),
+ "use-real-trash-path");
+ else
+ pspec = NULL;
if (pspec != NULL)
g_object_bind_property (
@@ -3796,12 +3800,20 @@ emae_defaults_page (EConfig *ec,
G_BINDING_BIDIRECTIONAL |
G_BINDING_SYNC_CREATE);
- pspec = !settings ? NULL : g_object_class_find_property (
- G_OBJECT_GET_CLASS (settings), "real-trash-path");
+ if (settings != NULL)
+ pspec = g_object_class_find_property (
+ G_OBJECT_GET_CLASS (settings),
+ "real-trash-path");
+ else
+ pspec = NULL;
if (pspec != NULL) {
- set_real_folder_path (priv->trash_folder_button, settings, "real-trash-path", account);
- g_signal_connect (priv->trash_folder_button, "notify::folder-uri", G_CALLBACK (update_real_folder_cb), emae);
+ set_real_folder_path (
+ priv->trash_folder_button,
+ settings, "real-trash-path", account);
+ g_signal_connect (
+ priv->trash_folder_button, "notify::folder-uri",
+ G_CALLBACK (update_real_folder_cb), emae);
}
flags = CAMEL_PROVIDER_ALLOW_REAL_TRASH_FOLDER;
@@ -3832,8 +3844,12 @@ emae_defaults_page (EConfig *ec,
priv->junk_folder_button, "sensitive",
G_BINDING_SYNC_CREATE);
- pspec = !settings ? NULL : g_object_class_find_property (
- G_OBJECT_GET_CLASS (settings), "use-real-junk-path");
+ if (settings != NULL)
+ pspec = g_object_class_find_property (
+ G_OBJECT_GET_CLASS (settings),
+ "use-real-junk-path");
+ else
+ pspec = NULL;
if (pspec != NULL)
g_object_bind_property (
@@ -3842,12 +3858,20 @@ emae_defaults_page (EConfig *ec,
G_BINDING_BIDIRECTIONAL |
G_BINDING_SYNC_CREATE);
- pspec = !settings ? NULL : g_object_class_find_property (
- G_OBJECT_GET_CLASS (settings), "real-junk-path");
+ if (settings != NULL)
+ pspec = g_object_class_find_property (
+ G_OBJECT_GET_CLASS (settings),
+ "real-junk-path");
+ else
+ pspec = NULL;
if (pspec != NULL) {
- set_real_folder_path (priv->junk_folder_button, settings, "real-junk-path", account);
- g_signal_connect (priv->junk_folder_button, "notify::folder-uri", G_CALLBACK (update_real_folder_cb), emae);
+ set_real_folder_path (
+ priv->junk_folder_button,
+ settings, "real-junk-path", account);
+ g_signal_connect (
+ priv->junk_folder_button, "notify::folder-uri",
+ G_CALLBACK (update_real_folder_cb), emae);
}
flags = CAMEL_PROVIDER_ALLOW_REAL_JUNK_FOLDER;
@@ -3861,7 +3885,9 @@ emae_defaults_page (EConfig *ec,
/* Special Folders "Reset Defaults" button */
priv->restore_folders_button = (GtkButton *)e_builder_get_widget (builder, "default_folders_button");
- g_signal_connect (priv->restore_folders_button, "clicked", G_CALLBACK (default_folders_clicked), emae);
+ g_signal_connect (
+ priv->restore_folders_button, "clicked",
+ G_CALLBACK (default_folders_clicked), emae);
/* Always Cc/Bcc */
emae_account_toggle (emae, "always_cc", E_ACCOUNT_CC_ALWAYS, builder);
@@ -3869,12 +3895,13 @@ emae_defaults_page (EConfig *ec,
emae_account_toggle (emae, "always_bcc", E_ACCOUNT_BCC_ALWAYS, builder);
emae_account_entry (emae, "bcc_addrs", E_ACCOUNT_BCC_ADDRS, builder);
- gtk_widget_set_sensitive ( (GtkWidget *) priv->sent_folder_button,
- (provider ? !(provider->flags & CAMEL_PROVIDER_DISABLE_SENT_FOLDER): TRUE)
- );
+ gtk_widget_set_sensitive (
+ GTK_WIDGET (priv->sent_folder_button),
+ (provider ? !(provider->flags & CAMEL_PROVIDER_DISABLE_SENT_FOLDER) : TRUE));
- gtk_widget_set_sensitive ((GtkWidget *) priv->restore_folders_button,
- (provider && !(provider->flags & CAMEL_PROVIDER_DISABLE_SENT_FOLDER)));
+ gtk_widget_set_sensitive (
+ GTK_WIDGET (priv->restore_folders_button),
+ (provider && !(provider->flags & CAMEL_PROVIDER_DISABLE_SENT_FOLDER)));
/* Receipt policy */
emae_setup_receipt_policy (emae, builder);
@@ -4809,7 +4836,7 @@ forget_password_if_needed (EAccount *original_account,
#define CALENDAR_CALDAV_URI "caldav://%s@www.google.com/calendar/dav/%s/events"
#define GMAIL_CALENDAR_LOCATION "://www.google.com/calendar/feeds/"
#define CALENDAR_DEFAULT_PATH "/private/full"
-#define SELECTED_CALENDARS "/apps/evolution/calendar/display/selected_calendars"
+#define SELECTED_CALENDARS "selected-calendars"
#define YAHOO_CALENDAR_LOCATION "%s@caldav.calendar.yahoo.com/dav/%s/Calendar/%s"
static gchar *
@@ -4896,8 +4923,11 @@ setup_google_calendar (EMAccountEditor *emae)
ESource *calendar;
gchar *sanitize_uname, *username;
gchar *abs_uri, *rel_uri;
- GSList *ids, *temp;
+ gchar **ids;
+ gint i;
+ GPtrArray *array;
CamelURL *url;
+ GSettings *settings;
gconf = gconf_client_get_default ();
slist = e_source_list_new_for_gconf (gconf, "/apps/evolution/calendar/sources");
@@ -4929,16 +4959,21 @@ setup_google_calendar (EMAccountEditor *emae)
e_source_list_sync (slist, NULL);
- ids = gconf_client_get_list (gconf, SELECTED_CALENDARS, GCONF_VALUE_STRING, NULL);
- ids = g_slist_append (ids, g_strdup (e_source_peek_uid (calendar)));
- gconf_client_set_list (gconf, SELECTED_CALENDARS, GCONF_VALUE_STRING, ids, NULL);
- temp = ids;
-
- for (; temp != NULL; temp = g_slist_next (temp))
- g_free (temp->data);
-
+ settings = g_settings_new ("org.gnome.evolution.calendar");
+ ids = g_settings_get_strv (settings, SELECTED_CALENDARS);
+ array = g_ptr_array_new ();
+ for (i = 0; ids[i] != NULL; i++)
+ g_ptr_array_add (array, ids[i]);
+ g_ptr_array_add (array, (gpointer) e_source_peek_uid (calendar));
+ g_ptr_array_add (array, NULL);
+ g_settings_set_strv (
+ settings, SELECTED_CALENDARS,
+ (const gchar * const *) array->pdata);
+
+ g_strfreev (ids);
+ g_ptr_array_free (array, TRUE);
+ g_object_unref (settings);
g_free (username);
- g_slist_free (ids);
g_free (abs_uri);
g_free (rel_uri);
g_free (sanitize_uname);
@@ -4957,8 +4992,11 @@ setup_yahoo_calendar (EMAccountEditor *emae)
ESource *calendar;
gchar *sanitize_uname;
gchar *abs_uri, *rel_uri;
- GSList *ids, *temp;
const gchar *email;
+ GSettings *settings;
+ gchar **ids;
+ gint i;
+ GPtrArray *array;
gconf = gconf_client_get_default ();
email = e_account_get_string (em_account_editor_get_modified_account (emae), E_ACCOUNT_ID_ADDRESS);
@@ -4993,15 +5031,20 @@ setup_yahoo_calendar (EMAccountEditor *emae)
e_source_group_add_source (sgrp, calendar, -1);
e_source_list_sync (slist, NULL);
- ids = gconf_client_get_list (gconf, SELECTED_CALENDARS, GCONF_VALUE_STRING, NULL);
- ids = g_slist_append (ids, g_strdup (e_source_peek_uid (calendar)));
- gconf_client_set_list (gconf, SELECTED_CALENDARS, GCONF_VALUE_STRING, ids, NULL);
- temp = ids;
-
- for (; temp != NULL; temp = g_slist_next (temp))
- g_free (temp->data);
-
- g_slist_free (ids);
+ settings = g_settings_new ("org.gnome.evolution.calendar");
+ ids = g_settings_get_strv (settings, SELECTED_CALENDARS);
+ array = g_ptr_array_new ();
+ for (i = 0; ids[i] != NULL; i++)
+ g_ptr_array_add (array, ids[i]);
+ g_ptr_array_add (array, (gpointer) e_source_peek_uid (calendar));
+ g_ptr_array_add (array, NULL);
+ g_settings_set_strv (
+ settings, SELECTED_CALENDARS,
+ (const gchar * const *) array->pdata);
+
+ g_strfreev (ids);
+ g_ptr_array_free (array, TRUE);
+ g_object_unref (settings);
g_free (abs_uri);
g_free (rel_uri);
g_free (sanitize_uname);