diff options
author | Arturo Espinosa <unammx@src.gnome.org> | 1998-04-15 15:59:09 +0800 |
---|---|---|
committer | Arturo Espinosa <unammx@src.gnome.org> | 1998-04-15 15:59:09 +0800 |
commit | f89cf24d2093c9982e461a2478d0acb4eeacc408 (patch) | |
tree | c87e7b2f1ea8090de832c0930c7a675044d0816b /calendar/cal-util | |
parent | 3ef4dcf9bbf11bc5b1a83bc4360733e730411f7c (diff) | |
download | gsoc2013-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.c | 18 | ||||
-rw-r--r-- | calendar/cal-util/calobj.h | 12 |
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 |