aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/gui/component/addressbook-component.c
diff options
context:
space:
mode:
authorChris Toshok <toshok@ximian.com>2004-01-07 05:43:07 +0800
committerChris Toshok <toshok@src.gnome.org>2004-01-07 05:43:07 +0800
commit38941f937253e2c208e0165267bd9f61a075988c (patch)
tree5cef0437cfcc6a95c4a73a59de268a60a3b73b67 /addressbook/gui/component/addressbook-component.c
parent10fdfe795f82850d8e6dcf1923bc6780eced0763 (diff)
downloadgsoc2013-evolution-38941f937253e2c208e0165267bd9f61a075988c.tar
gsoc2013-evolution-38941f937253e2c208e0165267bd9f61a075988c.tar.gz
gsoc2013-evolution-38941f937253e2c208e0165267bd9f61a075988c.tar.bz2
gsoc2013-evolution-38941f937253e2c208e0165267bd9f61a075988c.tar.lz
gsoc2013-evolution-38941f937253e2c208e0165267bd9f61a075988c.tar.xz
gsoc2013-evolution-38941f937253e2c208e0165267bd9f61a075988c.tar.zst
gsoc2013-evolution-38941f937253e2c208e0165267bd9f61a075988c.zip
add addressbook-migrate.[ch].
2004-01-06 Chris Toshok <toshok@ximian.com> * gui/component/Makefile.am (libevolution_addressbook_la_SOURCES): add addressbook-migrate.[ch]. * gui/component/addressbook-component.c (addressbook_component_init): remove the source creation from here, it's in the migration code now. (impl_upgradeFromVersion): new function, call the addressbook-migration stuff. (addressbook_component_class_init): fill in epv->upgradeFromVersion, and call smime_component_init. (addressbook_component_peek_base_directory): new function. (addressbook_component_peek_source_list): same. * gui/component/addressbook-component.h: add prototypes for _peek_base_directory and _peek_source_list. * gui/component/addressbook-migrate.[ch]: add migration code to convert stuff from 1.x over to 1.5/2.0. svn path=/trunk/; revision=24079
Diffstat (limited to 'addressbook/gui/component/addressbook-component.c')
-rw-r--r--addressbook/gui/component/addressbook-component.c87
1 files changed, 43 insertions, 44 deletions
diff --git a/addressbook/gui/component/addressbook-component.c b/addressbook/gui/component/addressbook-component.c
index 999baed5bc..1bc0799a73 100644
--- a/addressbook/gui/component/addressbook-component.c
+++ b/addressbook/gui/component/addressbook-component.c
@@ -26,6 +26,7 @@
#include <config.h>
#include "addressbook-component.h"
+#include "addressbook-migrate.h"
#include "addressbook.h"
#include "addressbook-config.h"
@@ -47,6 +48,10 @@
#include <gconf/gconf-client.h>
#include <gal/util/e-util.h>
+#if HAVE_NSS
+#include "smime/gui/component.h"
+#endif
+
#define PARENT_TYPE bonobo_object_get_type ()
static BonoboObjectClass *parent_class = NULL;
@@ -55,6 +60,7 @@ struct _AddressbookComponentPrivate {
GConfClient *gconf_client;
ESourceList *source_list;
GtkWidget *source_selector;
+ char *base_directory;
EActivityHandler *activity_handler;
};
@@ -349,6 +355,23 @@ impl_requestCreateItem (PortableServer_Servant servant,
g_free (uri);
}
+static CORBA_boolean
+impl_upgradeFromVersion (PortableServer_Servant servant, short major, short minor, short revision, CORBA_Environment *ev)
+{
+ switch (major) {
+ case 1:
+ switch (minor) {
+ case 0:
+ case 2:
+ case 4:
+ addressbook_migrate (addressbook_component_peek ());
+ break;
+ }
+ break;
+ }
+
+ return TRUE;
+}
/* GObject methods. */
@@ -402,18 +425,20 @@ addressbook_component_class_init (AddressbookComponentClass *class)
epv->createControls = impl_createControls;
epv->_get_userCreatableItems = impl__get_userCreatableItems;
epv->requestCreateItem = impl_requestCreateItem;
+ epv->upgradeFromVersion = impl_upgradeFromVersion;
object_class->dispose = impl_dispose;
object_class->finalize = impl_finalize;
parent_class = g_type_class_peek_parent (class);
+
+ smime_component_init ();
}
static void
addressbook_component_init (AddressbookComponent *component)
{
AddressbookComponentPrivate *priv;
- GSList *groups;
priv = g_new0 (AddressbookComponentPrivate, 1);
@@ -425,49 +450,7 @@ addressbook_component_init (AddressbookComponent *component)
"/apps/evolution/addressbook/sources");
priv->activity_handler = e_activity_handler_new ();
-
- /* Create default addressbooks if there are no groups */
- groups = e_source_list_peek_groups (priv->source_list);
- if (!groups) {
- ESourceGroup *group;
- ESource *source;
- char *base_uri, *base_uri_proto, *new_dir;
-
- /* create the local source group */
- base_uri = g_build_filename (g_get_home_dir (),
- "/.evolution/addressbook/local/OnThisComputer/",
- NULL);
-
- base_uri_proto = g_strconcat ("file://", base_uri, NULL);
-
- group = e_source_group_new (_("On This Computer"), base_uri_proto);
- e_source_list_add_group (priv->source_list, group, -1);
-
- g_free (base_uri_proto);
-
- /* FIXME: Migrate addressbooks from older setup? */
-
- /* Create default addressbooks */
- new_dir = g_build_filename (base_uri, "Personal/", NULL);
- if (!e_mkdir_hier (new_dir, 0700)) {
- source = e_source_new (_("Personal"), "Personal");
- e_source_group_add_source (group, source, -1);
- }
- g_free (new_dir);
-
- new_dir = g_build_filename (base_uri, "Work/", NULL);
- if (!e_mkdir_hier (new_dir, 0700)) {
- source = e_source_new (_("Work"), "Work");
- e_source_group_add_source (group, source, -1);
- }
- g_free (new_dir);
-
- g_free (base_uri);
-
- /* Create the LDAP source group */
- group = e_source_group_new (_("On LDAP Servers"), "ldap://");
- e_source_list_add_group (priv->source_list, group, -1);
- }
+ priv->base_directory = g_build_filename (g_get_home_dir (), ".evolution", NULL);
component->priv = priv;
}
@@ -486,6 +469,22 @@ addressbook_component_peek (void)
return component;
}
+const char *
+addressbook_component_peek_base_directory (AddressbookComponent *component)
+{
+ g_return_val_if_fail (ADDRESSBOOK_IS_COMPONENT (component), NULL);
+
+ return component->priv->base_directory;
+}
+
+ESourceList *
+addressbook_component_peek_source_list (AddressbookComponent *component)
+{
+ g_return_val_if_fail (ADDRESSBOOK_IS_COMPONENT (component), NULL);
+
+ return component->priv->source_list;
+}
+
EActivityHandler *
addressbook_component_peek_activity_handler (AddressbookComponent *component)