aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSushma Rai <rsushma@src.gnome.org>2006-04-19 18:27:27 +0800
committerSushma Rai <rsushma@src.gnome.org>2006-04-19 18:27:27 +0800
commit9a9d6aacb2d12a719af04c2524ab67157e02b3f7 (patch)
treef71760eb05eb08c8e7244f44022dca5532af8ea6
parent4b751afce260fce7b55112551681ad6d0e730446 (diff)
downloadgsoc2013-evolution-9a9d6aacb2d12a719af04c2524ab67157e02b3f7.tar
gsoc2013-evolution-9a9d6aacb2d12a719af04c2524ab67157e02b3f7.tar.gz
gsoc2013-evolution-9a9d6aacb2d12a719af04c2524ab67157e02b3f7.tar.bz2
gsoc2013-evolution-9a9d6aacb2d12a719af04c2524ab67157e02b3f7.tar.lz
gsoc2013-evolution-9a9d6aacb2d12a719af04c2524ab67157e02b3f7.tar.xz
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
-rw-r--r--plugins/exchange-operations/ChangeLog13
-rw-r--r--plugins/exchange-operations/exchange-calendar.c23
-rw-r--r--plugins/exchange-operations/exchange-contacts.c33
3 files changed, 46 insertions, 23 deletions
diff --git a/plugins/exchange-operations/ChangeLog b/plugins/exchange-operations/ChangeLog
index def311e2b8..fdc4b15a99 100644
--- a/plugins/exchange-operations/ChangeLog
+++ b/plugins/exchange-operations/ChangeLog
@@ -1,3 +1,16 @@
+2006-04-19 Sushma Rai <rsushma@novell.com>
+
+ * exchange-contacts.c (e_exchange_contacts_commit): Setting the
+ e-source properties on both successful creation and rename of a folder.
+
+ * exchange-calendar.c (e_exchange_calendar_commit): Similar.
+ Fixes #338876 and #328578.
+
+2006-04-19 Sushma Rai <rsushma@novell.com>
+
+ * exchange-account-setup.c (owa_authenticate_user): Changed the
+ function signature. Fixes #329371.
+
2006-04-17 Sushma Rai <rsushma@novell.com>
* exchange-contacts.c (e_exchange_contacts_check): Return TRUE in case
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;
diff --git a/plugins/exchange-operations/exchange-contacts.c b/plugins/exchange-operations/exchange-contacts.c
index 7e6df68544..0699a70a78 100644
--- a/plugins/exchange-operations/exchange-contacts.c
+++ b/plugins/exchange-operations/exchange-contacts.c
@@ -109,6 +109,7 @@ e_exchange_contacts_pcontacts_on_change (GtkTreeView *treeview, ESource *source)
selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview));
gtk_tree_selection_get_selected(selection, &model, &iter);
+
gchar *ruri;
gtk_tree_model_get (model, &iter, CONTACTSRURI_COL, &ruri, -1);
@@ -405,6 +406,7 @@ e_exchange_contacts_commit (EPlugin *epl, EConfigTarget *target)
ExchangeAccount *account;
ExchangeAccountFolderResult result;
gint offline_status;
+ gboolean rename = FALSE;
uri_text = e_source_get_uri (source);
if (uri_text && strncmp (uri_text, "exchange", 8)) {
@@ -467,27 +469,30 @@ e_exchange_contacts_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);
- if (result == EXCHANGE_ACCOUNT_FOLDER_OK) {
- e_source_set_name (source, gname);
- e_source_set_relative_uri (source, ruri);
- e_source_set_property (source, "username", username);
- e_source_set_property (source, "auth-domain", "Exchange");
- if (authtype) {
- e_source_set_property (source, "auth-type", authtype);
- g_free (authtype);
- }
- e_source_set_property (source, "auth", "plain/password");
- exchange_operations_update_child_esources (source,
- contacts_old_src_uri,
- ruri);
- }
}
else {
/* Nothing happened specific to exchange; just return */
goto done;
}
switch (result) {
+ case EXCHANGE_ACCOUNT_FOLDER_OK:
+ e_source_set_name (source, gname);
+ e_source_set_relative_uri (source, ruri);
+ e_source_set_property (source, "username", username);
+ e_source_set_property (source, "auth-domain", "Exchange");
+ if (authtype) {
+ e_source_set_property (source, "auth-type", authtype);
+ g_free (authtype);
+ }
+ e_source_set_property (source, "auth", "plain/password");
+ if (rename) {
+ exchange_operations_update_child_esources (source,
+ contacts_old_src_uri,
+ ruri);
+ }
+ break;
case EXCHANGE_ACCOUNT_FOLDER_ALREADY_EXISTS:
e_error_run (NULL, ERROR_DOMAIN ":folder-exists-error", NULL);
break;