edit-dialog: convert time to timezone

This commit is contained in:
Erick Pérez Castellanos
2015-02-16 09:31:21 -05:00
parent 8f1b118abb
commit 264492580e
+16 -10
View File
@@ -838,31 +838,37 @@ gcal_edit_dialog_set_event_data (GcalEditDialog *dialog,
/* start date */ /* start date */
gcal_date_selector_set_date (GCAL_DATE_SELECTOR (priv->start_date_selector), gcal_date_selector_set_date (GCAL_DATE_SELECTOR (priv->start_date_selector),
dtstart.value->day, dtstart.value->day,
dtstart.value->month, dtstart.value->month,
dtstart.value->year); dtstart.value->year);
/* start time */ /* start time */
if (all_day) if (!all_day)
{ {
dtstart.value->hour = 0; icaltimetype *date = gcal_dup_icaltime (dtstart.value);
dtstart.value->minute = 0; *date = icaltime_convert_to_zone (*(dtstart.value), e_cal_util_get_system_timezone ());
gcal_time_selector_set_time (GCAL_TIME_SELECTOR (priv->start_time_selector), date->hour, date->minute);
g_free (date);
} }
gcal_time_selector_set_time (GCAL_TIME_SELECTOR (priv->start_time_selector), dtstart.value->hour, dtstart.value->minute);
/* end date */ /* end date */
if (dtend.value != NULL) if (dtend.value != NULL)
{ {
gcal_date_selector_set_date (GCAL_DATE_SELECTOR (priv->end_date_selector), gcal_date_selector_set_date (GCAL_DATE_SELECTOR (priv->end_date_selector),
dtend.value->day, dtend.value->month, dtend.value->year); dtend.value->day, dtend.value->month, dtend.value->year);
if (!all_day) if (!all_day)
gcal_time_selector_set_time (GCAL_TIME_SELECTOR (priv->end_time_selector), dtend.value->hour, dtend.value->minute); {
icaltimetype *date = gcal_dup_icaltime (dtend.value);
*date = icaltime_convert_to_zone (*(dtstart.value), e_cal_util_get_system_timezone ());
gcal_time_selector_set_time (GCAL_TIME_SELECTOR (priv->end_time_selector), date->hour, date->minute);
g_free (date);
}
} }
else else
{ {
gcal_date_selector_set_date (GCAL_DATE_SELECTOR (priv->end_date_selector), gcal_date_selector_set_date (GCAL_DATE_SELECTOR (priv->end_date_selector),
dtstart.value->day, dtstart.value->month, dtstart.value->year); dtstart.value->day, dtstart.value->month, dtstart.value->year);
gcal_time_selector_set_time (GCAL_TIME_SELECTOR (priv->end_time_selector), dtstart.value->hour, dtstart.value->minute); gcal_time_selector_set_time (GCAL_TIME_SELECTOR (priv->end_time_selector), dtstart.value->hour, dtstart.value->minute);
} }