diff options
author | Sushma Rai <rsushma@src.gnome.org> | 2006-04-19 18:27:27 +0800 |
---|---|---|
committer | Sushma Rai <rsushma@src.gnome.org> | 2006-04-19 18:27:27 +0800 |
commit | 9a9d6aacb2d12a719af04c2524ab67157e02b3f7 (patch) | |
tree | f71760eb05eb08c8e7244f44022dca5532af8ea6 /plugins/exchange-operations/exchange-calendar.c | |
parent | 4b751afce260fce7b55112551681ad6d0e730446 (diff) | |
download | gsoc2013-evolution-9a9d6aacb2d12a719af04c2524ab67157e02b3f7.tar.gz gsoc2013-evolution-9a9d6aacb2d12a719af04c2524ab67157e02b3f7.tar.zst gsoc2013-evolution-9a9d6aacb2d12a719af04c2524ab67157e02b3f7.zip |
Setting the e-source properties after both folder rename and new folder
creation. Fixes #328578 and #338876.
svn path=/trunk/; revision=31831
Diffstat (limited to 'plugins/exchange-operations/exchange-calendar.c')
-rw-r--r-- | plugins/exchange-operations/exchange-calendar.c | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/plugins/exchange-operations/exchange-calendar.c b/plugins/exchange-operations/exchange-calendar.c index c7ce41b670..1fcd795a34 100644 --- a/plugins/exchange-operations/exchange-calendar.c +++ b/plugins/exchange-operations/exchange-calendar.c @@ -376,6 +376,7 @@ e_exchange_calendar_commit (EPlugin *epl, EConfigTarget *target) ExchangeAccountFolderResult result; ExchangeConfigListenerStatus status; gint offline_status; + gboolean rename = FALSE; uri_text = e_source_get_uri (source); if (uri_text && strncmp (uri_text, "exchange", 8)) { @@ -412,7 +413,6 @@ e_exchange_calendar_commit (EPlugin *epl, EConfigTarget *target) ftype = g_strdup ("mail"); } - gname = (gchar*) e_source_peek_name (source); gruri = (gchar*) e_source_peek_relative_uri (source); @@ -456,7 +456,16 @@ e_exchange_calendar_commit (EPlugin *epl, EConfigTarget *target) } else if (gruri && strcmp (path, oldpath)) { /* Rename the folder */ + rename = TRUE; result = exchange_account_xfer_folder (account, oldpath, path, TRUE); + } + else { + /* Nothing happened specific to exchange; just return */ + goto done; + } + + switch (result) { + case EXCHANGE_ACCOUNT_FOLDER_OK: if (result == EXCHANGE_ACCOUNT_FOLDER_OK) { e_source_set_name (source, gname); e_source_set_relative_uri (source, ruri); @@ -467,17 +476,13 @@ e_exchange_calendar_commit (EPlugin *epl, EConfigTarget *target) g_free (authtype); } e_source_set_property (source, "auth", "1"); - exchange_operations_update_child_esources (source, + if (rename) { + exchange_operations_update_child_esources (source, calendar_old_source_uri, ruri); + } } - } - else { - /* Nothing happened specific to exchange; just return */ - goto done; - } - - switch (result) { + break; case EXCHANGE_ACCOUNT_FOLDER_ALREADY_EXISTS: e_error_run (NULL, ERROR_DOMAIN ":folder-exists-error", NULL); break; |