From 66b61d305594ff2fd46602bf32def25c90ab427d Mon Sep 17 00:00:00 2001 From: Rodrigo Moya Date: Tue, 8 Feb 2005 13:16:26 +0000 Subject: set instance times correctly. 2005-02-08 Rodrigo Moya * gui/e-cal-model.c (set_instance_times): set instance times correctly. svn path=/trunk/; revision=28747 --- calendar/gui/e-cal-model.c | 37 ++++++++----------------------------- 1 file changed, 8 insertions(+), 29 deletions(-) (limited to 'calendar/gui/e-cal-model.c') diff --git a/calendar/gui/e-cal-model.c b/calendar/gui/e-cal-model.c index 6139b3ee52..7b56219e62 100644 --- a/calendar/gui/e-cal-model.c +++ b/calendar/gui/e-cal-model.c @@ -1295,42 +1295,21 @@ add_instance_cb (ECalComponent *comp, time_t instance_start, time_t instance_end static void set_instance_times (ECalModelComponent *comp_data, icaltimezone *zone) { - struct icaltimetype recur_time, start_time, end_time; + struct icaltimetype recur_time, start_time, end_time, itt; recur_time = icalcomponent_get_recurrenceid (comp_data->icalcomp); start_time = icalcomponent_get_dtstart (comp_data->icalcomp); end_time = icalcomponent_get_dtend (comp_data->icalcomp); - if (zone) { - if (e_cal_util_component_is_instance (comp_data->icalcomp)) { - comp_data->instance_start = icaltime_as_timet_with_zone (recur_time, - start_time.zone ? start_time.zone : zone); - - comp_data->instance_end = comp_data->instance_start + - (icaltime_as_timet_with_zone (end_time, end_time.zone ? end_time.zone : zone) - - icaltime_as_timet_with_zone (start_time, start_time.zone ? start_time.zone : zone)); - } else { - if (start_time.zone) { - comp_data->instance_start = icaltime_as_timet_with_zone (start_time, start_time.zone); - } else - comp_data->instance_start = icaltime_as_timet_with_zone (start_time, zone); - - if (end_time.zone) { - comp_data->instance_end = icaltime_as_timet_with_zone (end_time, end_time.zone); - } else - comp_data->instance_end = icaltime_as_timet_with_zone (end_time, zone); - } + if (e_cal_util_component_is_instance (comp_data->icalcomp)) { + itt = icaltime_convert_to_zone (recur_time, icaltimezone_get_utc_timezone ()); + comp_data->instance_start = icaltime_as_timet (itt); } else { - if (e_cal_util_component_is_instance (comp_data->icalcomp)) { - comp_data->instance_start = icaltime_as_timet (recur_time); - comp_data->instance_end = comp_data->instance_start + - (icaltime_as_timet (end_time) - - icaltime_as_timet (start_time)); - } else { - comp_data->instance_start = icaltime_as_timet (icalcomponent_get_dtstart (comp_data->icalcomp)); - comp_data->instance_end = icaltime_as_timet (icalcomponent_get_dtend (comp_data->icalcomp)); - } + comp_data->instance_start = icaltime_as_timet (start_time); } + + comp_data->instance_end = comp_data->instance_start + + (icaltime_as_timet (end_time) - icaltime_as_timet (start_time)); } static void -- cgit v1.2.3