diff options
author | Federico Mena Quintero <federico@helixcode.com> | 2000-08-08 10:55:29 +0800 |
---|---|---|
committer | Federico Mena Quintero <federico@src.gnome.org> | 2000-08-08 10:55:29 +0800 |
commit | ac94f697a5cf1842244984a4c1d2859118916aa2 (patch) | |
tree | 70e6b5561514073d26dd7232b8cf9d47e2d46f38 /calendar/cal-util | |
parent | 573ea91f0c6dc6de73884bbf1a4b039975fcacda (diff) | |
download | gsoc2013-evolution-ac94f697a5cf1842244984a4c1d2859118916aa2.tar.gz gsoc2013-evolution-ac94f697a5cf1842244984a4c1d2859118916aa2.tar.zst gsoc2013-evolution-ac94f697a5cf1842244984a4c1d2859118916aa2.zip |
New function. (cal_component_get_icalcomponent): Ensure that the SEQUENCE
2000-08-07 Federico Mena Quintero <federico@helixcode.com>
* cal-util/cal-component.c (cal_component_clone): New function.
(cal_component_get_icalcomponent): Ensure that the SEQUENCE
property does not need incrementing.
* gui/dialogs/alarm-notify-dialog.c (alarm_notify_dialog): Use
CalComponent. Deal with an empty summary property.
svn path=/trunk/; revision=4589
Diffstat (limited to 'calendar/cal-util')
-rw-r--r-- | calendar/cal-util/cal-component.c | 35 | ||||
-rw-r--r-- | calendar/cal-util/cal-component.h | 2 |
2 files changed, 37 insertions, 0 deletions
diff --git a/calendar/cal-util/cal-component.c b/calendar/cal-util/cal-component.c index 0020c7d727..1c5bddd4fc 100644 --- a/calendar/cal-util/cal-component.c +++ b/calendar/cal-util/cal-component.c @@ -338,6 +338,39 @@ cal_component_new (void) return CAL_COMPONENT (gtk_type_new (CAL_COMPONENT_TYPE)); } +/** + * cal_component_clone: + * @comp: A calendar component object. + * + * Creates a new calendar component object by copying the information from + * another one. + * + * Return value: A newly-created calendar component with the same values as the + * original one. + **/ +CalComponent * +cal_component_clone (CalComponent *comp) +{ + CalComponentPrivate *priv; + CalComponent *new_comp; + icalcomponent *new_icalcomp; + + g_return_val_if_fail (comp != NULL, NULL); + g_return_val_if_fail (IS_CAL_COMPONENT (comp), NULL); + + priv = comp->priv; + g_return_val_if_fail (priv->need_sequence_inc == FALSE, NULL); + + new_comp = cal_component_new (); + + if (priv->icalcomp) { + new_icalcomp = icalcomponent_new_clone (priv->icalcomp); + cal_component_set_icalcomponent (new_comp, new_icalcomp); + } + + return new_comp; +} + /* Scans the categories property */ static void scan_categories (CalComponent *comp, icalproperty *prop) @@ -715,6 +748,8 @@ cal_component_get_icalcomponent (CalComponent *comp) g_return_val_if_fail (IS_CAL_COMPONENT (comp), NULL); priv = comp->priv; + g_return_val_if_fail (priv->need_sequence_inc == FALSE, NULL); + return priv->icalcomp; } diff --git a/calendar/cal-util/cal-component.h b/calendar/cal-util/cal-component.h index 7c12d8a980..1fc1d455d4 100644 --- a/calendar/cal-util/cal-component.h +++ b/calendar/cal-util/cal-component.h @@ -126,6 +126,8 @@ char *cal_component_gen_uid (void); CalComponent *cal_component_new (void); +CalComponent *cal_component_clone (CalComponent *comp); + void cal_component_set_new_vtype (CalComponent *comp, CalComponentVType type); gboolean cal_component_set_icalcomponent (CalComponent *comp, icalcomponent *icalcomp); |