Included address harvester feature.
[claws.git] / src / addressbook.c
index 1d50e2b06b340d21d2c903bbe6f933039442e1b2..79aa8b3f36bd3d8d699266f927baf1867538ae03 100644 (file)
@@ -94,6 +94,7 @@
 
 #include "addrselect.h"
 #include "addrclip.h"
+#include "addrgather.h"
 
 typedef enum
 {
@@ -3923,6 +3924,38 @@ static void addressbook_import_mutt_cb() {
        }
 }
 
+/*
+* Gather addresses.
+* Enter: folderItem Folder to import.
+*/
+void addressbook_gather( FolderItem *folderItem ) {
+       AddressDataSource *ds = NULL;
+       AdapterDSource *ads = NULL;
+       AddressBookFile *abf = NULL;
+       AdapterInterface *adapter;
+       GtkCTreeNode *newNode;
+
+       abf = addrgather_dlg_execute( folderItem, _addressIndex_ );
+       if( abf ) {
+               ds = addrindex_index_add_datasource(
+                       _addressIndex_, ADDR_IF_BOOK, abf );
+
+               adapter = addrbookctl_find_interface( ADDR_IF_BOOK );
+               if( adapter ) {
+                       if( adapter->treeNode ) {
+                               ads = addressbook_create_ds_adapter(
+                                       ds, ADDR_BOOK, addrbook_get_name( abf ) );
+                               newNode = addressbook_add_object(
+                                               adapter->treeNode,
+                                               ADDRESS_OBJECT(ads) );
+                       }
+               }
+
+               /* Notify address completion */
+               invalidate_address_completion();
+       }
+}
+
 /*
 * End of Source.
 */