evolution/evo-core-mapi-changes.diff

112 lines
4.4 KiB
Diff

diff -Nupr 1-evo/calendar/ChangeLog 2-evo/calendar/ChangeLog
--- 1-evo/calendar/ChangeLog 2008-10-22 10:27:20.000000000 +0530
+++ 2-evo/calendar/ChangeLog 2008-10-22 09:44:22.000000000 +0530
@@ -534,6 +534,11 @@ License Changes
(gnome_calendar_on_date_navigator_selection_changed): Use a
single model for all the views.
+2008-08-13 Suman Manjunath <msuman@novell.com>
+
+ * gui/dialogs/comp-editor.c (real_send_comp): Don't replace
+ attachment list if backend can CREATE_MESSAGES
+
2008-08-12 Matthew Barnes <mbarnes@redhat.com>
* gui/migration.c:
diff -Nupr 1-evo/calendar/gui/dialogs/comp-editor.c 2-evo/calendar/gui/dialogs/comp-editor.c
--- 1-evo/calendar/gui/dialogs/comp-editor.c 2008-10-22 10:27:20.000000000 +0530
+++ 2-evo/calendar/gui/dialogs/comp-editor.c 2008-10-22 09:44:22.000000000 +0530
@@ -3046,7 +3046,8 @@ real_send_comp (CompEditor *editor, ECal
set_attendees_for_delegation (send_comp, address, method);
}
- if (!e_cal_component_has_attachments (priv->comp)) {
+ if (!e_cal_component_has_attachments (priv->comp)
+ || e_cal_get_static_capability (priv->client, CAL_STATIC_CAPABILITY_CREATE_MESSAGES)) {
if (itip_send_comp (method, send_comp, priv->client,
NULL, NULL, users)) {
g_object_unref (send_comp);
diff -Nupr 1-evo/calendar/gui/itip-utils.c 2-evo/calendar/gui/itip-utils.c
--- 1-evo/calendar/gui/itip-utils.c 2008-10-07 09:00:09.000000000 +0530
+++ 2-evo/calendar/gui/itip-utils.c 2008-10-20 16:04:33.000000000 +0530
@@ -1147,7 +1147,7 @@ itip_send_comp (ECalComponentItipMethod
gchar *subject = NULL;
gboolean retval = FALSE;
- /* check whether backend could handle sending requests/updates */
+ /* check whether backend could handle auto-saving requests/updates */
if (method != E_CAL_COMPONENT_METHOD_PUBLISH && e_cal_get_save_schedules (client))
return TRUE;
@@ -1157,6 +1157,15 @@ itip_send_comp (ECalComponentItipMethod
goto cleanup;
}
+ /* check whether backend could handle sending requests/updates */
+ if (method != E_CAL_COMPONENT_METHOD_PUBLISH && e_cal_get_static_capability (client, CAL_STATIC_CAPABILITY_CREATE_MESSAGES)) {
+ if (users) {
+ g_list_foreach (users, (GFunc) g_free, NULL);
+ g_list_free (users);
+ }
+ return TRUE;
+ }
+
/* Tidy up the comp */
comp = comp_compliant (method, send_comp, client, zones);
diff -Nupr 1-evo/plugins/itip-formatter/ChangeLog 2-evo/plugins/itip-formatter/ChangeLog
--- 1-evo/plugins/itip-formatter/ChangeLog 2008-10-20 09:19:46.000000000 +0530
+++ 2-evo/plugins/itip-formatter/ChangeLog 2008-10-20 16:04:33.000000000 +0530
@@ -66,6 +66,12 @@ License Changes
* itip-view.h:
+2008-08-14 Suman Manjunath <msuman@novell.com>
+
+ * itip-formatter.c (update_x), (update_attendee_status): Copy
+ required X-* properties . This might be needed for special cases
+ in certain backends.
+
2008-08-11 Matthew Barnes <mbarnes@redhat.com>
** Fixes part of bug #546892
diff -Nupr 1-evo/plugins/itip-formatter/itip-formatter.c 2-evo/plugins/itip-formatter/itip-formatter.c
--- 1-evo/plugins/itip-formatter/itip-formatter.c 2008-10-20 09:13:02.000000000 +0530
+++ 2-evo/plugins/itip-formatter/itip-formatter.c 2008-10-20 16:04:33.000000000 +0530
@@ -1183,6 +1183,26 @@ remove_delegate (struct _itip_puri *piti
}
+static void
+update_x (ECalComponent *pitip_comp, ECalComponent *comp)
+{
+ icalcomponent *itip_icalcomp = e_cal_component_get_icalcomponent (pitip_comp);
+ icalcomponent *icalcomp = e_cal_component_get_icalcomponent (comp);
+
+ icalproperty *prop = icalcomponent_get_first_property (itip_icalcomp, ICAL_X_PROPERTY);
+ while (prop) {
+ const char *name = icalproperty_get_x_name (prop);
+ if (!g_ascii_strcasecmp (name, "X-EVOLUTION-IS-REPLY")) {
+ icalproperty *new_prop = icalproperty_new_x (icalproperty_get_x (prop));
+ icalproperty_set_x_name (new_prop, "X-EVOLUTION-IS-REPLY");
+ icalcomponent_add_property (icalcomp, new_prop);
+ }
+ prop = icalcomponent_get_next_property (itip_icalcomp, ICAL_X_PROPERTY);
+ }
+
+ e_cal_component_set_icalcomponent (comp, icalcomp);
+}
+
static void
update_attendee_status (struct _itip_puri *pitip)
{
@@ -1283,6 +1303,8 @@ update_attendee_status (struct _itip_pur
}
}
+ update_x (pitip->comp, comp);
+
if (itip_view_get_update (ITIP_VIEW (pitip->view))) {
e_cal_component_commit_sequence (comp);
itip_send_comp (E_CAL_COMPONENT_METHOD_REQUEST, comp, pitip->current_ecal, NULL, NULL, NULL);