aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui
diff options
context:
space:
mode:
authorDamon Chaplin <damon@ximian.com>2001-07-03 14:06:18 +0800
committerDamon Chaplin <damon@src.gnome.org>2001-07-03 14:06:18 +0800
commit2c95c4d8e9f237bc2428b05d976d01241d3394ba (patch)
treeb6f880580e7fef54fb777c1981cad63f463c530c /calendar/gui
parenteb52ee5a862b132e6c0655cd44b5887d64ead3ca (diff)
downloadgsoc2013-evolution-2c95c4d8e9f237bc2428b05d976d01241d3394ba.tar.gz
gsoc2013-evolution-2c95c4d8e9f237bc2428b05d976d01241d3394ba.tar.zst
gsoc2013-evolution-2c95c4d8e9f237bc2428b05d976d01241d3394ba.zip
added virtual method to get a VTIMEZONE component given a TZID. We need
2001-07-03 Damon Chaplin <damon@ximian.com> * pcs/cal-backend.[hc]: added virtual method to get a VTIMEZONE component given a TZID. We need this to resolve TZIDs when expanding an event using cal_recur_generate_instances() in query.c. * pcs/cal-backend-file.c (cal_backend_file_get_timezone): implemented virtual method. (cal_backend_file_update_object): fixed bug, kind -> child_kind. * pcs/query.c (func_occur_in_time_range): use the virtual method for resolving TZIDs. The other way didn't work anyway, as we didn't have the entire VCALENDAR with VTIMEZONEs in it. * gui/dialogs/recurrence-page.c (init_widgets): (make_ending_until_special): moved the call to e_date_edit_set_get_time_callback() from init_widgets to make_ending_until_special(), since that is where the widget gets created. * gui/e-timezone-entry.c (e_timezone_entry_set_timezone): handle zone being NULL. svn path=/trunk/; revision=10732
Diffstat (limited to 'calendar/gui')
-rw-r--r--calendar/gui/dialogs/recurrence-page.c9
-rw-r--r--calendar/gui/e-timezone-entry.c2
2 files changed, 7 insertions, 4 deletions
diff --git a/calendar/gui/dialogs/recurrence-page.c b/calendar/gui/dialogs/recurrence-page.c
index 4023cd6b5a..a8961fef7b 100644
--- a/calendar/gui/dialogs/recurrence-page.c
+++ b/calendar/gui/dialogs/recurrence-page.c
@@ -1220,6 +1220,12 @@ make_ending_until_special (RecurrencePage *rpage)
gtk_signal_connect (GTK_OBJECT (de), "changed",
GTK_SIGNAL_FUNC (ending_until_changed_cb), rpage);
+
+ /* Make sure the EDateEdit widget uses our timezones to get the
+ current time. */
+ e_date_edit_set_get_time_callback (de,
+ (EDateEditGetTimeCallback) comp_editor_get_current_time,
+ rpage, NULL);
}
/* Callback used when the ending-count value changes */
@@ -2113,9 +2119,6 @@ init_widgets (RecurrencePage *rpage)
e_date_edit_set_get_time_callback (E_DATE_EDIT (priv->exception_date),
(EDateEditGetTimeCallback) comp_editor_get_current_time,
rpage, NULL);
- e_date_edit_set_get_time_callback (E_DATE_EDIT (priv->ending_date_edit),
- (EDateEditGetTimeCallback) comp_editor_get_current_time,
- rpage, NULL);
e_calendar_item_set_get_time_callback (ecal->calitem,
(ECalendarItemGetTimeCallback) comp_editor_get_current_time,
rpage, NULL);
diff --git a/calendar/gui/e-timezone-entry.c b/calendar/gui/e-timezone-entry.c
index e7e64f0934..2b4f06af6d 100644
--- a/calendar/gui/e-timezone-entry.c
+++ b/calendar/gui/e-timezone-entry.c
@@ -286,7 +286,7 @@ e_timezone_entry_set_timezone (ETimezoneEntry *tentry,
priv->changed = FALSE;
gtk_entry_set_text (GTK_ENTRY (priv->entry),
- e_timezone_entry_get_display_name (zone));
+ zone ? e_timezone_entry_get_display_name (zone) : "");
}