aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/cal-util
diff options
context:
space:
mode:
authorArturo Espinosa <unammx@src.gnome.org>1998-04-15 15:59:09 +0800
committerArturo Espinosa <unammx@src.gnome.org>1998-04-15 15:59:09 +0800
commitf89cf24d2093c9982e461a2478d0acb4eeacc408 (patch)
treec87e7b2f1ea8090de832c0930c7a675044d0816b /calendar/cal-util
parent3ef4dcf9bbf11bc5b1a83bc4360733e730411f7c (diff)
downloadgsoc2013-evolution-f89cf24d2093c9982e461a2478d0acb4eeacc408.tar
gsoc2013-evolution-f89cf24d2093c9982e461a2478d0acb4eeacc408.tar.gz
gsoc2013-evolution-f89cf24d2093c9982e461a2478d0acb4eeacc408.tar.bz2
gsoc2013-evolution-f89cf24d2093c9982e461a2478d0acb4eeacc408.tar.lz
gsoc2013-evolution-f89cf24d2093c9982e461a2478d0acb4eeacc408.tar.xz
gsoc2013-evolution-f89cf24d2093c9982e461a2478d0acb4eeacc408.tar.zst
gsoc2013-evolution-f89cf24d2093c9982e461a2478d0acb4eeacc408.zip
Year view marks ranges of new dates (on update view). Recurrence iterator
Year view marks ranges of new dates (on update view). Recurrence iterator functions are here now (clap, clap, clap). Microsoft Outlook's days are counted. Miguel. svn path=/trunk/; revision=139
Diffstat (limited to 'calendar/cal-util')
-rw-r--r--calendar/cal-util/calobj.c18
-rw-r--r--calendar/cal-util/calobj.h12
2 files changed, 25 insertions, 5 deletions
diff --git a/calendar/cal-util/calobj.c b/calendar/cal-util/calobj.c
index f02feaf7a1..7e5f535189 100644
--- a/calendar/cal-util/calobj.c
+++ b/calendar/cal-util/calobj.c
@@ -99,7 +99,13 @@ ical_object_destroy (iCalObject *ico)
lfree_if_defined (ico->resources);
lfree_if_defined (ico->related);
lfree_if_defined (ico->attach);
-
+
+ /* Alarms */
+ g_free (ico->dalarm.data);
+ g_free (ico->palarm.data);
+ g_free (ico->malarm.data);
+ g_free (ico->aalarm.data);
+
g_free (ico);
}
@@ -670,3 +676,13 @@ ical_object_to_vobject (iCalObject *ical)
/* FIXME: alarms */
return o;
}
+
+void
+ical_foreach (GList *events, iCalObjectFn fn, void *closure)
+{
+ for (; events; events = events->next){
+ iCalObject *ical = events->data;
+
+ (*fn) (ical, ical->dtstart, ical->dtend, closure);
+ }
+}
diff --git a/calendar/cal-util/calobj.h b/calendar/cal-util/calobj.h
index 9287332d40..8f7abf8871 100644
--- a/calendar/cal-util/calobj.h
+++ b/calendar/cal-util/calobj.h
@@ -153,11 +153,15 @@ typedef struct {
int new;
} iCalObject;
-iCalObject *ical_new (char *comment, char *organizer, char *summary);
-iCalObject *ical_object_new (void);
-void ical_object_destroy (iCalObject *ico);
+/* The callback for the recurrence generator */
+typedef void (*iCalObjectFn)(iCalObject *, time_t, time_t, void *);
+
+iCalObject *ical_new (char *comment, char *organizer, char *summary);
+iCalObject *ical_object_new (void);
+void ical_object_destroy (iCalObject *ico);
iCalObject *ical_object_create_from_vobject (VObject *obj, const char *object_name);
-VObject *ical_object_to_vobject (iCalObject *ical);
+VObject *ical_object_to_vobject (iCalObject *ical);
+void ical_foreach (GList *events, iCalObjectFn fn, void *closure);
END_GNOME_DECLS