From 2f67df578fe940cf5e7aab8c98b7a0d1c71cfa71 Mon Sep 17 00:00:00 2001 From: Rodrigo Moya Date: Tue, 4 Jan 2005 18:10:17 +0000 Subject: search our internal data for the correct event. 2005-01-04 Rodrigo Moya * gui/e-week-view.c (model_rows_deleted_cb): search our internal data for the correct event. svn path=/trunk/; revision=28234 --- calendar/gui/e-week-view.c | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) (limited to 'calendar/gui') diff --git a/calendar/gui/e-week-view.c b/calendar/gui/e-week-view.c index 08587725b0..50ff88f542 100644 --- a/calendar/gui/e-week-view.c +++ b/calendar/gui/e-week-view.c @@ -399,8 +399,27 @@ model_rows_deleted_cb (ETableModel *etm, int row, int count, gpointer user_data) /* FIXME Stop editing? */ - for (i = row + count; i > row; i--) - e_week_view_remove_event_cb (week_view, i - 1, NULL); + for (i = row + count; i > row; i--) { + gint event_num; + const char *uid, *rid = NULL; + ECalModelComponent *comp_data; + + comp_data = e_cal_model_get_component_at (E_CAL_MODEL (etm), i - 1); + if (!comp_data) + continue; + + uid = icalcomponent_get_uid (comp_data->icalcomp); + if (e_cal_util_component_is_instance (comp_data->icalcomp)) { + icalproperty *prop; + + prop = icalcomponent_get_first_property (comp_data->icalcomp, ICAL_RECURRENCEID_PROPERTY); + if (prop) + rid = icaltime_as_ical_string (icalcomponent_get_recurrenceid (comp_data->icalcomp)); + } + + if (e_week_view_find_event_from_uid (week_view, uid, rid, &event_num)) + e_week_view_remove_event_cb (week_view, event_num, NULL); + } gtk_widget_queue_draw (week_view->main_canvas); e_week_view_queue_layout (week_view); -- cgit v1.2.3