diff options
author | Rodrigo Moya <rodrigo@novell.com> | 2004-12-22 00:52:00 +0800 |
---|---|---|
committer | Rodrigo Moya <rodrigo@src.gnome.org> | 2004-12-22 00:52:00 +0800 |
commit | 5b3791bb89c449b143691a7cb79ea89549adeff1 (patch) | |
tree | 8a878f66dbbc784a8211d9e6b2e73b22ae8e83c5 /calendar/gui/dialogs | |
parent | 3b74f2348e60711c0141ac9888efd9a9973db34b (diff) | |
download | gsoc2013-evolution-5b3791bb89c449b143691a7cb79ea89549adeff1.tar.gz 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')
-rw-r--r-- | calendar/gui/dialogs/recur-comp.c | 13 |
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; |