aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui
diff options
context:
space:
mode:
authorJP Rosevear <jpr@ximian.com>2002-07-01 22:31:58 +0800
committerJP Rosevear <jpr@src.gnome.org>2002-07-01 22:31:58 +0800
commit56867f3fe28668dc013dd2f54703ddb7affdbc48 (patch)
tree60326865cd3e6a31f8a37932184e0d72cea236e9 /calendar/gui
parent9fd05c275495a4b3b60309466ee927ead3a8e9ef (diff)
downloadgsoc2013-evolution-56867f3fe28668dc013dd2f54703ddb7affdbc48.tar
gsoc2013-evolution-56867f3fe28668dc013dd2f54703ddb7affdbc48.tar.gz
gsoc2013-evolution-56867f3fe28668dc013dd2f54703ddb7affdbc48.tar.bz2
gsoc2013-evolution-56867f3fe28668dc013dd2f54703ddb7affdbc48.tar.lz
gsoc2013-evolution-56867f3fe28668dc013dd2f54703ddb7affdbc48.tar.xz
gsoc2013-evolution-56867f3fe28668dc013dd2f54703ddb7affdbc48.tar.zst
gsoc2013-evolution-56867f3fe28668dc013dd2f54703ddb7affdbc48.zip
listen for timezone config change (property_change_cb): set the timezone
2002-07-01 JP Rosevear <jpr@ximian.com> * gui/calendar-config.c (config_read): listen for timezone config change (property_change_cb): set the timezone if it changed elsewhere * gui/main.c (init_bonobo): call bonobo_activate because we make bonobo related calls before the bonobo_main call svn path=/trunk/; revision=17335
Diffstat (limited to 'calendar/gui')
-rw-r--r--calendar/gui/calendar-config.c17
-rw-r--r--calendar/gui/main.c3
2 files changed, 20 insertions, 0 deletions
diff --git a/calendar/gui/calendar-config.c b/calendar/gui/calendar-config.c
index 572db1fe2c..d1e3c76ab8 100644
--- a/calendar/gui/calendar-config.c
+++ b/calendar/gui/calendar-config.c
@@ -109,6 +109,16 @@ calendar_config_locale_supports_12_hour_format (void)
return s[0] != '\0';
}
+static void
+property_change_cb (BonoboListener *listener,
+ char *event_name,
+ CORBA_any *any,
+ CORBA_Environment *ev,
+ gpointer user_data)
+{
+ calendar_config_set_timezone (BONOBO_ARG_GET_STRING (any));
+}
+
static void
config_read (void)
{
@@ -125,6 +135,13 @@ config_read (void)
return;
}
+ /* The start up wizard can set the timezone externally */
+ bonobo_event_source_client_add_listener (db, property_change_cb,
+ "=Bonobo/ConfigDatabase:change/Calendar/Display:Timezone",
+ &ev, NULL);
+ if (BONOBO_EX (&ev))
+ g_message ("config_read(): Could not listen to db changes");
+
CORBA_exception_free (&ev);
/* Default to UTC if the timezone is not set or is "". */
diff --git a/calendar/gui/main.c b/calendar/gui/main.c
index b9b504826b..e00ea7a1e7 100644
--- a/calendar/gui/main.c
+++ b/calendar/gui/main.c
@@ -65,6 +65,9 @@ init_bonobo (int argc, char **argv)
if (bonobo_init (CORBA_OBJECT_NIL, CORBA_OBJECT_NIL, CORBA_OBJECT_NIL) == FALSE)
g_error (_("Could not initialize Bonobo"));
+
+ if (!bonobo_activate ())
+ g_error (_("Could not activate Bonobo"));
}
/* Factory function for the calendar component factory; just creates and