From 1b3ce1c888c231091f8d9b7be00f719efbaff494 Mon Sep 17 00:00:00 2001 From: Federico Mena Quintero Date: Tue, 10 Jul 2001 18:39:25 +0000 Subject: Pass the parent vCalendar component as the timezone closure of 2001-07-09 Federico Mena Quintero * pcs/cal-backend-file.c (generate_alarms_for_comp): Pass the parent vCalendar component as the timezone closure of cal_recur_generate_instances(). * gui/dialogs/alarm-page.c (get_alarm_string): Make the string consistent with the option menu text. (get_alarm_string): Removed extra spaces from the last part of the alarm string. svn path=/trunk/; revision=10961 --- calendar/ChangeLog | 11 +++++++++++ calendar/gui/dialogs/alarm-page.c | 10 +++++----- calendar/gui/e-day-view.c | 9 +++++++++ calendar/pcs/cal-backend-file.c | 11 ++++++++++- 4 files changed, 35 insertions(+), 6 deletions(-) diff --git a/calendar/ChangeLog b/calendar/ChangeLog index f910acaece..685dad73bd 100644 --- a/calendar/ChangeLog +++ b/calendar/ChangeLog @@ -1,3 +1,14 @@ +2001-07-09 Federico Mena Quintero + + * pcs/cal-backend-file.c (generate_alarms_for_comp): Pass the + parent vCalendar component as the timezone closure of + cal_recur_generate_instances(). + + * gui/dialogs/alarm-page.c (get_alarm_string): Make the string + consistent with the option menu text. + (get_alarm_string): Removed extra spaces from the last part of the + alarm string. + 2001-07-09 Federico Mena Quintero * gui/e-day-view.c (e_day_view_key_press): Use diff --git a/calendar/gui/dialogs/alarm-page.c b/calendar/gui/dialogs/alarm-page.c index e6e09d4d3a..de33ff2d0d 100644 --- a/calendar/gui/dialogs/alarm-page.c +++ b/calendar/gui/dialogs/alarm-page.c @@ -332,7 +332,7 @@ get_alarm_string (CalComponentAlarm *alarm) break; case CAL_ALARM_DISPLAY: - base = _("Show a dialog"); + base = _("Display a message"); break; case CAL_ALARM_EMAIL: @@ -358,10 +358,10 @@ get_alarm_string (CalComponentAlarm *alarm) if (trigger.u.rel_duration.is_neg) str = g_strdup_printf ("%s %s %s", base, dur, - _(" before start of appointment")); + _("before start of appointment")); else str = g_strdup_printf ("%s %s %s", base, dur, - _(" after start of appointment")); + _("after start of appointment")); g_free (dur); break; @@ -371,10 +371,10 @@ get_alarm_string (CalComponentAlarm *alarm) if (trigger.u.rel_duration.is_neg) str = g_strdup_printf ("%s %s %s", base, dur, - _(" before end of appointment")); + _("before end of appointment")); else str = g_strdup_printf ("%s %s %s", base, dur, - _(" after end of appointment")); + _("after end of appointment")); g_free (dur); break; diff --git a/calendar/gui/e-day-view.c b/calendar/gui/e-day-view.c index 5315dfcb1b..d8e9736449 100644 --- a/calendar/gui/e-day-view.c +++ b/calendar/gui/e-day-view.c @@ -1376,6 +1376,11 @@ e_day_view_focus_in (GtkWidget *widget, GdkEventFocus *event) gtk_widget_queue_draw (day_view->top_canvas); gtk_widget_queue_draw (day_view->main_canvas); + g_assert (GTK_WIDGET_REALIZED (day_view->main_canvas)); + if (E_CANVAS (day_view->main_canvas)->ic) + gdk_im_begin (E_CANVAS (day_view->main_canvas)->ic, + GTK_LAYOUT (day_view->main_canvas)->bin_window); + return FALSE; } @@ -1396,6 +1401,10 @@ e_day_view_focus_out (GtkWidget *widget, GdkEventFocus *event) gtk_widget_queue_draw (day_view->top_canvas); gtk_widget_queue_draw (day_view->main_canvas); + g_assert (GTK_WIDGET_REALIZED (day_view->main_canvas)); + if (E_CANVAS (day_view->main_canvas)->ic) + gdk_im_end (); + return FALSE; } diff --git a/calendar/pcs/cal-backend-file.c b/calendar/pcs/cal-backend-file.c index 06c90b79f8..11dc82e7a2 100644 --- a/calendar/pcs/cal-backend-file.c +++ b/calendar/pcs/cal-backend-file.c @@ -1397,6 +1397,7 @@ generate_alarms_for_comp (CalComponent *comp, time_t start, time_t end) time_t alarm_start, alarm_end; struct alarm_occurrence_data aod; CalComponentAlarms *alarms; + icalcomponent *icalcomp, *vcalendar_comp; if (!cal_component_has_alarms (comp)) return NULL; @@ -1409,7 +1410,15 @@ generate_alarms_for_comp (CalComponent *comp, time_t start, time_t end) aod.end = end; aod.triggers = NULL; aod.n_triggers = 0; - cal_recur_generate_instances (comp, alarm_start, alarm_end, add_alarm_occurrences_cb, &aod, resolve_tzid, NULL); + + /* Get the parent VCALENDAR component, so we can resolve TZIDs. */ + icalcomp = cal_component_get_icalcomponent (comp); + vcalendar_comp = icalcomponent_get_parent (icalcomp); + g_assert (vcalendar_comp != NULL); + + cal_recur_generate_instances (comp, alarm_start, alarm_end, + add_alarm_occurrences_cb, &aod, + resolve_tzid, vcalendar_comp); /* We add the ABSOLUTE triggers separately */ generate_absolute_triggers (comp, &aod); -- cgit v1.2.3