diff options
author | Rodrigo Moya <rodrigo@ximian.com> | 2002-08-08 21:51:02 +0800 |
---|---|---|
committer | Rodrigo Moya <rodrigo@src.gnome.org> | 2002-08-08 21:51:02 +0800 |
commit | 107a638a25358ffa10a1634ed5baa4bd547a8410 (patch) | |
tree | b6e1507f3ec1971ddfefa595efb91b1ce470f444 /calendar/gui/dialogs | |
parent | e0a73ef7072b61efcebd798423fcbee2a1991679 (diff) | |
download | gsoc2013-evolution-107a638a25358ffa10a1634ed5baa4bd547a8410.tar.gz gsoc2013-evolution-107a638a25358ffa10a1634ed5baa4bd547a8410.tar.zst gsoc2013-evolution-107a638a25358ffa10a1634ed5baa4bd547a8410.zip |
Fixes #15710
2002-08-08 Rodrigo Moya <rodrigo@ximian.com>
Fixes #15710
* cal-util/cal-component.[ch] (cal_component_alarm_get_icalcomponent):
new function for getting the icalcomponent from a CalComponentAlarm.
* gui/comp-util.c (cal_comp_event_new_with_defaults): added
X-EVOLUTION-NEEDS-DESCRIPTION property to the default reminder alarm,
so that we can identify it when saving the component.
* gui/dialogs/alarm-page.c (alarm_page_fill_component): if the alarm
has the X-EVOLUTION-NEEDS-DESCRIPTION property, set the description to
be the same as of the component.
svn path=/trunk/; revision=17744
Diffstat (limited to 'calendar/gui/dialogs')
-rw-r--r-- | calendar/gui/dialogs/alarm-page.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/calendar/gui/dialogs/alarm-page.c b/calendar/gui/dialogs/alarm-page.c index c06e975ed7..85dd67a073 100644 --- a/calendar/gui/dialogs/alarm-page.c +++ b/calendar/gui/dialogs/alarm-page.c @@ -570,10 +570,33 @@ alarm_page_fill_component (CompEditorPage *page, CalComponent *comp) clist = GTK_CLIST (priv->list); for (i = 0; i < clist->rows; i++) { CalComponentAlarm *alarm, *alarm_copy; + icalcomponent *icalcomp; + icalproperty *icalprop; alarm = gtk_clist_get_row_data (clist, i); g_assert (alarm != NULL); + /* We set the description of the alarm if it's got + * the X-EVOLUTION-NEEDS-DESCRIPTION property. + */ + icalcomp = cal_component_alarm_get_icalcomponent (alarm); + icalprop = icalcomponent_get_first_property (icalcomp, ICAL_X_PROPERTY); + while (icalprop) { + const char *x_name; + CalComponentText summary; + + x_name = icalproperty_get_x_name (icalprop); + if (!strcmp (x_name, "X-EVOLUTION-NEEDS-DESCRIPTION")) { + cal_component_get_summary (comp, &summary); + cal_component_alarm_set_description (alarm, &summary); + + icalcomponent_remove_property (icalcomp, icalprop); + break; + } + + icalprop = icalcomponent_get_next_property (icalcomp, ICAL_X_PROPERTY); + } + /* We clone the alarm to maintain the invariant that the alarm * structures in the list did *not* come from the component. */ |