[evolution-ews] Bug #659700 - Flags do not stick on message copy
- From: Fabiano Fidêncio <ffidencio src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-ews] Bug #659700 - Flags do not stick on message copy
- Date: Thu, 18 Jul 2013 09:14:20 +0000 (UTC)
commit 2edbcfd524e05735059f7fdbf2fa1e1435cb10e3
Author: Fabiano Fidêncio <fabiano fidencio org>
Date: Thu Jul 18 02:45:09 2013 +0200
Bug #659700 - Flags do not stick on message copy
src/utils/ews-camel-common.c | 36 +++++++++++++++++++++++++++++++++++-
1 files changed, 35 insertions(+), 1 deletions(-)
---
diff --git a/src/utils/ews-camel-common.c b/src/utils/ews-camel-common.c
index e4e5606..343929c 100644
--- a/src/utils/ews-camel-common.c
+++ b/src/utils/ews-camel-common.c
@@ -98,13 +98,21 @@ create_mime_message_cb (ESoapMessage *msg,
e_soap_message_end_element (msg); /* ItemClass */
}
+ e_ews_message_write_string_parameter_with_attribute (
+ msg,
+ "Importance",
+ NULL,
+ (create_data->message_camel_flags & CAMEL_MESSAGE_FLAGGED) != 0 ? "High" : "Normal",
+ NULL,
+ NULL);
+
/* more MAPI crap. You can't just set the IsDraft property
* here you have to use the MAPI MSGFLAG_UNSENT extended
* property Further crap is that Exchange 2007 assumes when it
* sees this property that you're setting the value to 0
* ... it never checks */
msgflag = MAPI_MSGFLAG_READ; /* draft or sent is always read */
- if (create_data->message_camel_flags & CAMEL_MESSAGE_DRAFT)
+ if ((create_data->message_camel_flags & CAMEL_MESSAGE_DRAFT) != 0)
msgflag |= MAPI_MSGFLAG_UNSENT;
e_soap_message_start_element (msg, "ExtendedProperty", NULL, NULL);
@@ -116,6 +124,32 @@ create_mime_message_cb (ESoapMessage *msg,
e_ews_message_write_int_parameter (msg, "Value", NULL, msgflag);
e_soap_message_end_element (msg); /* ExtendedProperty */
+
+ if ((create_data->message_camel_flags & (CAMEL_MESSAGE_FORWARDED | CAMEL_MESSAGE_ANSWERED)) != 0) {
+ gint icon;
+
+ icon = (create_data->message_camel_flags & CAMEL_MESSAGE_ANSWERED) != 0 ? 0x105 : 0x106;
+
+ e_soap_message_start_element (msg, "ExtendedProperty", NULL, NULL);
+
+ e_soap_message_start_element (msg, "ExtendedFieldURI", NULL, NULL);
+ e_soap_message_add_attribute (msg, "PropertyTag", "0x1080", NULL, NULL);
+ e_soap_message_add_attribute (msg, "PropertyType", "Integer", NULL, NULL);
+ e_soap_message_end_element (msg); /* ExtendedFieldURI */
+
+ e_ews_message_write_int_parameter (msg, "Value", NULL, icon);
+
+ e_soap_message_end_element (msg); /* ExtendedProperty */
+ }
+
+ e_ews_message_write_string_parameter_with_attribute (
+ msg,
+ "IsRead",
+ NULL,
+ (create_data->message_camel_flags & CAMEL_MESSAGE_SEEN) != 0 ? "true" : "false",
+ NULL,
+ NULL);
+
e_soap_message_end_element (msg); /* Message */
g_free (create_data);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]