aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/e-week-view.c
diff options
context:
space:
mode:
authorRodrigo Moya <rodrigo@novell.com>2005-01-05 02:10:17 +0800
committerRodrigo Moya <rodrigo@src.gnome.org>2005-01-05 02:10:17 +0800
commit2f67df578fe940cf5e7aab8c98b7a0d1c71cfa71 (patch)
tree52ba08752db523f37108347e7f0c06c550487de8 /calendar/gui/e-week-view.c
parent6823de81f37ab21ba2a9627ed09ecc52425ba1e0 (diff)
downloadgsoc2013-evolution-2f67df578fe940cf5e7aab8c98b7a0d1c71cfa71.tar.gz
gsoc2013-evolution-2f67df578fe940cf5e7aab8c98b7a0d1c71cfa71.tar.zst
gsoc2013-evolution-2f67df578fe940cf5e7aab8c98b7a0d1c71cfa71.zip
search our internal data for the correct event.
2005-01-04 Rodrigo Moya <rodrigo@novell.com> * gui/e-week-view.c (model_rows_deleted_cb): search our internal data for the correct event. svn path=/trunk/; revision=28234
Diffstat (limited to 'calendar/gui/e-week-view.c')
-rw-r--r--calendar/gui/e-week-view.c23
1 files changed, 21 insertions, 2 deletions
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);