#include "addrselect.h"
#include "addrclip.h"
-
-/*
-#include "pixmaps/dir-close.xpm"
-#include "pixmaps/dir-open.xpm"
-#include "pixmaps/group.xpm"
-#include "pixmaps/interface.xpm"
-#include "pixmaps/book.xpm"
-#include "pixmaps/address.xpm"
-#include "pixmaps/vcard.xpm"
-#include "pixmaps/jpilot.xpm"
-#include "pixmaps/category.xpm"
-#include "pixmaps/ldap.xpm"
-*/
+#include "addrgather.h"
typedef enum
{
addressbook_set_target_compose(target);
}
+void addressbook_destroy() {
+ /* Free up address stuff */
+ if( _addressSelect_ != NULL ) {
+ addrselect_list_free( _addressSelect_ );
+ }
+ if( _clipBoard_ != NULL ) {
+ addrclip_free( _clipBoard_ );
+ }
+ if( _addressIndex_ != NULL ) {
+ addrindex_free_index( _addressIndex_ );
+ }
+ _addressSelect_ = NULL;
+ _clipBoard_ = NULL;
+ _addressIndex_ = NULL;
+}
+
void addressbook_set_target_compose(Compose *target)
{
addrbook.target_compose = target;
addressbook_menuitem_set_sensitive( obj, node );
addressbook_list_select_clear();
-
}
/*
if( ! iface->haveLibrary ) return NULL;
/* Read data from data source */
+ if( addrindex_ds_get_modify_flag( ds ) ) {
+ addrindex_ds_read_data( ds );
+ }
+
if( ! addrindex_ds_get_read_flag( ds ) ) {
addrindex_ds_read_data( ds );
}
* to be loaded.
* Return: TRUE if data loaded, FALSE if address index not loaded.
*/
-gboolean addressbook_load_completion( gint (*callBackFunc) ( const gchar *, const gchar * ) ) {
- /* AddressInterface *interface; */
+gboolean addressbook_load_completion( gint (*callBackFunc) ( const gchar *, const gchar *, const gchar * ) ) {
AddressDataSource *ds;
GList *nodeIf, *nodeDS;
GList *listP, *nodeP;
ds = nodeDS->data;
/* Read address book */
+ if( addrindex_ds_get_modify_flag( ds ) ) {
+ addrindex_ds_read_data( ds );
+ }
+
if( ! addrindex_ds_get_read_flag( ds ) ) {
addrindex_ds_read_data( ds );
}
if( sAlias && *sAlias != '\0' ) {
sFriendly = sAlias;
}
- ( callBackFunc ) ( sFriendly, sAddress );
+ ( callBackFunc ) ( sFriendly, sAddress, sName );
}
nodeM = g_list_next( nodeM );
if( adapter->treeNode ) {
abf = addressbook_imp_ldif( _addressIndex_ );
if( abf ) {
- ds = addrindex_index_add_datasource( _addressIndex_, ADDR_IF_BOOK, abf );
- ads = addressbook_create_ds_adapter( ds, ADDR_BOOK, NULL );
- addressbook_ads_set_name( ads, addrbook_get_name( abf ) );
- newNode = addressbook_add_object( adapter->treeNode, ADDRESS_OBJECT(ads) );
+ ds = addrindex_index_add_datasource(
+ _addressIndex_, ADDR_IF_BOOK, abf );
+ ads = addressbook_create_ds_adapter(
+ ds, ADDR_BOOK, NULL );
+ addressbook_ads_set_name(
+ ads, addrbook_get_name( abf ) );
+ newNode = addressbook_add_object(
+ adapter->treeNode,
+ ADDRESS_OBJECT(ads) );
if( newNode ) {
- gtk_ctree_select( GTK_CTREE(addrbook.ctree), newNode );
+ gtk_ctree_select(
+ GTK_CTREE(addrbook.ctree),
+ newNode );
addrbook.treeSelected = newNode;
}
}
}
}
-
}
/*
if( adapter->treeNode ) {
abf = addressbook_imp_mutt( _addressIndex_ );
if( abf ) {
- ds = addrindex_index_add_datasource( _addressIndex_, ADDR_IF_BOOK, abf );
- ads = addressbook_create_ds_adapter( ds, ADDR_BOOK, NULL );
- addressbook_ads_set_name( ads, addrbook_get_name( abf ) );
- newNode = addressbook_add_object( adapter->treeNode, ADDRESS_OBJECT(ads) );
+ ds = addrindex_index_add_datasource(
+ _addressIndex_, ADDR_IF_BOOK, abf );
+ ads = addressbook_create_ds_adapter(
+ ds, ADDR_BOOK, NULL );
+ addressbook_ads_set_name(
+ ads, addrbook_get_name( abf ) );
+ newNode = addressbook_add_object(
+ adapter->treeNode,
+ ADDRESS_OBJECT(ads) );
if( newNode ) {
- gtk_ctree_select( GTK_CTREE(addrbook.ctree), newNode );
+ gtk_ctree_select(
+ GTK_CTREE(addrbook.ctree),
+ newNode );
addrbook.treeSelected = newNode;
}
}
}
}
+}
+/*
+* 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();
+ }
}
/*