[evolution-mapi] Bug #628004 - Forgets 'copy locally for offline' setting
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-mapi] Bug #628004 - Forgets 'copy locally for offline' setting
- Date: Thu, 26 Aug 2010 17:13:09 +0000 (UTC)
commit 8b1366dec414e09a9f43b5926c2c93f686655f1f
Author: Milan Crha <mcrha redhat com>
Date: Thu Aug 26 19:12:48 2010 +0200
Bug #628004 - Forgets 'copy locally for offline' setting
.../exchange-mapi-account-listener.c | 32 +++++++++++++++----
src/addressbook/e-book-backend-mapi.c | 3 ++
2 files changed, 28 insertions(+), 7 deletions(-)
---
diff --git a/src/account-setup-eplugin/exchange-mapi-account-listener.c b/src/account-setup-eplugin/exchange-mapi-account-listener.c
index 52014bc..439d5b9 100644
--- a/src/account-setup-eplugin/exchange-mapi-account-listener.c
+++ b/src/account-setup-eplugin/exchange-mapi-account-listener.c
@@ -267,16 +267,22 @@ add_cal_esource (EAccount *account, GSList *folders, ExchangeMAPIFolderType fold
e_source_set_property (source, "domain", camel_url_get_param (url, "domain"));
e_source_set_property (source, "folder-id", fid);
e_source_set_property (source, "public", "no");
- e_source_set_property (source, "offline_sync",
+
+ if (is_new_source)
+ e_source_set_property (source, "offline_sync",
camel_url_get_param (url, "offline_sync") ? "1" : "0");
if (folder->is_default)
e_source_set_property (source, "delete", "no");
+ else
+ e_source_set_property (source, "delete", NULL);
if (folder->parent_folder_id) {
gchar *tmp = exchange_mapi_util_mapi_id_to_string (folder->parent_folder_id);
e_source_set_property (source, "parent-fid", tmp);
g_free (tmp);
+ } else {
+ e_source_set_property (source, "parent-fid", NULL);
}
e_source_set_property (source, "acl-user-name", account->id->name);
@@ -628,16 +634,26 @@ add_addressbook_sources (EAccount *account, GSList *folders, mapi_id_t trash_fid
e_source_set_property(source, "domain", camel_url_get_param (url, "domain"));
e_source_set_property(source, "folder-id", fid);
e_source_set_property (source, "public", "no");
- e_source_set_property (source, "offline_sync",
+
+ if (is_new_source) {
+ e_source_set_property (source, "offline_sync",
camel_url_get_param (url, "offline_sync") ? "1" : "0");
- e_source_set_property (source, "completion", "true");
+ e_source_set_property (source, "completion", "true");
+ }
+
if (folder->is_default)
e_source_set_property (source, "delete", "no");
+ else
+ e_source_set_property (source, "delete", NULL);
+
if (folder->parent_folder_id) {
gchar *tmp = exchange_mapi_util_mapi_id_to_string (folder->parent_folder_id);
e_source_set_property (source, "parent-fid", tmp);
g_free (tmp);
+ } else {
+ e_source_set_property (source, "parent-fid", NULL);
}
+
if (is_new_source)
e_source_group_add_source (group, source, -1);
g_object_unref (source);
@@ -680,10 +696,12 @@ add_addressbook_sources (EAccount *account, GSList *folders, mapi_id_t trash_fid
e_source_set_property(source, "view-limit", camel_url_get_param (url, "ad_limit"));
e_source_set_property(source, "profile", camel_url_get_param (url, "profile"));
e_source_set_property(source, "domain", camel_url_get_param (url, "domain"));
- // e_source_set_property (source, "offline_sync",
- // camel_url_get_param (url, "offline_sync") ? "1" : "0");
- e_source_set_property(source, "offline_sync", "1");
- e_source_set_property (source, "completion", "true");
+
+ if (is_new_source) {
+ e_source_set_property(source, "offline_sync", "1");
+ e_source_set_property (source, "completion", "true");
+ }
+
e_source_set_property (source, "delete", "no");
if (is_new_source)
e_source_group_add_source (group, source, -1);
diff --git a/src/addressbook/e-book-backend-mapi.c b/src/addressbook/e-book-backend-mapi.c
index 6477f8b..f273405 100644
--- a/src/addressbook/e-book-backend-mapi.c
+++ b/src/addressbook/e-book-backend-mapi.c
@@ -372,6 +372,9 @@ ebbm_update_cache_cb (gpointer data)
if (book_view)
e_data_book_view_notify_complete (book_view, NULL);
+ /* indicate the thread is not running */
+ g_cancellable_cancel (priv->update_cache);
+
return NULL;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]