aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui
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 /calendar/gui
parent59d329b5b090175e2ea5ffd06cb20dfcd41a7688 (diff)
downloadgsoc2013-evolution-7f36752a67c274640378ec096f37e690fd5ca8ed.tar.gz
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 'calendar/gui')
-rw-r--r--calendar/gui/calendar-component.c13
-rw-r--r--calendar/gui/component-factory.c13
2 files changed, 20 insertions, 6 deletions
diff --git a/calendar/gui/calendar-component.c b/calendar/gui/calendar-component.c
index 1509f70457..1b178cfdfc 100644
--- a/calendar/gui/calendar-component.c
+++ b/calendar/gui/calendar-component.c
@@ -47,17 +47,24 @@ static const EvolutionShellComponentFolderType folder_types[] = {
/* EvolutionShellComponent methods and signals. */
-static BonoboControl *
+static EvolutionShellComponentResult
create_view (EvolutionShellComponent *shell_component,
const char *physical_uri,
+ const char *type,
+ BonoboControl **control_return,
void *closure)
{
BonoboControl *control;
+ if (g_strcasecmp (type, "calendar") != 0)
+ return EVOLUTION_SHELL_COMPONENT_UNSUPPORTEDTYPE;
+
control = control_factory_new_control ();
bonobo_control_set_property (control, "folder_uri", physical_uri, NULL);
- return control;
+ *control_return = control;
+
+ return EVOLUTION_SHELL_COMPONENT_OK;
}
static void
@@ -76,7 +83,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);
diff --git a/calendar/gui/component-factory.c b/calendar/gui/component-factory.c
index 1509f70457..1b178cfdfc 100644
--- a/calendar/gui/component-factory.c
+++ b/calendar/gui/component-factory.c
@@ -47,17 +47,24 @@ static const EvolutionShellComponentFolderType folder_types[] = {
/* EvolutionShellComponent methods and signals. */
-static BonoboControl *
+static EvolutionShellComponentResult
create_view (EvolutionShellComponent *shell_component,
const char *physical_uri,
+ const char *type,
+ BonoboControl **control_return,
void *closure)
{
BonoboControl *control;
+ if (g_strcasecmp (type, "calendar") != 0)
+ return EVOLUTION_SHELL_COMPONENT_UNSUPPORTEDTYPE;
+
control = control_factory_new_control ();
bonobo_control_set_property (control, "folder_uri", physical_uri, NULL);
- return control;
+ *control_return = control;
+
+ return EVOLUTION_SHELL_COMPONENT_OK;
}
static void
@@ -76,7 +83,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);