diff options
author | Milan Crha <mcrha@redhat.com> | 2009-01-15 22:48:21 +0800 |
---|---|---|
committer | Milan Crha <mcrha@src.gnome.org> | 2009-01-15 22:48:21 +0800 |
commit | 9a69a192221d827f263e6972b9f07031b62676ef (patch) | |
tree | 0735d643e2bef20cb7f1f8f488ec33f1359899a0 /calendar/gui/e-day-view.c | |
parent | 8772855cc43886feadea096de92fc378330a14b4 (diff) | |
download | gsoc2013-evolution-9a69a192221d827f263e6972b9f07031b62676ef.tar.gz gsoc2013-evolution-9a69a192221d827f263e6972b9f07031b62676ef.tar.zst gsoc2013-evolution-9a69a192221d827f263e6972b9f07031b62676ef.zip |
** Fix for bug #245156
2009-01-15 Milan Crha <mcrha@redhat.com>
** Fix for bug #245156
* gui/e-day-view.c: (e_day_view_finish_long_event_resize),
(e_day_view_finish_resize), (e_day_view_change_event_time),
(e_day_view_on_top_canvas_drag_data_received),
(e_day_view_on_main_canvas_drag_data_received):
* gui/e-week-view.c: (e_week_view_change_event_time):
* gui/e-calendar-view.c: (on_unrecur_appointment):
Keep old timezone for dtstart/dtend when changing it.
* gui/comp-util.h: (cal_comp_set_dtstart_with_oldzone),
(cal_comp_set_dtend_with_oldzone):
* gui/comp-util.c: (cal_comp_set_dtstart_with_oldzone),
(cal_comp_set_dtend_with_oldzone), (datetime_to_zone):
Helper functions to make it easier.
svn path=/trunk/; revision=37079
Diffstat (limited to 'calendar/gui/e-day-view.c')
-rw-r--r-- | calendar/gui/e-day-view.c | 30 |
1 files changed, 14 insertions, 16 deletions
diff --git a/calendar/gui/e-day-view.c b/calendar/gui/e-day-view.c index 141d4d33c0..04c258d7fc 100644 --- a/calendar/gui/e-day-view.c +++ b/calendar/gui/e-day-view.c @@ -3941,7 +3941,7 @@ e_day_view_finish_long_event_resize (EDayView *day_view) dt = day_view->day_starts[day_view->resize_start_row]; *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); + cal_comp_set_dtstart_with_oldzone (client, comp, &date); e_cal_component_free_datetime (&ecdt); date.tzid = NULL; /* do not reuse it later */ } else { @@ -3954,7 +3954,7 @@ e_day_view_finish_long_event_resize (EDayView *day_view) dt = day_view->day_starts[day_view->resize_end_row + 1]; *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); + cal_comp_set_dtend_with_oldzone (client, comp, &date); e_cal_component_free_datetime (&ecdt); date.tzid = NULL; /* do not reuse it later */ } @@ -3972,12 +3972,12 @@ e_day_view_finish_long_event_resize (EDayView *day_view) *date.value = icaltime_from_timet_with_zone ( event->comp_data->instance_end, FALSE, e_calendar_view_get_timezone (E_CALENDAR_VIEW (day_view))); - e_cal_component_set_dtend (comp, &date); + cal_comp_set_dtend_with_oldzone (client, comp, &date); } else { *date.value = icaltime_from_timet_with_zone ( event->comp_data->instance_start, FALSE, e_calendar_view_get_timezone (E_CALENDAR_VIEW (day_view))); - e_cal_component_set_dtstart (comp, &date); + cal_comp_set_dtstart_with_oldzone (client, comp, &date); } e_cal_component_set_rdate_list (comp, NULL); @@ -4037,20 +4037,18 @@ e_day_view_finish_resize (EDayView *day_view) } 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))); if (day_view->resize_drag_pos == E_CALENDAR_VIEW_POS_TOP_EDGE) { dt = e_day_view_convert_grid_position_to_time (day_view, day, day_view->resize_start_row); *date.value = icaltime_from_timet_with_zone (dt, FALSE, e_calendar_view_get_timezone (E_CALENDAR_VIEW (day_view))); - e_cal_component_set_dtstart (comp, &date); + cal_comp_set_dtstart_with_oldzone (client, comp, &date); } else { dt = e_day_view_convert_grid_position_to_time (day_view, day, day_view->resize_end_row + 1); *date.value = icaltime_from_timet_with_zone (dt, FALSE, e_calendar_view_get_timezone (E_CALENDAR_VIEW (day_view))); - e_cal_component_set_dtend (comp, &date); + cal_comp_set_dtend_with_oldzone (client, comp, &date); } e_cal_component_commit_sequence (comp); @@ -4081,12 +4079,12 @@ e_day_view_finish_resize (EDayView *day_view) *date.value = icaltime_from_timet_with_zone ( event->comp_data->instance_end, FALSE, e_calendar_view_get_timezone (E_CALENDAR_VIEW (day_view))); - e_cal_component_set_dtend (comp, &date); + cal_comp_set_dtend_with_oldzone (client, comp, &date); } else { *date.value = icaltime_from_timet_with_zone ( event->comp_data->instance_start, FALSE, e_calendar_view_get_timezone (E_CALENDAR_VIEW (day_view))); - e_cal_component_set_dtstart (comp, &date); + cal_comp_set_dtstart_with_oldzone (client, comp, &date); } e_cal_component_set_rdate_list (comp, NULL); @@ -6057,10 +6055,10 @@ e_day_view_change_event_time (EDayView *day_view, time_t start_dt, time_t end_dt *date.value = icaltime_from_timet_with_zone (start_dt, FALSE, e_calendar_view_get_timezone (E_CALENDAR_VIEW (day_view))); - e_cal_component_set_dtstart (comp, &date); + cal_comp_set_dtstart_with_oldzone (client, comp, &date); *date.value = icaltime_from_timet_with_zone (end_dt, FALSE, e_calendar_view_get_timezone (E_CALENDAR_VIEW (day_view))); - e_cal_component_set_dtend (comp, &date); + cal_comp_set_dtend_with_oldzone (client, comp, &date); e_cal_component_commit_sequence (comp); @@ -7431,7 +7429,7 @@ e_day_view_on_top_canvas_drag_data_received (GtkWidget *widget, the original start and end times. */ date.tzid = icaltimezone_get_tzid (e_calendar_view_get_timezone (E_CALENDAR_VIEW (day_view))); } - e_cal_component_set_dtstart (comp, &date); + cal_comp_set_dtstart_with_oldzone (client, comp, &date); if (end_offset == 0) dt = day_view->day_starts[day + num_days]; @@ -7447,7 +7445,7 @@ e_day_view_on_top_canvas_drag_data_received (GtkWidget *widget, the original start and end times. */ date.tzid = icaltimezone_get_tzid (e_calendar_view_get_timezone (E_CALENDAR_VIEW (day_view))); } - e_cal_component_set_dtend (comp, &date); + cal_comp_set_dtend_with_oldzone (client, comp, &date); gtk_drag_finish (context, TRUE, TRUE, time); @@ -7644,11 +7642,11 @@ e_day_view_on_main_canvas_drag_data_received (GtkWidget *widget, dt = e_day_view_convert_grid_position_to_time (day_view, day, row) + start_offset * 60; *date.value = icaltime_from_timet_with_zone (dt, FALSE, e_calendar_view_get_timezone (E_CALENDAR_VIEW (day_view))); - e_cal_component_set_dtstart (comp, &date); + cal_comp_set_dtstart_with_oldzone (client, comp, &date); dt = e_day_view_convert_grid_position_to_time (day_view, day, row + num_rows) - end_offset * 60; *date.value = icaltime_from_timet_with_zone (dt, FALSE, e_calendar_view_get_timezone (E_CALENDAR_VIEW (day_view))); - e_cal_component_set_dtend (comp, &date); + cal_comp_set_dtend_with_oldzone (client, comp, &date); e_cal_component_abort_sequence (comp); gtk_drag_finish (context, TRUE, TRUE, time); |