aboutsummaryrefslogtreecommitdiffstats
path: root/mail/component-factory.c
diff options
context:
space:
mode:
Diffstat (limited to 'mail/component-factory.c')
-rw-r--r--mail/component-factory.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/mail/component-factory.c b/mail/component-factory.c
index adc8380754..0452efb846 100644
--- a/mail/component-factory.c
+++ b/mail/component-factory.c
@@ -59,14 +59,19 @@ static GList *browsers;
/* EvolutionShellComponent methods and signals. */
-static BonoboControl *
+static EvolutionShellComponentResult
create_view (EvolutionShellComponent *shell_component,
const char *physical_uri,
+ const char *folder_type,
+ BonoboControl **control_return,
void *closure)
{
BonoboControl *control;
GtkWidget *folder_browser_widget;
+ if (g_strcasecmp (folder_type, "mail") != 0)
+ return EVOLUTION_SHELL_COMPONENT_UNSUPPORTEDTYPE;
+
control = folder_browser_factory_new_control ();
folder_browser_widget = bonobo_control_get_widget (control);
@@ -83,7 +88,9 @@ create_view (EvolutionShellComponent *shell_component,
/* FIXME: This never fails. :-/ */
folder_browser_set_uri (FOLDER_BROWSER (folder_browser_widget), physical_uri);
- return control;
+ *control_return = control;
+
+ return EVOLUTION_SHELL_COMPONENT_OK;
}
static void
@@ -123,7 +130,7 @@ factory_fn (BonoboGenericFactory *factory,
{
EvolutionShellComponent *shell_component;
- shell_component = evolution_shell_component_new (folder_types, create_view, NULL);
+ shell_component = evolution_shell_component_new (folder_types, create_view, NULL, NULL, NULL);
gtk_signal_connect (GTK_OBJECT (shell_component), "owner_set",
GTK_SIGNAL_FUNC (owner_set_cb), NULL);