[evolution-data-server] Bug 516860 (bnc) - can't move mails off-line ...
- From: Chenthill Palanisamy <pchen src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [evolution-data-server] Bug 516860 (bnc) - can't move mails off-line ...
- Date: Fri, 29 Jan 2010 19:56:10 +0000 (UTC)
commit a967797fad1cd391e3df7b2643f691d64b3d5ab7
Author: Chenthill Palanisamy <pchenthill novell com>
Date: Sat Jan 30 01:28:25 2010 +0530
Bug 516860 (bnc) - can't move mails off-line ...
camel/providers/imap/camel-imap-wrapper.c | 15 +++++++++++----
1 files changed, 11 insertions(+), 4 deletions(-)
---
diff --git a/camel/providers/imap/camel-imap-wrapper.c b/camel/providers/imap/camel-imap-wrapper.c
index 454dcdb..c7c7f17 100644
--- a/camel/providers/imap/camel-imap-wrapper.c
+++ b/camel/providers/imap/camel-imap-wrapper.c
@@ -34,6 +34,8 @@
#include "camel-mime-filter-crlf.h"
#include "camel-mime-part.h"
#include "camel-stream-filter.h"
+#include "camel-service.h"
+#include "camel-url.h"
#include "camel-imap-folder.h"
#include "camel-imap-wrapper.h"
@@ -169,12 +171,16 @@ camel_imap_wrapper_new (CamelImapFolder *imap_folder,
CamelMimePart *part)
{
CamelImapWrapper *imap_wrapper;
+ CamelStore *store = (((CamelFolder *) imap_folder)->parent_store);
CamelStream *stream;
+ gboolean sync_offline = FALSE;
- imap_wrapper = (CamelImapWrapper *)camel_object_new(camel_imap_wrapper_get_type());
+ sync_offline = (camel_url_get_param (((CamelService *) store)->url, "sync_offline") != NULL ||
+ ((CamelOfflineFolder *)imap_folder)->sync_offline);
+ imap_wrapper = (CamelImapWrapper *)camel_object_new(camel_imap_wrapper_get_type());
camel_data_wrapper_set_mime_type_field (CAMEL_DATA_WRAPPER (imap_wrapper), type);
- ((CamelDataWrapper *)imap_wrapper)->offline = TRUE;
+ ((CamelDataWrapper *)imap_wrapper)->offline = !sync_offline;
((CamelDataWrapper *)imap_wrapper)->encoding = encoding;
imap_wrapper->folder = imap_folder;
@@ -185,9 +191,10 @@ camel_imap_wrapper_new (CamelImapFolder *imap_folder,
/* Don't ref this, it's our parent. */
imap_wrapper->part = part;
- /* Try the cache. */
+ /* Download the attachments if sync_offline is set, else skip them by checking only in cache */
stream = camel_imap_folder_fetch_data (imap_folder, uid, part_spec,
- TRUE, NULL);
+ !sync_offline, NULL);
+
if (stream) {
imap_wrapper_hydrate (imap_wrapper, stream);
camel_object_unref (stream);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]