aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2010-12-08 13:17:17 +0800
committerMatthew Barnes <mbarnes@redhat.com>2012-06-03 11:00:39 +0800
commit70805074799774f97473dafbed444c8a0b3b68e1 (patch)
tree0ab42f959f0b988a6d9100ada5adaf626c7f5404
parentc20cd3645b593061eb564aabcc0e224b8a1b744c (diff)
downloadgsoc2013-evolution-70805074799774f97473dafbed444c8a0b3b68e1.tar.gz
gsoc2013-evolution-70805074799774f97473dafbed444c8a0b3b68e1.tar.zst
gsoc2013-evolution-70805074799774f97473dafbed444c8a0b3b68e1.zip
Adapt addressbook/importers to the new ESource API.
-rw-r--r--addressbook/importers/Makefile.am1
-rw-r--r--addressbook/importers/evolution-csv-importer.c36
-rw-r--r--addressbook/importers/evolution-ldif-importer.c36
-rw-r--r--addressbook/importers/evolution-vcard-importer.c36
4 files changed, 67 insertions, 42 deletions
diff --git a/addressbook/importers/Makefile.am b/addressbook/importers/Makefile.am
index 3f2f1db38f..515370d38c 100644
--- a/addressbook/importers/Makefile.am
+++ b/addressbook/importers/Makefile.am
@@ -22,6 +22,7 @@ libevolution_addressbook_importers_la_LDFLAGS = -avoid-version $(NO_UNDEFINED)
libevolution_addressbook_importers_la_LIBADD = \
$(top_builddir)/e-util/libeutil.la \
+ $(top_builddir)/shell/libeshell.la \
$(top_builddir)/addressbook/util/libeabutil.la \
$(top_builddir)/widgets/misc/libemiscwidgets.la \
$(EVOLUTION_DATA_SERVER_LIBS) \
diff --git a/addressbook/importers/evolution-csv-importer.c b/addressbook/importers/evolution-csv-importer.c
index 92290e8d1c..1f4c4dc87f 100644
--- a/addressbook/importers/evolution-csv-importer.c
+++ b/addressbook/importers/evolution-csv-importer.c
@@ -37,9 +37,11 @@
#include <libebook/e-book-client.h>
#include <libedataserverui/e-client-utils.h>
#include <libedataserverui/e-source-selector.h>
+#include <libedataserver/e-source-address-book.h>
#include <libebook/e-destination.h>
+#include <shell/e-shell.h>
#include <e-util/e-import.h>
#include "evolution-addressbook-importers.h"
@@ -770,31 +772,38 @@ csv_getwidget (EImport *ei,
EImportTarget *target,
EImportImporter *im)
{
+ EShell *shell;
GtkWidget *vbox, *selector;
+ ESourceRegistry *registry;
ESource *primary;
- ESourceList *source_list;
-
- /* FIXME Better error handling */
- if (!e_book_client_get_sources (&source_list, NULL))
- return NULL;
+ const gchar *extension_name;
vbox = gtk_vbox_new (FALSE, FALSE);
- selector = e_source_selector_new (source_list);
- e_source_selector_show_selection (E_SOURCE_SELECTOR (selector), FALSE);
+ shell = e_shell_get_default ();
+ registry = e_shell_get_registry (shell);
+ extension_name = E_SOURCE_EXTENSION_ADDRESS_BOOK;
+ selector = e_source_selector_new (registry, extension_name);
+ e_source_selector_set_show_toggles (
+ E_SOURCE_SELECTOR (selector), FALSE);
gtk_box_pack_start (GTK_BOX (vbox), selector, FALSE, TRUE, 6);
primary = g_datalist_get_data(&target->data, "csv-source");
if (primary == NULL) {
- primary = e_source_list_peek_source_any (source_list);
- g_object_ref (primary);
- g_datalist_set_data_full (
- &target->data, "csv-source", primary,
- (GDestroyNotify) g_object_unref);
+ GList *list;
+
+ list = e_source_registry_list_sources (registry, extension_name);
+ if (list != NULL) {
+ primary = g_object_ref (list->data);
+ g_datalist_set_data_full (
+ &target->data, "csv-source", primary,
+ (GDestroyNotify) g_object_unref);
+ }
+
+ g_list_free_full (list, (GDestroyNotify) g_object_unref);
}
e_source_selector_set_primary_selection (
E_SOURCE_SELECTOR (selector), primary);
- g_object_unref (source_list);
g_signal_connect (
selector, "primary_selection_changed",
@@ -927,7 +936,6 @@ csv_import (EImport *ei,
e_client_utils_open_new (
source, E_CLIENT_SOURCE_TYPE_CONTACTS, FALSE, NULL,
- e_client_utils_authenticate_handler, NULL,
book_loaded_cb, gci);
}
diff --git a/addressbook/importers/evolution-ldif-importer.c b/addressbook/importers/evolution-ldif-importer.c
index 1ba350a70f..c6f70fbca2 100644
--- a/addressbook/importers/evolution-ldif-importer.c
+++ b/addressbook/importers/evolution-ldif-importer.c
@@ -44,9 +44,11 @@
#include <libebook/e-book-client.h>
#include <libedataserverui/e-client-utils.h>
#include <libedataserverui/e-source-selector.h>
+#include <libedataserver/e-source-address-book.h>
#include <libebook/e-destination.h>
+#include <shell/e-shell.h>
#include <e-util/e-import.h>
#include "evolution-addressbook-importers.h"
@@ -568,31 +570,38 @@ ldif_getwidget (EImport *ei,
EImportTarget *target,
EImportImporter *im)
{
+ EShell *shell;
GtkWidget *vbox, *selector;
+ ESourceRegistry *registry;
ESource *primary;
- ESourceList *source_list;
-
- /* FIXME Better error handling */
- if (!e_book_client_get_sources (&source_list, NULL))
- return NULL;
+ const gchar *extension_name;
vbox = gtk_vbox_new (FALSE, FALSE);
- selector = e_source_selector_new (source_list);
- e_source_selector_show_selection (E_SOURCE_SELECTOR (selector), FALSE);
+ shell = e_shell_get_default ();
+ registry = e_shell_get_registry (shell);
+ extension_name = E_SOURCE_EXTENSION_ADDRESS_BOOK;
+ selector = e_source_selector_new (registry, extension_name);
+ e_source_selector_set_show_toggles (
+ E_SOURCE_SELECTOR (selector), FALSE);
gtk_box_pack_start (GTK_BOX (vbox), selector, FALSE, TRUE, 6);
primary = g_datalist_get_data(&target->data, "ldif-source");
if (primary == NULL) {
- primary = e_source_list_peek_source_any (source_list);
- g_object_ref (primary);
- g_datalist_set_data_full (
- &target->data, "ldif-source", primary,
- (GDestroyNotify) g_object_unref);
+ GList *list;
+
+ list = e_source_registry_list_sources (registry, extension_name);
+ if (list != NULL) {
+ primary = g_object_ref (list->data);
+ g_datalist_set_data_full (
+ &target->data, "ldif-source", primary,
+ (GDestroyNotify) g_object_unref);
+ }
+
+ g_list_free_full (list, (GDestroyNotify) g_object_unref);
}
e_source_selector_set_primary_selection (
E_SOURCE_SELECTOR (selector), primary);
- g_object_unref (source_list);
g_signal_connect (
selector, "primary_selection_changed",
@@ -717,7 +726,6 @@ ldif_import (EImport *ei,
e_client_utils_open_new (
source, E_CLIENT_SOURCE_TYPE_CONTACTS, FALSE, NULL,
- e_client_utils_authenticate_handler, NULL,
book_loaded_cb, gci);
}
diff --git a/addressbook/importers/evolution-vcard-importer.c b/addressbook/importers/evolution-vcard-importer.c
index 5094ab64ed..5fb0aaa7e5 100644
--- a/addressbook/importers/evolution-vcard-importer.c
+++ b/addressbook/importers/evolution-vcard-importer.c
@@ -38,10 +38,12 @@
#include <libebook/e-book-client.h>
#include <libedataserverui/e-client-utils.h>
#include <libedataserverui/e-source-selector.h>
+#include <libedataserver/e-source-address-book.h>
#include <util/eab-book-util.h>
#include <libebook/e-destination.h>
+#include <shell/e-shell.h>
#include <e-util/e-import.h>
#include <e-util/e-datetime-format.h>
#include <misc/e-web-view-preview.h>
@@ -406,31 +408,38 @@ vcard_getwidget (EImport *ei,
EImportTarget *target,
EImportImporter *im)
{
+ EShell *shell;
GtkWidget *vbox, *selector;
+ ESourceRegistry *registry;
ESource *primary;
- ESourceList *source_list;
-
- /* FIXME Better error handling */
- if (!e_book_client_get_sources (&source_list, NULL))
- return NULL;
+ const gchar *extension_name;
vbox = gtk_vbox_new (FALSE, FALSE);
- selector = e_source_selector_new (source_list);
- e_source_selector_show_selection (E_SOURCE_SELECTOR (selector), FALSE);
+ shell = e_shell_get_default ();
+ registry = e_shell_get_registry (shell);
+ extension_name = E_SOURCE_EXTENSION_ADDRESS_BOOK;
+ selector = e_source_selector_new (registry, extension_name);
+ e_source_selector_set_show_toggles (
+ E_SOURCE_SELECTOR (selector), FALSE);
gtk_box_pack_start (GTK_BOX (vbox), selector, FALSE, TRUE, 6);
primary = g_datalist_get_data(&target->data, "vcard-source");
if (primary == NULL) {
- primary = e_source_list_peek_source_any (source_list);
- g_object_ref (primary);
- g_datalist_set_data_full (
- &target->data, "vcard-source", primary,
- (GDestroyNotify) g_object_unref);
+ GList *list;
+
+ list = e_source_registry_list_sources (registry, extension_name);
+ if (list != NULL) {
+ primary = g_object_ref (list->data);
+ g_datalist_set_data_full (
+ &target->data, "vcard-source", primary,
+ (GDestroyNotify) g_object_unref);
+ }
+
+ g_list_free_full (list, (GDestroyNotify) g_object_unref);
}
e_source_selector_set_primary_selection (
E_SOURCE_SELECTOR (selector), primary);
- g_object_unref (source_list);
g_signal_connect (
selector, "primary_selection_changed",
@@ -575,7 +584,6 @@ vcard_import (EImport *ei,
e_client_utils_open_new (
source, E_CLIENT_SOURCE_TYPE_CONTACTS, FALSE, NULL,
- e_client_utils_authenticate_handler, NULL,
book_loaded_cb, gci);
}