aboutsummaryrefslogtreecommitdiffstats
path: root/calendar
diff options
context:
space:
mode:
Diffstat (limited to 'calendar')
-rw-r--r--calendar/ChangeLog15
-rw-r--r--calendar/gui/calendar-commands.c6
-rw-r--r--calendar/gui/calendar-component.c7
-rw-r--r--calendar/gui/calendar-summary.h2
-rw-r--r--calendar/gui/component-factory.c7
-rw-r--r--calendar/gui/control-factory.c3
6 files changed, 37 insertions, 3 deletions
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 <federico@helixcode.com>
+
+ * 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 <federico@helixcode.com>
* 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 <evolution-services/executive-summary-component.h>
+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));