/*
* Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 2001-2002 Match Grun
+ * Copyright (C) 2001-2003 Match Grun
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
fprintf( stream, "\t***\n" );
}
-/*
-* Create new address folder.
-*/
+/**
+ * Create new address folder.
+ * \return Initialized address folder object.
+ */
ItemFolder *addritem_create_item_folder( void ) {
ItemFolder *folder;
folder = g_new0( ItemFolder, 1 );
folder->listFolder = NULL;
folder->listPerson = NULL;
folder->listGroup = NULL;
+ folder->folderType = ADDRFOLDER_NONE;
+ folder->folderData = NULL;
return folder;
}
-/*
-* Copy address book folder.
-* Enter: item Folder to copy.
-* Return: A copy of the folder.
-*/
+/**
+ * Copy address book folder. Note that only the folder and not its contents are
+ * copied.
+ * \param item Folder to copy.
+ * \return A copy of the folder, or <i>NULL</i> if null argument supplied.
+ */
ItemFolder *addritem_copy_item_folder( ItemFolder *item ) {
ItemFolder *itemNew;
if( item ) {
itemNew = addritem_create_item_folder();
ADDRITEM_NAME(itemNew) = g_strdup( ADDRITEM_NAME(item) );
+ itemNew->folderType = item->folderType;
}
return itemNew;
}
folder->remarks = mgu_replace_string( folder->remarks, value );
}
-/*
-* Free address folder. Note: this does not free up the lists of children
-* (folders, groups and person). This should be done prior to calling this
-* function.
-*/
+/**
+ * Free address folder. Note: this does not free up the lists of children
+ * (folders, groups and person). This should be done prior to calling this
+ * function.
+ * \param folder Folder to free.
+ */
void addritem_free_item_folder( ItemFolder *folder ) {
g_return_if_fail( folder != NULL );
folder->listFolder = NULL;
folder->listGroup = NULL;
folder->listPerson = NULL;
+ folder->folderType = ADDRFOLDER_NONE;
+ folder->folderData = NULL;
g_free( folder );
}
fprintf( stream, "\tsub: %d\n", ADDRITEM_SUBTYPE(folder) );
fprintf( stream, "\tnam: '%s'\n", ADDRITEM_NAME(folder) );
fprintf( stream, "\trem: '%s'\n", folder->remarks );
+ fprintf( stream, "\ttyp: %d\n", folder->folderType );
fprintf( stream, "\t---\n" );
parent = ( ItemFolder * ) ADDRITEM_PARENT(folder);
if( parent ) {
return list;
}
+/**
+ * Format E-Mail address.
+ * \param email EMail item to format.
+ * \return Formatted string. Should be freed after use.
+ */
+gchar *addritem_format_email( ItemEMail *email ) {
+ gchar *address;
+ gchar *name;
+ ItemPerson *person;
+
+ address = NULL;
+ name = NULL;
+ if( ADDRITEM_NAME( email ) ) {
+ if( strlen( ADDRITEM_NAME( email ) ) ) {
+ name = ADDRITEM_NAME( email );
+ }
+ }
+ if( ! name ) {
+ person = ( ItemPerson * ) ADDRITEM_PARENT( email );
+ name = ADDRITEM_NAME( person );
+ }
+
+ if( name ) {
+ if( strchr_with_skip_quote( name, '"', ',' ) ) {
+ address = g_strdup_printf( "\"%s\" <%s>", name, email->address );
+ }
+ else {
+ address = g_strdup_printf( "%s <%s>", name, email->address );
+ }
+ }
+ else {
+ address = g_strdup_printf( "%s", email->address );
+ }
+ return address;
+}
+
/*
* End of Source.
*/