[evolution-patches] support for webcal tasks



Hi,

This patch should add support for webcal tasks.

Please let me know if this looks ok.

Thanks,
Jon
? addressbook/backends/groupwise/Makefile
? addressbook/backends/groupwise/Makefile.in
? addressbook/backends/groupwise/create-account
? calendar/libical/src/python/Makefile
? calendar/libical/src/python/Makefile.in
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution-data-server/ChangeLog,v
retrieving revision 1.110
diff -p -u -r1.110 ChangeLog
--- ChangeLog	19 Mar 2004 18:43:51 -0000	1.110
+++ ChangeLog	23 Mar 2004 22:59:17 -0000
@@ -1,3 +1,8 @@
+2004-03-23  William Jon McCann  <mccann jhu edu>
+
+	* src/server.c (setup_cals): add registration of webcal protocol
+	for tasks.
+
 2004-03-19  Rodrigo Moya <rodrigo ximian com>
 
 	* src/Makefile.am: added $SOUP_CFLAGS, needed for
Index: calendar/ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution-data-server/calendar/ChangeLog,v
retrieving revision 1.221
diff -p -u -r1.221 ChangeLog
--- calendar/ChangeLog	22 Mar 2004 11:07:31 -0000	1.221
+++ calendar/ChangeLog	23 Mar 2004 22:59:17 -0000
@@ -1,3 +1,9 @@
+2004-03-23  William Jon McCann  <mccann jhu edu>
+
+	* backends/http/e-cal-backend-http.c (retrieval_done): add
+	VTODO components to cache.
+	(e_cal_backend_http_get_default_object): use ANY component.
+
 2004-03-22  Rodrigo Moya <rodrigo ximian com>
 
 	* backends/groupwise/e-cal-backend-groupwise-utils.[ch]
Index: calendar/backends/http/e-cal-backend-http.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/calendar/backends/http/e-cal-backend-http.c,v
retrieving revision 1.14
diff -p -u -r1.14 e-cal-backend-http.c
--- calendar/backends/http/e-cal-backend-http.c	1 Mar 2004 15:45:56 -0000	1.14
+++ calendar/backends/http/e-cal-backend-http.c	23 Mar 2004 22:59:17 -0000
@@ -246,20 +246,25 @@ retrieval_done (SoupMessage *msg, ECalBa
 	}
 
 	/* Update cache */
-	subcomp = icalcomponent_get_first_component (icalcomp, ICAL_VEVENT_COMPONENT);
+	subcomp = icalcomponent_get_first_component (icalcomp, ICAL_ANY_COMPONENT);
 	while (subcomp) {
-		ECalComponent *comp;
+		icalcomponent_kind kind = icalcomponent_isa (subcomp);
 
-		comp = e_cal_component_new ();
-		if (e_cal_component_set_icalcomponent (comp, subcomp)) {
-			e_cal_backend_cache_put_component (priv->cache, comp);
-			e_cal_backend_notify_object_created (E_CAL_BACKEND (cbhttp),
-							     icalcomponent_as_ical_string (subcomp));
-		}
+		if (kind == ICAL_VEVENT_COMPONENT ||
+		    kind == ICAL_VTODO_COMPONENT) {
+			ECalComponent *comp;
+
+			comp = e_cal_component_new ();
+			if (e_cal_component_set_icalcomponent (comp, subcomp)) {
+				e_cal_backend_cache_put_component (priv->cache, comp);
+				e_cal_backend_notify_object_created (E_CAL_BACKEND (cbhttp),
+								     icalcomponent_as_ical_string (subcomp));
+			}
 
-		g_object_unref (comp);
+			g_object_unref (comp);
+		}
 
-		subcomp = icalcomponent_get_next_component (icalcomp, ICAL_VEVENT_COMPONENT);
+		subcomp = icalcomponent_get_next_component (icalcomp, ICAL_ANY_COMPONENT);
 	}
 
 	/* free memory */
@@ -466,7 +471,7 @@ e_cal_backend_http_get_default_object (E
 	cbhttp = E_CAL_BACKEND_HTTP (backend);
 	priv = cbhttp->priv;
 
-	icalcomp = e_cal_util_new_component (ICAL_VEVENT_COMPONENT);
+	icalcomp = e_cal_util_new_component (ICAL_ANY_COMPONENT);
 	*object = g_strdup (icalcomponent_as_ical_string (icalcomp));
 	icalcomponent_free (icalcomp);
 
Index: src/server.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/src/server.c,v
retrieving revision 1.15
diff -p -u -r1.15 server.c
--- src/server.c	11 Mar 2004 10:23:24 -0000	1.15
+++ src/server.c	23 Mar 2004 22:59:17 -0000
@@ -187,6 +187,7 @@ setup_cals (void)
 	e_data_cal_factory_register_method (e_data_cal_factory, "groupwise", ICAL_VEVENT_COMPONENT, E_TYPE_CAL_BACKEND_GROUPWISE);
 	e_data_cal_factory_register_method (e_data_cal_factory, "groupwise", ICAL_VTODO_COMPONENT, E_TYPE_CAL_BACKEND_GROUPWISE);
 	e_data_cal_factory_register_method (e_data_cal_factory, "webcal", ICAL_VEVENT_COMPONENT, E_TYPE_CAL_BACKEND_HTTP);
+	e_data_cal_factory_register_method (e_data_cal_factory, "webcal", ICAL_VTODO_COMPONENT, E_TYPE_CAL_BACKEND_HTTP);
 	e_data_cal_factory_register_method (e_data_cal_factory, "contacts", ICAL_VEVENT_COMPONENT, E_TYPE_CAL_BACKEND_CONTACTS);
 
 	if (!e_data_cal_factory_register_storage (e_data_cal_factory, E_DATA_CAL_FACTORY_OAF_ID)) {


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