evolution r35988 - branches/EXCHANGE_MAPI_BRANCH/plugins/itip-formatter



Author: msuman
Date: Thu Aug 14 11:32:35 2008
New Revision: 35988
URL: http://svn.gnome.org/viewvc/evolution?rev=35988&view=rev

Log:
Copy required X-* properties . This might be needed for special cases in certain backends.

Modified:
   branches/EXCHANGE_MAPI_BRANCH/plugins/itip-formatter/ChangeLog
   branches/EXCHANGE_MAPI_BRANCH/plugins/itip-formatter/itip-formatter.c

Modified: branches/EXCHANGE_MAPI_BRANCH/plugins/itip-formatter/itip-formatter.c
==============================================================================
--- branches/EXCHANGE_MAPI_BRANCH/plugins/itip-formatter/itip-formatter.c	(original)
+++ branches/EXCHANGE_MAPI_BRANCH/plugins/itip-formatter/itip-formatter.c	Thu Aug 14 11:32:35 2008
@@ -1136,6 +1136,26 @@
 
 }
 
+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)
 {
@@ -1236,6 +1256,8 @@
 			}
 		}
 
+		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);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]