diff options
author | JP Rosevear <jpr@ximian.com> | 2003-10-29 22:05:34 +0800 |
---|---|---|
committer | JP Rosevear <jpr@src.gnome.org> | 2003-10-29 22:05:34 +0800 |
commit | 4cd045fb40ee5fcad3c5f86b9ecff5d4c21963cd (patch) | |
tree | c52b473aa7e259f552053581177c2a0b568b3c4b /calendar/gui/e-week-view-config.c | |
parent | 104ef59a6ae16a83f0ba16cedae32c6322b3fdc3 (diff) | |
download | gsoc2013-evolution-4cd045fb40ee5fcad3c5f86b9ecff5d4c21963cd.tar.gz gsoc2013-evolution-4cd045fb40ee5fcad3c5f86b9ecff5d4c21963cd.tar.zst gsoc2013-evolution-4cd045fb40ee5fcad3c5f86b9ecff5d4c21963cd.zip |
set the timezone for all clients (timezone_changed_cb): callback for
2003-10-29 JP Rosevear <jpr@ximian.com>
* gui/gnome-cal.c (set_timezone): set the timezone for all clients
(timezone_changed_cb): callback for changes
(setup_config): setup the configuration
(setup_widgets): setup up configuration managers for the list
view, task list and date navigator
(gnome_calendar_init): setup config
(gnome_calendar_destroy): destroy configuration managers and
notifications
(gnome_calendar_update_config_settings): remove dead bits
* gui/e-mini-calendar-config.[hc]: manage configuration of an
e-calendar
* gui/e-day-view-config.h: remove extraneous comment, type the
parent class correctly
* gui/e-week-view-config.h: ditto
* gui/e-day-view-config.c (e_day_view_config_class_init): type the
class correctly
(set_timezone): set timezone
(timezone_changed_cb): timezone changed callback
(e_day_view_config_set_view): track timezone changes
* gui/e-week-view-config.c: ditto
* gui/e-cell-date-edit-config.[hc]: manage configuration of a date
edit cell
* gui/e-calendar-table-config.[hc]: manage configuration of a
e-calendar-table
* gui/e-cal-list-view.c (get_current_time_cb): use the view
timezone to compute
* gui/e-cal-list-view-config.[hc]: manage configuration of a
list view
* gui/calendar-config.h: update protos
* gui/calendar-config.c
(calendar_config_add_notification_timezone): notify of timezone
change
(calendar_config_add_notification_dnav_show_week_no): notify of
show week number setting change
* gui/calendar-component.c (calendar_component_peek): remove bad
comma
* gui/Makefile.am: build new config classes
svn path=/trunk/; revision=23114
Diffstat (limited to 'calendar/gui/e-week-view-config.c')
-rw-r--r-- | calendar/gui/e-week-view-config.c | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/calendar/gui/e-week-view-config.c b/calendar/gui/e-week-view-config.c index 8c9e2cfb70..8b1cdec6d4 100644 --- a/calendar/gui/e-week-view-config.c +++ b/calendar/gui/e-week-view-config.c @@ -105,7 +105,7 @@ e_week_view_config_finalize (GObject *object) } static void -e_week_view_config_class_init (ECalViewClass *klass) +e_week_view_config_class_init (EWeekViewConfigClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); GParamSpec *spec; @@ -157,6 +157,33 @@ e_week_view_config_get_view (EWeekViewConfig *view_config) } static void +set_timezone (EWeekView *week_view) +{ + char *location; + icaltimezone *zone; + + location = calendar_config_get_timezone (); + zone = icaltimezone_get_builtin_timezone (location); + if (!zone) + zone = icaltimezone_get_utc_timezone (); + + e_cal_view_set_timezone (E_CAL_VIEW (week_view), zone); + + g_free (location); +} + +static void +timezone_changed_cb (GConfClient *client, guint id, GConfEntry *entry, gpointer data) +{ + EWeekViewConfig *view_config = data; + EWeekViewConfigPrivate *priv; + + priv = view_config->priv; + + set_timezone (priv->view); +} + +static void set_week_start (EWeekView *week_view) { int week_start_week; @@ -271,6 +298,12 @@ e_week_view_config_set_view (EWeekViewConfig *view_config, EWeekView *week_view) return; priv->view = g_object_ref (week_view); + + /* Time zone */ + set_timezone (week_view); + + not = calendar_config_add_notification_timezone (timezone_changed_cb, view_config); + priv->notifications = g_list_prepend (priv->notifications, GUINT_TO_POINTER (not)); /* Week start */ set_week_start (week_view); |