From 322c0cad7043d9b4b10b7dc71cec028ad00834d9 Mon Sep 17 00:00:00 2001 From: Damon Chaplin Date: Wed, 11 Oct 2000 18:19:16 +0000 Subject: call calendar_config_write_on_exit() to write out some special config 2000-10-11 Damon Chaplin * gui/main.c (main): call calendar_config_write_on_exit() to write out some special config settings (as the mail component does). * gui/calendar-commands.c (properties_cmd): changed to use the new preferences dialog. (update_all_config_settings): new function to iterate over all the calendars and update the config settings. * gui/dialogs/cal-prefs-dialog.glade: preferences dialog. * gui/dialogs/cal-prefs-dialog.[hc]: new files for the preferences dialog. * gui/calendar-config.[hc]: new files to handle loading/saving config settings. * cal-util/cal-recur.c: fixed bug in YEARLY when no filters were set, plus minor changes. * cal-util/test-recur.c: updated. * gui/e-day-view-time-item.c: * gui/popup-menu.c: update to #include * gui/component-factory.c (owner_set_cb): called calendar_config_init. (owner_set_cb): (owner_unset_cb): updated the prototypes. * gui/main.c (main): added call to calendar_config_write_on_exit(). * gui/component-factory.h: * gui/component-factory.c (owner_set_cb): added global evolution_dir just like the mail component, so we know we to store config stuff. svn path=/trunk/; revision=5856 --- calendar/gui/calendar-commands.c | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'calendar/gui/calendar-commands.c') diff --git a/calendar/gui/calendar-commands.c b/calendar/gui/calendar-commands.c index 676d3944de..0467932c38 100644 --- a/calendar/gui/calendar-commands.c +++ b/calendar/gui/calendar-commands.c @@ -23,6 +23,7 @@ #include "gnome-cal.h" #include "calendar-commands.h" #include "print.h" +#include "dialogs/cal-prefs-dialog.h" #include "dayview.xpm" #include "workweekview.xpm" @@ -95,6 +96,9 @@ CalendarAlarm alarm_defaults[4] = { }; #endif +/* We have one global preferences dialog. */ +static CalPrefsDialog *preferences_dialog = NULL; + static void init_username (void) { @@ -215,6 +219,20 @@ file_print_cb (BonoboUIHandler *uih, void *data, const char *path) print (gcal, FALSE); } + +/* This iterates over each calendar telling them to update their config + settings. */ +void +update_all_config_settings (void) +{ + GList *l; + + for (l = all_calendars; l; l = l->next) + gnome_calendar_update_config_settings (GNOME_CALENDAR (l->data), FALSE); +} + + +/* These are all for the old config code and will eventually be removed. */ void time_format_changed (void) { @@ -451,8 +469,10 @@ save_as_calendar_cmd (BonoboUIHandler *uih, void *user_data, const char *path) static void properties_cmd (BonoboUIHandler *uih, void *user_data, const char *path) { - GnomeCalendar *gcal = GNOME_CALENDAR (user_data); - properties (GTK_WIDGET (gcal)); + if (!preferences_dialog) + preferences_dialog = cal_prefs_dialog_new (); + else + cal_prefs_dialog_show (preferences_dialog); } -- cgit v1.2.3