From 30436b730b5e470f17e587ce00b02a47c31b1be9 Mon Sep 17 00:00:00 2001 From: Kidd Wang Date: Fri, 12 Mar 2004 05:49:35 +0000 Subject: add a call to e_cal_component_commit_sequence since we have changed the 2004-03-09 Kidd Wang * gui/e-day-view.c: (e_day_view_finish_long_event_resize): add a call to e_cal_component_commit_sequence since we have changed the property of the component. Whether the new event is all day should also be set properly according to the value of the original event. svn path=/trunk/; revision=25039 --- calendar/ChangeLog | 7 +++++++ calendar/gui/e-day-view.c | 18 +++++++++++++----- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/calendar/ChangeLog b/calendar/ChangeLog index 491e44fad6..ce0a44b20e 100644 --- a/calendar/ChangeLog +++ b/calendar/ChangeLog @@ -1,3 +1,10 @@ +2004-03-09 Kidd Wang + + * gui/e-day-view.c: (e_day_view_finish_long_event_resize): add a call + to e_cal_component_commit_sequence since we have changed the property + of the component. Whether the new event is all day should also be + set properly according to the value of the original event. + 2004-03-08 Rodrigo Moya Fixes #48106 diff --git a/calendar/gui/e-day-view.c b/calendar/gui/e-day-view.c index 71f9f916be..0354ba4797 100644 --- a/calendar/gui/e-day-view.c +++ b/calendar/gui/e-day-view.c @@ -3730,6 +3730,7 @@ e_day_view_finish_long_event_resize (EDayView *day_view) ECal *client; CalObjModType mod = CALOBJ_MOD_ALL; GtkWindow *toplevel; + int is_date; event_num = day_view->resize_event_num; event = &g_array_index (day_view->long_events, EDayViewEvent, @@ -3744,18 +3745,24 @@ e_day_view_finish_long_event_resize (EDayView *day_view) e_cal_component_set_icalcomponent (comp, icalcomponent_new_clone (event->comp_data->icalcomp)); date.value = &itt; - /* FIXME: Should probably keep the timezone of the original start - and end times. */ - date.tzid = icaltimezone_get_tzid (e_calendar_view_get_timezone (E_CALENDAR_VIEW (day_view))); + date.tzid = NULL; if (day_view->resize_drag_pos == E_CALENDAR_VIEW_POS_LEFT_EDGE) { + e_cal_component_get_dtstart (comp, &date); + is_date = date.value->is_date; + if (!is_date) + date.tzid = icaltimezone_get_tzid (e_calendar_view_get_timezone (E_CALENDAR_VIEW (day_view))); dt = day_view->day_starts[day_view->resize_start_row]; - *date.value = icaltime_from_timet_with_zone (dt, FALSE, + *date.value = icaltime_from_timet_with_zone (dt, is_date, e_calendar_view_get_timezone (E_CALENDAR_VIEW (day_view))); e_cal_component_set_dtstart (comp, &date); } else { + e_cal_component_get_dtend (comp, &date); + is_date = date.value->is_date; + if (!is_date) + date.tzid = icaltimezone_get_tzid (e_calendar_view_get_timezone (E_CALENDAR_VIEW (day_view))); dt = day_view->day_starts[day_view->resize_end_row + 1]; - *date.value = icaltime_from_timet_with_zone (dt, FALSE, + *date.value = icaltime_from_timet_with_zone (dt, is_date, e_calendar_view_get_timezone (E_CALENDAR_VIEW (day_view))); e_cal_component_set_dtend (comp, &date); } @@ -3769,6 +3776,7 @@ e_day_view_finish_long_event_resize (EDayView *day_view) toplevel = GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (day_view))); + e_cal_component_commit_sequence (comp); e_calendar_view_modify_and_send (comp, client, mod, toplevel, TRUE); out: -- cgit