From 70805074799774f97473dafbed444c8a0b3b68e1 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Wed, 8 Dec 2010 00:17:17 -0500 Subject: Adapt addressbook/importers to the new ESource API. --- addressbook/importers/Makefile.am | 1 + addressbook/importers/evolution-csv-importer.c | 36 +++++++++++++++--------- addressbook/importers/evolution-ldif-importer.c | 36 +++++++++++++++--------- addressbook/importers/evolution-vcard-importer.c | 36 +++++++++++++++--------- 4 files changed, 67 insertions(+), 42 deletions(-) (limited to 'addressbook') 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 #include #include +#include #include +#include #include #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 #include #include +#include #include +#include #include #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 #include #include +#include #include #include +#include #include #include #include @@ -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); } -- cgit v1.2.3