diff options
author | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2017-11-29 07:53:24 +0000 |
---|---|---|
committer | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2017-11-29 07:53:24 +0000 |
commit | 28e49fdc3673445257be5213c1a264fe8767bffd (patch) | |
tree | f5800121f1702aae8375f5e3b24c071b641e32fd /src/addressbook.c | |
parent | 278ff465694b8435fbb5dd4018c5cfe5cbf0dce9 (diff) |
addressbook: implemented CSV export feature.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@3584 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src/addressbook.c')
-rw-r--r-- | src/addressbook.c | 40 |
1 files changed, 37 insertions, 3 deletions
diff --git a/src/addressbook.c b/src/addressbook.c index bb7b923e..1d128e75 100644 --- a/src/addressbook.c +++ b/src/addressbook.c @@ -62,6 +62,7 @@ #include "ldif.h" #include "importldif.h" #include "importcsv.h" +#include "exportcsv.h" #ifdef USE_JPILOT #include "jpilot.h" @@ -397,6 +398,8 @@ static void addressbook_list_select_set (GList *row_list); static void addressbook_import_ldif_cb (void); static void addressbook_import_csv_cb (void); +static void addressbook_export_csv_cb (void); + static void addressbook_modified (void); @@ -445,7 +448,8 @@ static GtkItemFactoryEntry addressbook_entries[] = {N_("/_Tools"), NULL, NULL, 0, "<Branch>"}, {N_("/_Tools/Import _LDIF file"), NULL, addressbook_import_ldif_cb, 0, NULL}, {N_("/_Tools/Import _CSV file"), NULL, addressbook_import_csv_cb, 0, NULL}, - + {N_("/_Tools/---"), NULL, NULL, 0, "<Separator>"}, + {N_("/_Tools/Export C_SV file"), NULL, addressbook_export_csv_cb, 0, NULL}, {N_("/_Help"), NULL, NULL, 0, "<Branch>"}, {N_("/_Help/_About"), NULL, about_show, 0, NULL} }; @@ -454,8 +458,6 @@ static GtkItemFactoryEntry addressbook_entries[] = /* {N_("/_Edit"), NULL, NULL, 0, "<Branch>"}, {N_("/_Edit/C_ut"), "<control>X", NULL, 0, NULL}, - {N_("/_Edit/_Copy"), "<control>C", NULL, 0, NULL}, - {N_("/_Edit/_Paste"), "<control>V", NULL, 0, NULL}, {N_("/_Tools"), NULL, NULL, 0, "<Branch>"}, {N_("/_Tools/Import _Mozilla"), NULL, NULL, 0, NULL}, {N_("/_Tools/Import _vCard"), NULL, NULL, 0, NULL}, @@ -4786,6 +4788,38 @@ static void addressbook_import_csv_cb(void) addressbook_modified(); } +/* +* Export CSV file. +*/ +static void addressbook_export_csv_cb(void) +{ + GtkTreeView *treeview = GTK_TREE_VIEW(addrbook.treeview); + GtkTreeModel *model; + GtkTreeIter iter; + GtkTreePath *path; + AddressObject *obj; + ItemFolder *itemFolder = NULL; + ItemGroup *itemGroup = NULL; + GList *items; + GList *cur; + gchar delim = ','; + + if (!addrbook.tree_opened) { + return; + } + + model = gtk_tree_view_get_model(treeview); + gtkut_tree_row_reference_get_iter(model, addrbook.tree_opened, &iter); + gtk_tree_model_get(model, &iter, COL_OBJ, &obj, -1); + g_return_if_fail(obj != NULL); + + if (obj->type == ADDR_INTERFACE) { + return; + } + + addressbook_exp_csv(obj); +} + /* ********************************************************************** * Address Book Fast Search. * *********************************************************************** |