From 56867f3fe28668dc013dd2f54703ddb7affdbc48 Mon Sep 17 00:00:00 2001 From: JP Rosevear Date: Mon, 1 Jul 2002 14:31:58 +0000 Subject: listen for timezone config change (property_change_cb): set the timezone 2002-07-01 JP Rosevear * 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 --- calendar/ChangeLog | 13 +++++++++++-- calendar/gui/calendar-config.c | 17 +++++++++++++++++ calendar/gui/main.c | 3 +++ 3 files changed, 31 insertions(+), 2 deletions(-) (limited to 'calendar') diff --git a/calendar/ChangeLog b/calendar/ChangeLog index f3a70554a4..9f7d80d2bb 100644 --- a/calendar/ChangeLog +++ b/calendar/ChangeLog @@ -1,3 +1,12 @@ +2002-07-01 JP Rosevear + + * 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 + 2002-06-25 Rodrigo Moya Fixes #25410 @@ -6,8 +15,8 @@ cleanup on removal of clients. (alarm_notify_add_calendar): ditto. -2002-06-25 JP Rosevear - +2002-06-27 JP Rosevear + * gui/itip-utils.c (comp_compliant): plug leak and actually use the minimal comp we create 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 -- cgit v1.2.3