diff options
Diffstat (limited to 'addressbook/gui')
12 files changed, 597 insertions, 11 deletions
diff --git a/addressbook/gui/component/addressbook-factory.c b/addressbook/gui/component/addressbook-factory.c index f16c321b68..27f5adedaf 100644 --- a/addressbook/gui/component/addressbook-factory.c +++ b/addressbook/gui/component/addressbook-factory.c @@ -74,6 +74,8 @@ main (int argc, char **argv) addressbook_factory_init (); addressbook_component_factory_init (); + e_select_names_factory_init (); + e_cursors_init(); bonobo_main (); diff --git a/addressbook/gui/component/select-names/Evolution-Addressbook-SelectNames.idl b/addressbook/gui/component/select-names/Evolution-Addressbook-SelectNames.idl new file mode 100644 index 0000000000..2bc8154daf --- /dev/null +++ b/addressbook/gui/component/select-names/Evolution-Addressbook-SelectNames.idl @@ -0,0 +1,37 @@ +/* -*- Mode: IDL; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * CORBA interface for the SelectNames dialog. + * + * Authors: + * Ettore Perazzoli <ettore@helixcode.com> + * + * Copyright (C) 2000 Helix Code, Inc. + */ + +#include <Bonobo.idl> + +module Evolution { +module Addressbook { + + interface SelectNames : Bonobo::Unknown { + struct Section { + string id; + string title; + }; + + typedef sequence<Section> SectionList; + + exception DuplicateID {}; + exception SectionNotFound {}; + + void add_section (in string id, in string title) + raises (DuplicateID); + + Bonobo::Control get_entry_for_section (in string section_id) + raises (SectionNotFound); + + void activate_dialog (in string section_id); + }; + +}; +}; diff --git a/addressbook/gui/component/select-names/GNOME_Evolution_Addressbook_SelectNames.oaf.in b/addressbook/gui/component/select-names/GNOME_Evolution_Addressbook_SelectNames.oaf.in new file mode 100644 index 0000000000..e66c3aa38a --- /dev/null +++ b/addressbook/gui/component/select-names/GNOME_Evolution_Addressbook_SelectNames.oaf.in @@ -0,0 +1,29 @@ +<oaf_info> + +<oaf_server iid="OAFIID:factory:addressbook:select-names:b39eb1a1-f341-4d5a-9a91-e2616e206b2e" + type="exe" + location="evolution-addressbook"> + + <oaf_attribute name="repo_ids" type="stringv"> + <item value="IDL:GNOME/GenericFactory:1.0"/> + </oaf_attribute> + + <oaf_attribute name="description" type="string" + value="Factory for the Addressbook's name selection interface"/> + +</oaf_server> + +<oaf_server iid="OAFIID:addressbook:select-names:39301deb-174b-40d1-8a6e-5edc300f7b61" + type="factory" + location="OAFIID:factory:addressbook:select-names:b39eb1a1-f341-4d5a-9a91-e2616e206b2e"> + + <oaf_attribute name="repo_ids" type="stringv"> + <item value="IDL:Evolution/Addressbook/SelectNames"/> + </oaf_attribute> + + <oaf_attribute name="description" type="string" + value="Evolution's addressbook name selection interface."/> + +</oaf_server> + +</oaf_info>
\ No newline at end of file diff --git a/addressbook/gui/component/select-names/GNOME_Evolution_Addressbook_SelectNames.oafinfo b/addressbook/gui/component/select-names/GNOME_Evolution_Addressbook_SelectNames.oafinfo new file mode 100644 index 0000000000..e66c3aa38a --- /dev/null +++ b/addressbook/gui/component/select-names/GNOME_Evolution_Addressbook_SelectNames.oafinfo @@ -0,0 +1,29 @@ +<oaf_info> + +<oaf_server iid="OAFIID:factory:addressbook:select-names:b39eb1a1-f341-4d5a-9a91-e2616e206b2e" + type="exe" + location="evolution-addressbook"> + + <oaf_attribute name="repo_ids" type="stringv"> + <item value="IDL:GNOME/GenericFactory:1.0"/> + </oaf_attribute> + + <oaf_attribute name="description" type="string" + value="Factory for the Addressbook's name selection interface"/> + +</oaf_server> + +<oaf_server iid="OAFIID:addressbook:select-names:39301deb-174b-40d1-8a6e-5edc300f7b61" + type="factory" + location="OAFIID:factory:addressbook:select-names:b39eb1a1-f341-4d5a-9a91-e2616e206b2e"> + + <oaf_attribute name="repo_ids" type="stringv"> + <item value="IDL:Evolution/Addressbook/SelectNames"/> + </oaf_attribute> + + <oaf_attribute name="description" type="string" + value="Evolution's addressbook name selection interface."/> + +</oaf_server> + +</oaf_info>
\ No newline at end of file diff --git a/addressbook/gui/component/select-names/Makefile.am b/addressbook/gui/component/select-names/Makefile.am index f028eeeb89..1ed9c93498 100644 --- a/addressbook/gui/component/select-names/Makefile.am +++ b/addressbook/gui/component/select-names/Makefile.am @@ -1,3 +1,25 @@ +# CORBA stuff + +IDLS = \ + Evolution-Addressbook-SelectNames.idl + +IDL_GENERATED = \ + Evolution-Addressbook-SelectNames.h \ + Evolution-Addressbook-SelectNames-common.c \ + Evolution-Addressbook-SelectNames-skels.c \ + Evolution-Addressbook-SelectNames-stubs.c + +Evolution-Addressbook-SelectNames-impl.o: Evolution-Addressbook-SelectNames.h + +$(IDL_GENERATED): $(IDLS) + $(ORBIT_IDL) -I$(datadir)/idl -I`$(GNOME_CONFIG) --datadir`/idl \ + -I$(srcdir) $(srcdir)/Evolution-Addressbook-SelectNames.idl + +oafdir = $(datadir)/oaf +oaf_DATA = evolution-addressbook-select-names.oafinfo + +# + CPPFLAGS = \ -DEVOLUTION_GLADEDIR=\""$(gladedir)"\" @@ -25,6 +47,11 @@ INCLUDES = \ lib_LTLIBRARIES = libeselectnames.la libeselectnames_la_SOURCES = \ + $(IDL_GENERATED) \ + e-select-names-bonobo.c \ + e-select-names-bonobo.h \ + e-select-names-factory.c \ + e-select-names-factory.h \ e-select-names-manager.c \ e-select-names-manager.h \ e-select-names-model.c \ @@ -36,7 +63,6 @@ libeselectnames_la_SOURCES = \ e-select-names.c \ e-select-names.h - gladedir = $(datadir)/evolution/glade glade_DATA = select-names.glade diff --git a/addressbook/gui/component/select-names/e-select-names-bonobo.c b/addressbook/gui/component/select-names/e-select-names-bonobo.c new file mode 100644 index 0000000000..bacba26df3 --- /dev/null +++ b/addressbook/gui/component/select-names/e-select-names-bonobo.c @@ -0,0 +1,272 @@ +/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ +/* e-select-names-bonobo.c + * + * Copyright (C) 2000 Helix Code, Inc. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + * + * Author: Ettore Perazzoli + */ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <gnome.h> + +#include <bonobo/bonobo-property-bag.h> +#include <bonobo/bonobo-control.h> + +#include "Evolution-Addressbook-SelectNames.h" + +#include "e-util/e-util.h" +#include "e-select-names-manager.h" + +#include "e-select-names-bonobo.h" + + +#define PARENT_TYPE bonobo_object_get_type () +static BonoboObjectClass *parent_class = NULL; + +struct _ESelectNamesBonoboPrivate { + ESelectNamesManager *manager; +}; + +enum _EntryPropertyID { + ENTRY_PROPERTY_ID_TEXT +}; +typedef enum _EntryPropertyID EntryPropertyID; + + +/* PropertyBag implementation for the entry widgets. */ + +static void +entry_get_property_fn (BonoboPropertyBag *bag, + BonoboArg *arg, + unsigned int arg_id, + void *user_data) +{ + GtkWidget *widget; + char *text; + + widget = GTK_WIDGET (user_data); + + switch (arg_id) { + case ENTRY_PROPERTY_ID_TEXT: + gtk_object_get (GTK_OBJECT (widget), "text", &text, NULL); + BONOBO_ARG_SET_STRING (arg, text); + break; + default: + break; + } +} + + +/* CORBA interface implementation. */ + +static POA_Evolution_Addressbook_SelectNames__vepv SelectNames_vepv; + +static POA_Evolution_Addressbook_SelectNames * +create_servant (void) +{ + POA_Evolution_Addressbook_SelectNames *servant; + CORBA_Environment ev; + + servant = (POA_Evolution_Addressbook_SelectNames *) g_new0 (BonoboObjectServant, 1); + servant->vepv = &SelectNames_vepv; + + CORBA_exception_init (&ev); + + POA_Evolution_Addressbook_SelectNames__init ((PortableServer_Servant) servant, &ev); + if (ev._major != CORBA_NO_EXCEPTION) { + g_free (servant); + CORBA_exception_free (&ev); + return NULL; + } + + CORBA_exception_free (&ev); + + return servant; +} + +static void +impl_SelectNames_add_section (PortableServer_Servant servant, + const CORBA_char *id, + const CORBA_char *title, + CORBA_Environment *ev) +{ + BonoboObject *bonobo_object; + ESelectNamesBonobo *select_names; + ESelectNamesBonoboPrivate *priv; + + bonobo_object = bonobo_object_from_servant (servant); + select_names = E_SELECT_NAMES_BONOBO (bonobo_object); + priv = select_names->priv; + + e_select_names_manager_add_section (priv->manager, id, title); +} + +static Bonobo_Control +impl_SelectNames_get_entry_for_section (PortableServer_Servant servant, + const CORBA_char *section_id, + CORBA_Environment *ev) +{ + BonoboObject *bonobo_object; + ESelectNamesBonobo *select_names; + ESelectNamesBonoboPrivate *priv; + GtkWidget *entry_widget; + BonoboControl *control; + BonoboPropertyBag *property_bag; + + bonobo_object = bonobo_object_from_servant (servant); + select_names = E_SELECT_NAMES_BONOBO (bonobo_object); + priv = select_names->priv; + + entry_widget = e_select_names_manager_create_entry (priv->manager, section_id); + gtk_widget_show (entry_widget); + + if (entry_widget == NULL) { + CORBA_exception_set (ev, + CORBA_USER_EXCEPTION, + ex_Evolution_Addressbook_SelectNames_SectionNotFound, + NULL); + return CORBA_OBJECT_NIL; + } + + control = bonobo_control_new (entry_widget); + + property_bag = bonobo_property_bag_new (entry_get_property_fn, NULL, entry_widget); + bonobo_property_bag_add (property_bag, "text", ENTRY_PROPERTY_ID_TEXT, + BONOBO_ARG_STRING, NULL, NULL, BONOBO_PROPERTY_READABLE); + + bonobo_control_set_property_bag (control, property_bag); + + return bonobo_object_corba_objref (BONOBO_OBJECT (control)); +} + +static void +impl_SelectNames_activate_dialog (PortableServer_Servant servant, + const CORBA_char *section_id, + CORBA_Environment *ev) +{ + BonoboObject *bonobo_object; + ESelectNamesBonobo *select_names; + ESelectNamesBonoboPrivate *priv; + + bonobo_object = bonobo_object_from_servant (servant); + select_names = E_SELECT_NAMES_BONOBO (bonobo_object); + priv = select_names->priv; + + e_select_names_manager_activate_dialog (priv->manager, section_id); +} + + +/* GtkObject methods. */ + +static void +impl_destroy (GtkObject *object) +{ + ESelectNamesBonobo *select_names; + ESelectNamesBonoboPrivate *priv; + + select_names = E_SELECT_NAMES_BONOBO (object); + priv = select_names->priv; + + gtk_object_unref (GTK_OBJECT (priv->manager)); + + g_free (priv); +} + + +static void +corba_class_init () +{ + POA_Evolution_Addressbook_SelectNames__vepv *vepv; + POA_Evolution_Addressbook_SelectNames__epv *epv; + PortableServer_ServantBase__epv *base_epv; + + base_epv = g_new0 (PortableServer_ServantBase__epv, 1); + base_epv->_private = NULL; + base_epv->finalize = NULL; + base_epv->default_POA = NULL; + + epv = g_new0 (POA_Evolution_Addressbook_SelectNames__epv, 1); + epv->add_section = impl_SelectNames_add_section; + epv->get_entry_for_section = impl_SelectNames_get_entry_for_section; + epv->activate_dialog = impl_SelectNames_activate_dialog; + + vepv = &SelectNames_vepv; + vepv->Bonobo_Unknown_epv = bonobo_object_get_epv (); + vepv->Evolution_Addressbook_SelectNames_epv = epv; +} + +static void +class_init (ESelectNamesBonoboClass *klass) +{ + GtkObjectClass *object_class; + + object_class = GTK_OBJECT_CLASS (klass); + parent_class = gtk_type_class (bonobo_object_get_type ()); + + object_class->destroy = impl_destroy; + + corba_class_init (); +} + +static void +init (ESelectNamesBonobo *select_names) +{ + ESelectNamesBonoboPrivate *priv; + + priv = g_new (ESelectNamesBonoboPrivate, 1); + + priv->manager = e_select_names_manager_new (); + + select_names->priv = priv; +} + + +void +e_select_names_bonobo_construct (ESelectNamesBonobo *select_names, + Evolution_Addressbook_SelectNames corba_object) +{ + g_return_if_fail (select_names != NULL); + g_return_if_fail (E_IS_SELECT_NAMES_BONOBO (select_names)); + + bonobo_object_construct (BONOBO_OBJECT (select_names), corba_object); +} + +ESelectNamesBonobo * +e_select_names_bonobo_new (void) +{ + POA_Evolution_Addressbook_SelectNames *servant; + Evolution_Addressbook_SelectNames corba_object; + ESelectNamesBonobo *select_names; + + servant = create_servant (); + if (servant == NULL) + return NULL; + + select_names = gtk_type_new (e_select_names_bonobo_get_type ()); + + corba_object = bonobo_object_activate_servant (BONOBO_OBJECT (select_names), servant); + e_select_names_bonobo_construct (select_names, corba_object); + + return select_names; +} + + +E_MAKE_TYPE (e_select_names_bonobo, "ESelectNamesBonobo", ESelectNamesBonobo, class_init, init, PARENT_TYPE) diff --git a/addressbook/gui/component/select-names/e-select-names-bonobo.h b/addressbook/gui/component/select-names/e-select-names-bonobo.h new file mode 100644 index 0000000000..4531c1e024 --- /dev/null +++ b/addressbook/gui/component/select-names/e-select-names-bonobo.h @@ -0,0 +1,71 @@ +/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ +/* e-select-names-bonobo.h + * + * Copyright (C) 2000 Helix Code, Inc. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + * + * Author: Ettore Perazzoli + */ + +#ifndef __E_SELECT_NAMES_BONOBO_H__ +#define __E_SELECT_NAMES_BONOBO_H__ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <bonobo/bonobo-object.h> + +#include "Evolution-Addressbook-SelectNames.h" + +#ifdef __cplusplus +extern "C" { +#pragma } +#endif /* __cplusplus */ + +#define E_TYPE_SELECT_NAMES_BONOBO (e_select_names_bonobo_get_type ()) +#define E_SELECT_NAMES_BONOBO(obj) (GTK_CHECK_CAST ((obj), E_TYPE_SELECT_NAMES_BONOBO, ESelectNamesBonobo)) +#define E_SELECT_NAMES_BONOBO_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), E_TYPE_SELECT_NAMES_BONOBO, ESelectNamesBonoboClass)) +#define E_IS_SELECT_NAMES_BONOBO(obj) (GTK_CHECK_TYPE ((obj), E_TYPE_SELECT_NAMES_BONOBO)) +#define E_IS_SELECT_NAMES_BONOBO_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((obj), E_TYPE_SELECT_NAMES_BONOBO)) + + +typedef struct _ESelectNamesBonobo ESelectNamesBonobo; +typedef struct _ESelectNamesBonoboPrivate ESelectNamesBonoboPrivate; +typedef struct _ESelectNamesBonoboClass ESelectNamesBonoboClass; + +struct _ESelectNamesBonobo { + BonoboObject parent; + + ESelectNamesBonoboPrivate *priv; +}; + +struct _ESelectNamesBonoboClass { + BonoboObjectClass parent_class; +}; + + +GtkType e_select_names_bonobo_get_type (void); +void e_select_names_bonobo_construct (ESelectNamesBonobo *select_names, + Evolution_Addressbook_SelectNames corba_object); +ESelectNamesBonobo *e_select_names_bonobo_new (void); + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* __E_SELECT_NAMES_BONOBO_H__ */ diff --git a/addressbook/gui/component/select-names/e-select-names-factory.c b/addressbook/gui/component/select-names/e-select-names-factory.c new file mode 100644 index 0000000000..9a45692071 --- /dev/null +++ b/addressbook/gui/component/select-names/e-select-names-factory.c @@ -0,0 +1,60 @@ +/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ +/* e-select-names-factory.c + * + * Copyright (C) 2000 Helix Code, Inc. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + * + * Author: Ettore Perazzoli + */ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <bonobo.h> + +#include "e-select-names-bonobo.h" + +#include "e-select-names-factory.h" + + +#define COMPONENT_FACTORY_ID "OAFIID:factory:addressbook:select-names:b39eb1a1-f341-4d5a-9a91-e2616e206b2e" + +static BonoboGenericFactory *factory = NULL; + + +static BonoboObject * +factory_fn (BonoboGenericFactory *factory, + void *closure) +{ + return BONOBO_OBJECT (e_select_names_bonobo_new ()); +} + + +gboolean +e_select_names_factory_init (void) +{ + if (factory != NULL) + return TRUE; + + factory = bonobo_generic_factory_new (COMPONENT_FACTORY_ID, factory_fn, NULL); + + if (factory == NULL) + return FALSE; + + return TRUE; +} diff --git a/addressbook/gui/component/select-names/e-select-names-factory.h b/addressbook/gui/component/select-names/e-select-names-factory.h new file mode 100644 index 0000000000..f65d5aaa9e --- /dev/null +++ b/addressbook/gui/component/select-names/e-select-names-factory.h @@ -0,0 +1,31 @@ +/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ +/* e-select-names-factory.h + * + * Copyright (C) 2000 Helix Code, Inc. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + * + * Author: Ettore Perazzoli + */ + +#ifndef _E_SECELT_NAMES_FACTORY_H +#define _E_SECELT_NAMES_FACTORY_H + +#include <glib.h> + +gboolean e_select_names_factory_init (void); + +#endif diff --git a/addressbook/gui/component/select-names/e-select-names-manager.c b/addressbook/gui/component/select-names/e-select-names-manager.c index 51a4d889c1..77405dfe5c 100644 --- a/addressbook/gui/component/select-names/e-select-names-manager.c +++ b/addressbook/gui/component/select-names/e-select-names-manager.c @@ -182,8 +182,8 @@ e_select_names_manager_init (ESelectNamesManager *manager) } void e_select_names_manager_add_section (ESelectNamesManager *manager, - char *id, - char *title) + const char *id, + const char *title) { ESelectNamesManagerSection *section; @@ -196,7 +196,7 @@ void e_select_names_manager_add_section ( } GtkWidget *e_select_names_manager_create_entry (ESelectNamesManager *manager, - char *id) + const char *id) { GtkWidget *entry; ETextModel *model; @@ -218,7 +218,7 @@ GtkWidget *e_select_names_manager_create_entry ( } void e_select_names_manager_activate_dialog (ESelectNamesManager *manager, - char *id) + const char *id) { ESelectNames *names = E_SELECT_NAMES(e_select_names_new()); EIterator *iterator; @@ -232,7 +232,7 @@ void e_select_names_manager_activate_dialog ( /* Of type ECard */ EList *e_select_names_manager_get_cards (ESelectNamesManager *manager, - char *id) + const char *id) { EIterator *iterator; iterator = e_list_get_iterator(manager->sections); diff --git a/addressbook/gui/component/select-names/e-select-names-manager.h b/addressbook/gui/component/select-names/e-select-names-manager.h index 600644f01a..f2423e667b 100644 --- a/addressbook/gui/component/select-names/e-select-names-manager.h +++ b/addressbook/gui/component/select-names/e-select-names-manager.h @@ -35,16 +35,16 @@ struct _ESelectNamesManagerClass { ESelectNamesManager *e_select_names_manager_new (void); void e_select_names_manager_add_section (ESelectNamesManager *manager, - char *id, - char *title); + const char *id, + const char *title); GtkWidget *e_select_names_manager_create_entry (ESelectNamesManager *manager, - char *id); + const char *id); void e_select_names_manager_activate_dialog (ESelectNamesManager *manager, - char *id); + const char *id); /* Of type ECard */ EList *e_select_names_manager_get_cards (ESelectNamesManager *manager, - char *id); + const char *id); /* Standard Gtk function */ GtkType e_select_names_manager_get_type (void); diff --git a/addressbook/gui/component/select-names/evolution-addressbook-select-names.oafinfo b/addressbook/gui/component/select-names/evolution-addressbook-select-names.oafinfo new file mode 100644 index 0000000000..e66c3aa38a --- /dev/null +++ b/addressbook/gui/component/select-names/evolution-addressbook-select-names.oafinfo @@ -0,0 +1,29 @@ +<oaf_info> + +<oaf_server iid="OAFIID:factory:addressbook:select-names:b39eb1a1-f341-4d5a-9a91-e2616e206b2e" + type="exe" + location="evolution-addressbook"> + + <oaf_attribute name="repo_ids" type="stringv"> + <item value="IDL:GNOME/GenericFactory:1.0"/> + </oaf_attribute> + + <oaf_attribute name="description" type="string" + value="Factory for the Addressbook's name selection interface"/> + +</oaf_server> + +<oaf_server iid="OAFIID:addressbook:select-names:39301deb-174b-40d1-8a6e-5edc300f7b61" + type="factory" + location="OAFIID:factory:addressbook:select-names:b39eb1a1-f341-4d5a-9a91-e2616e206b2e"> + + <oaf_attribute name="repo_ids" type="stringv"> + <item value="IDL:Evolution/Addressbook/SelectNames"/> + </oaf_attribute> + + <oaf_attribute name="description" type="string" + value="Evolution's addressbook name selection interface."/> + +</oaf_server> + +</oaf_info>
\ No newline at end of file |