From 7f36752a67c274640378ec096f37e690fd5ca8ed Mon Sep 17 00:00:00 2001
From: Ettore Perazzoli <ettore@src.gnome.org>
Date: Fri, 9 Jun 2000 19:19:36 +0000
Subject: Initial support for creating/removing folders.  This implies some new
 IDL methods and new functions to implement on the component side.  I have
 also added a simple folder creation dialog in the shell.  It's quite
 unfinished and untested.

svn path=/trunk/; revision=3491
---
 mail/component-factory.c | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

(limited to 'mail/component-factory.c')

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);
-- 
cgit v1.2.3