aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/dialogs/recur-comp.c
diff options
context:
space:
mode:
authorRodrigo Moya <rodrigo@novell.com>2004-12-22 00:52:00 +0800
committerRodrigo Moya <rodrigo@src.gnome.org>2004-12-22 00:52:00 +0800
commit5b3791bb89c449b143691a7cb79ea89549adeff1 (patch)
tree8a878f66dbbc784a8211d9e6b2e73b22ae8e83c5 /calendar/gui/dialogs/recur-comp.c
parent3b74f2348e60711c0141ac9888efd9a9973db34b (diff)
downloadgsoc2013-evolution-5b3791bb89c449b143691a7cb79ea89549adeff1.tar
gsoc2013-evolution-5b3791bb89c449b143691a7cb79ea89549adeff1.tar.gz
gsoc2013-evolution-5b3791bb89c449b143691a7cb79ea89549adeff1.tar.bz2
gsoc2013-evolution-5b3791bb89c449b143691a7cb79ea89549adeff1.tar.lz
gsoc2013-evolution-5b3791bb89c449b143691a7cb79ea89549adeff1.tar.xz
gsoc2013-evolution-5b3791bb89c449b143691a7cb79ea89549adeff1.tar.zst
gsoc2013-evolution-5b3791bb89c449b143691a7cb79ea89549adeff1.zip
Merge from recurrences-work-branch
2004-12-21 Rodrigo Moya <rodrigo@novell.com> Merge from recurrences-work-branch * gui/e-cal-model.c (free_comp_data): renamed to e_cal_model_free_component_data and made it public. (clear_objects_array, e_cal_view_objects_removed_cb, remove_client_objects): use e_cal_model_free_component_data. (get_dtstart): get the DTSTART correctly for recurrences. (add_instance_cb): initialize all members of ECalModelComponent, and use the correct icalcomponent when setting the field. (set_instance_times): new function to set the instance_* fields of the ECalModelComponent when not expanding recurrences. (e_cal_view_objects_added_cb): expand recurrences for all objects when the model is set to expand. Call set_instance_times when not expanding recurrences. (e_cal_view_objects_modified_cb): made it remove objects and re-add them. (copy_ecdv): check values before using them. (e_cal_model_copy_component_data): Added code to copy the instance_* and color fields. * gui/e-cal-model-calendar.c (get_dtend): get the DTEND correctly for recurrences. (ecmc_set_value_at): ask user which instances to modify. * gui/e-day-view.c (e_day_view_find_event_from_uid): changed to search by UID and RID if given. (process_component): changed to not expand recurrences at all, this is now done on the model. (row_deleted_check_cb, remove_uid_cb): removed these functions. (model_rows_deleted_cb): changed to just remove the rows signalled from the model, which is the responsible for the recurrence expansion. (e_day_view_new): set the model to expand recurrences. (e_day_view_remove_event_cb): check the value searched in the array. (e_day_view_do_key_press): use e_day_view_find_event_from_uid correctly. * gui/e-week-view.c (e_week_view_find_event_from_uid): changed to search by UID and RID if given. (process_component_recur_cb): removed. (process_component): changed to not expand recurrences at all, this is now done on the model. (row_deleted_check_cb, remove_uid_cb): removed these functions. (model_rows_deleted_cb): changed to just remove the rows signalled from the model, which is the responsible for the recurrence expansion. (e_week_view_new): set the model to expand recurrences. (e_week_view_remove_event_cb): check the value searched in the array. Set the ECalModelComponent field to NULL after freeing it. (e_week_view_do_key_press): use e_week_view_find_event_from_uid correctly. * gui/dialogs/recur-comp.c (recur_component_dialog): remove the RECURRENCE-ID from the object when modifying all instances. svn path=/trunk/; revision=28166
Diffstat (limited to 'calendar/gui/dialogs/recur-comp.c')
-rw-r--r--calendar/gui/dialogs/recur-comp.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/calendar/gui/dialogs/recur-comp.c b/calendar/gui/dialogs/recur-comp.c
index 1f5c2b39e9..cfffa29c69 100644
--- a/calendar/gui/dialogs/recur-comp.c
+++ b/calendar/gui/dialogs/recur-comp.c
@@ -116,9 +116,20 @@ recur_component_dialog (ECal *client,
*mod = CALOBJ_MOD_THISANDPRIOR;
else if (rb_future && gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (rb_future)))
*mod = CALOBJ_MOD_THISANDFUTURE;
- else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (rb_all)))
+ else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (rb_all))) {
*mod = CALOBJ_MOD_ALL;
+ /* remove the RECURRENCE-ID from the object if modifying ALL instances */
+ if (ret) {
+ icalproperty *prop;
+
+ prop = icalcomponent_get_first_property (e_cal_component_get_icalcomponent (comp),
+ ICAL_RECURRENCEID_PROPERTY);
+ if (prop)
+ icalcomponent_remove_property (e_cal_component_get_icalcomponent (comp), prop);
+ }
+ }
+
gtk_widget_destroy (dialog);
return ret;