diff options
-rw-r--r-- | calendar/ChangeLog | 13 | ||||
-rw-r--r-- | calendar/gui/e-day-view.c | 9 | ||||
-rw-r--r-- | calendar/gui/e-week-view.c | 9 |
3 files changed, 27 insertions, 4 deletions
diff --git a/calendar/ChangeLog b/calendar/ChangeLog index 9276b09671..a1d789dad0 100644 --- a/calendar/ChangeLog +++ b/calendar/ChangeLog @@ -1,3 +1,16 @@ +2005-01-05 Rodrigo Moya <rodrigo@novell.com> + + * gui/e-day-view.c (e_day_view_find_event_from_uid): added a new + argument to pass the calendar client, since it might happen to have + events with the same UID on different calendars. + (e_day_view_do_key_press, model_rows_deleted_cb): added new argument + to e_day_view_find_event_from_uid. + + * gui/e-week-view.c (e_week_view_find_event_from_uid): same as + e-day-view.c. + (e_week_view_do_key_press, model_rows_deleted_cb): added new argument + to e_week_view_find_event_from_uid. + 2005-01-04 Rodrigo Moya <rodrigo@novell.com> * gui/e-cal-component-preview.c (write_html): use the new e-categories diff --git a/calendar/gui/e-day-view.c b/calendar/gui/e-day-view.c index e350279cbb..f675d797ad 100644 --- a/calendar/gui/e-day-view.c +++ b/calendar/gui/e-day-view.c @@ -285,6 +285,7 @@ static ECalendarViewPosition e_day_view_convert_position_in_main_canvas (EDayVie gint *row_return, gint *event_num_return); static gboolean e_day_view_find_event_from_uid (EDayView *day_view, + ECal *client, const gchar *uid, const gchar *rid, gint *day_return, @@ -622,7 +623,7 @@ model_rows_deleted_cb (ETableModel *etm, int row, int count, gpointer user_data) rid = icaltime_as_ical_string (icalcomponent_get_recurrenceid (comp_data->icalcomp)); } - if (e_day_view_find_event_from_uid (day_view, uid, rid, &day, &event_num)) + if (e_day_view_find_event_from_uid (day_view, comp_data->client, uid, rid, &day, &event_num)) e_day_view_remove_event_cb (day_view, day, event_num, NULL); } @@ -1908,6 +1909,7 @@ e_day_view_find_event_from_item (EDayView *day_view, see if any events with the uid exist. */ static gboolean e_day_view_find_event_from_uid (EDayView *day_view, + ECal *client, const gchar *uid, const gchar *rid, gint *day_return, @@ -1926,6 +1928,9 @@ e_day_view_find_event_from_uid (EDayView *day_view, event = &g_array_index (day_view->events[day], EDayViewEvent, event_num); + if (event->comp_data->client != client) + continue; + u = icalcomponent_get_uid (event->comp_data->icalcomp); if (u && !strcmp (uid, u)) { if (rid && *rid) { @@ -4812,7 +4817,7 @@ e_day_view_do_key_press (GtkWidget *widget, GdkEventKey *event) gtk_widget_queue_draw (day_view->top_canvas); gtk_widget_queue_draw (day_view->main_canvas); - if (e_day_view_find_event_from_uid (day_view, uid, NULL, &day, &event_num)) { + if (e_day_view_find_event_from_uid (day_view, ecal, uid, NULL, &day, &event_num)) { e_day_view_start_editing_event (day_view, day, event_num, initial_text); } else { diff --git a/calendar/gui/e-week-view.c b/calendar/gui/e-week-view.c index 50ff88f542..17ebc66370 100644 --- a/calendar/gui/e-week-view.c +++ b/calendar/gui/e-week-view.c @@ -161,6 +161,7 @@ static void e_week_view_on_editing_started (EWeekView *week_view, static void e_week_view_on_editing_stopped (EWeekView *week_view, GnomeCanvasItem *item); static gboolean e_week_view_find_event_from_uid (EWeekView *week_view, + ECal *client, const gchar *uid, const gchar *rid, gint *event_num_return); @@ -417,7 +418,7 @@ model_rows_deleted_cb (ETableModel *etm, int row, int count, gpointer user_data) 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)) + if (e_week_view_find_event_from_uid (week_view, comp_data->client, uid, rid, &event_num)) e_week_view_remove_event_cb (week_view, event_num, NULL); } @@ -3360,6 +3361,7 @@ e_week_view_find_event_from_item (EWeekView *week_view, see if any events with the uid exist. */ static gboolean e_week_view_find_event_from_uid (EWeekView *week_view, + ECal *client, const gchar *uid, const gchar *rid, gint *event_num_return) @@ -3378,6 +3380,9 @@ e_week_view_find_event_from_uid (EWeekView *week_view, event = &g_array_index (week_view->events, EWeekViewEvent, event_num); + if (event->comp_data->client != client) + continue; + u = icalcomponent_get_uid (event->comp_data->icalcomp); if (u && !strcmp (uid, u)) { if (rid && *rid) { @@ -3725,7 +3730,7 @@ e_week_view_do_key_press (GtkWidget *widget, GdkEventKey *event) e_week_view_check_layout (week_view); gtk_widget_queue_draw (week_view->main_canvas); - if (e_week_view_find_event_from_uid (week_view, uid, NULL, &event_num)) { + if (e_week_view_find_event_from_uid (week_view, ecal, uid, NULL, &event_num)) { EWeekViewEvent *event; EWeekViewEventSpan *span; |