aboutsummaryrefslogtreecommitdiffstats
path: root/mail/component-factory.c
diff options
context:
space:
mode:
authorEttore Perazzoli <ettore@src.gnome.org>2000-06-10 03:19:36 +0800
committerEttore Perazzoli <ettore@src.gnome.org>2000-06-10 03:19:36 +0800
commit7f36752a67c274640378ec096f37e690fd5ca8ed (patch)
treedcc3124da275074dcf11803bb553d2af384858db /mail/component-factory.c
parent59d329b5b090175e2ea5ffd06cb20dfcd41a7688 (diff)
downloadgsoc2013-evolution-7f36752a67c274640378ec096f37e690fd5ca8ed.tar
gsoc2013-evolution-7f36752a67c274640378ec096f37e690fd5ca8ed.tar.gz
gsoc2013-evolution-7f36752a67c274640378ec096f37e690fd5ca8ed.tar.bz2
gsoc2013-evolution-7f36752a67c274640378ec096f37e690fd5ca8ed.tar.lz
gsoc2013-evolution-7f36752a67c274640378ec096f37e690fd5ca8ed.tar.xz
gsoc2013-evolution-7f36752a67c274640378ec096f37e690fd5ca8ed.tar.zst
gsoc2013-evolution-7f36752a67c274640378ec096f37e690fd5ca8ed.zip
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
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);