From faae476f9945cb6d9b31ee3f88e12e65b202312a Mon Sep 17 00:00:00 2001 From: Federico Mena Quintero Date: Wed, 3 Jan 2001 16:05:19 +0000 Subject: Handle the case where the calendar view cannot be created; present a 2001-01-03 Federico Mena Quintero * gui/calendar-commands.c (new_calendar): Handle the case where the calendar view cannot be created; present a warning dialog box. (new_calendar): Do not show the widget here, since we already show it in control-factory.c. * gui/control-factory.c (control_factory_new_control): Handle the case where the calendar view cannot be created. * gui/component-factory.c (create_view): Ditto. * gui/calendar-summary.h: Added prototype for calendar_summary_factory_init(). svn path=/trunk/; revision=7233 --- calendar/ChangeLog | 15 +++++++++++++++ calendar/gui/calendar-commands.c | 6 +++++- calendar/gui/calendar-component.c | 7 ++++++- calendar/gui/calendar-summary.h | 2 ++ calendar/gui/component-factory.c | 7 ++++++- calendar/gui/control-factory.c | 3 +++ 6 files changed, 37 insertions(+), 3 deletions(-) (limited to 'calendar') diff --git a/calendar/ChangeLog b/calendar/ChangeLog index 19d36d3649..a967f32527 100644 --- a/calendar/ChangeLog +++ b/calendar/ChangeLog @@ -1,3 +1,18 @@ +2001-01-03 Federico Mena Quintero + + * gui/calendar-commands.c (new_calendar): Handle the case where + the calendar view cannot be created; present a warning dialog box. + (new_calendar): Do not show the widget here, since we already show + it in control-factory.c. + + * gui/control-factory.c (control_factory_new_control): Handle the + case where the calendar view cannot be created. + + * gui/component-factory.c (create_view): Ditto. + + * gui/calendar-summary.h: Added prototype for + calendar_summary_factory_init(). + 2001-01-02 Federico Mena Quintero * gui/alarm-notify.c (add_component_alarms): If the component has diff --git a/calendar/gui/calendar-commands.c b/calendar/gui/calendar-commands.c index f56d941d2c..7519e0458e 100644 --- a/calendar/gui/calendar-commands.c +++ b/calendar/gui/calendar-commands.c @@ -428,10 +428,14 @@ new_calendar (void) GtkWidget *gcal; gcal = gnome_calendar_new (); + if (!gcal) { + gnome_warning_dialog (_("Could not create the calendar view. Please check your " + "ORBit and OAF setup.")); + return NULL; + } all_calendars = g_list_prepend (all_calendars, gcal); - gtk_widget_show (gcal); return GNOME_CALENDAR (gcal); } diff --git a/calendar/gui/calendar-component.c b/calendar/gui/calendar-component.c index dd1b6edb3a..700631b78d 100644 --- a/calendar/gui/calendar-component.c +++ b/calendar/gui/calendar-component.c @@ -58,6 +58,9 @@ create_view (EvolutionShellComponent *shell_component, return EVOLUTION_SHELL_COMPONENT_UNSUPPORTEDTYPE; control = control_factory_new_control (); + if (!control) + return EVOLUTION_SHELL_COMPONENT_CORBAERROR; + bonobo_control_set_property (control, "folder_uri", physical_uri, NULL); *control_return = control; @@ -97,7 +100,8 @@ factory_fn (BonoboGenericFactory *factory, { EvolutionShellComponent *shell_component; - shell_component = evolution_shell_component_new (folder_types, create_view, NULL, NULL, NULL, NULL); + shell_component = evolution_shell_component_new (folder_types, + create_view, NULL, NULL, NULL, NULL); gtk_signal_connect (GTK_OBJECT (shell_component), "owner_set", GTK_SIGNAL_FUNC (owner_set_cb), NULL); @@ -108,6 +112,7 @@ factory_fn (BonoboGenericFactory *factory, } + void component_factory_init (void) { diff --git a/calendar/gui/calendar-summary.h b/calendar/gui/calendar-summary.h index 259fe355de..0fd3c3e7d6 100644 --- a/calendar/gui/calendar-summary.h +++ b/calendar/gui/calendar-summary.h @@ -26,6 +26,8 @@ #include +BonoboGenericFactory *calendar_summary_factory_init (void); + BonoboObject *create_summary_view (ExecutiveSummaryComponentFactory *_factory, void *closure); diff --git a/calendar/gui/component-factory.c b/calendar/gui/component-factory.c index dd1b6edb3a..700631b78d 100644 --- a/calendar/gui/component-factory.c +++ b/calendar/gui/component-factory.c @@ -58,6 +58,9 @@ create_view (EvolutionShellComponent *shell_component, return EVOLUTION_SHELL_COMPONENT_UNSUPPORTEDTYPE; control = control_factory_new_control (); + if (!control) + return EVOLUTION_SHELL_COMPONENT_CORBAERROR; + bonobo_control_set_property (control, "folder_uri", physical_uri, NULL); *control_return = control; @@ -97,7 +100,8 @@ factory_fn (BonoboGenericFactory *factory, { EvolutionShellComponent *shell_component; - shell_component = evolution_shell_component_new (folder_types, create_view, NULL, NULL, NULL, NULL); + shell_component = evolution_shell_component_new (folder_types, + create_view, NULL, NULL, NULL, NULL); gtk_signal_connect (GTK_OBJECT (shell_component), "owner_set", GTK_SIGNAL_FUNC (owner_set_cb), NULL); @@ -108,6 +112,7 @@ factory_fn (BonoboGenericFactory *factory, } + void component_factory_init (void) { diff --git a/calendar/gui/control-factory.c b/calendar/gui/control-factory.c index ddec91be71..17e4c9d622 100644 --- a/calendar/gui/control-factory.c +++ b/calendar/gui/control-factory.c @@ -165,6 +165,9 @@ control_factory_new_control (void) GnomeCalendar *gcal; gcal = new_calendar (); + if (!gcal) + return NULL; + gtk_widget_show (GTK_WIDGET (gcal)); control = bonobo_control_new (GTK_WIDGET (gcal)); -- cgit v1.2.3