From 152d43ec92989b4a416c1fedf3ec133b48bee6ae Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Sat, 16 May 2009 17:19:51 -0400 Subject: =?UTF-8?q?Bug=20582744=20=E2=80=93=20CC=20field=20autofill=20does?= =?UTF-8?q?n't=20work=20for=20replies?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- composer/e-composer-header-table.c | 44 ++++++++++++++++++++++++++++++++++++++ composer/e-composer-header-table.h | 9 ++++++++ composer/e-composer-name-header.c | 29 +++++++++++++++++++------ composer/e-composer-name-header.h | 3 +++ 4 files changed, 78 insertions(+), 7 deletions(-) (limited to 'composer') diff --git a/composer/e-composer-header-table.c b/composer/e-composer-header-table.c index 44a4919e0d..d539565ad2 100644 --- a/composer/e-composer-header-table.c +++ b/composer/e-composer-header-table.c @@ -1002,6 +1002,22 @@ e_composer_header_table_get_destinations_bcc (EComposerHeaderTable *table) return e_composer_name_header_get_destinations (header); } +void +e_composer_header_table_add_destinations_bcc (EComposerHeaderTable *table, + EDestination **destinations) +{ + EComposerNameHeader *header; + + g_return_if_fail (E_IS_COMPOSER_HEADER_TABLE (table)); + + header = E_COMPOSER_HEADER_TABLE_GET_BCC_HEADER (table); + e_composer_name_header_add_destinations (header, destinations); + + if (destinations != NULL && *destinations != NULL) + e_composer_header_table_set_header_visible ( + table, E_COMPOSER_HEADER_BCC, TRUE); +} + void e_composer_header_table_set_destinations_bcc (EComposerHeaderTable *table, EDestination **destinations) @@ -1029,6 +1045,22 @@ e_composer_header_table_get_destinations_cc (EComposerHeaderTable *table) return e_composer_name_header_get_destinations (header); } +void +e_composer_header_table_add_destinations_cc (EComposerHeaderTable *table, + EDestination **destinations) +{ + EComposerNameHeader *header; + + g_return_if_fail (E_IS_COMPOSER_HEADER_TABLE (table)); + + header = E_COMPOSER_HEADER_TABLE_GET_CC_HEADER (table); + e_composer_name_header_add_destinations (header, destinations); + + if (destinations != NULL && *destinations != NULL) + e_composer_header_table_set_header_visible ( + table, E_COMPOSER_HEADER_CC, TRUE); +} + void e_composer_header_table_set_destinations_cc (EComposerHeaderTable *table, EDestination **destinations) @@ -1056,6 +1088,18 @@ e_composer_header_table_get_destinations_to (EComposerHeaderTable *table) return e_composer_name_header_get_destinations (header); } +void +e_composer_header_table_add_destinations_to (EComposerHeaderTable *table, + EDestination **destinations) +{ + EComposerNameHeader *header; + + g_return_if_fail (E_IS_COMPOSER_HEADER_TABLE (table)); + + header = E_COMPOSER_HEADER_TABLE_GET_TO_HEADER (table); + e_composer_name_header_add_destinations (header, destinations); +} + void e_composer_header_table_set_destinations_to (EComposerHeaderTable *table, EDestination **destinations) diff --git a/composer/e-composer-header-table.h b/composer/e-composer-header-table.h index b3150c409a..91d64fe22a 100644 --- a/composer/e-composer-header-table.h +++ b/composer/e-composer-header-table.h @@ -112,16 +112,25 @@ EDestination ** e_composer_header_table_get_destinations (EComposerHeaderTable *table); EDestination ** e_composer_header_table_get_destinations_bcc (EComposerHeaderTable *table); +void e_composer_header_table_add_destinations_bcc + (EComposerHeaderTable *table, + EDestination **destination); void e_composer_header_table_set_destinations_bcc (EComposerHeaderTable *table, EDestination **destinations); EDestination ** e_composer_header_table_get_destinations_cc (EComposerHeaderTable *table); +void e_composer_header_table_add_destinations_cc + (EComposerHeaderTable *table, + EDestination **destination); void e_composer_header_table_set_destinations_cc (EComposerHeaderTable *table, EDestination **destinations); EDestination ** e_composer_header_table_get_destinations_to (EComposerHeaderTable *table); +void e_composer_header_table_add_destinations_to + (EComposerHeaderTable *table, + EDestination **destinations); void e_composer_header_table_set_destinations_to (EComposerHeaderTable *table, EDestination **destinations); diff --git a/composer/e-composer-name-header.c b/composer/e-composer-name-header.c index 70a126b1e0..5aab95d776 100644 --- a/composer/e-composer-name-header.c +++ b/composer/e-composer-name-header.c @@ -294,6 +294,27 @@ e_composer_name_header_get_destinations (EComposerNameHeader *header) return destinations; /* free with e_destination_freev() */ } +void +e_composer_name_header_add_destinations (EComposerNameHeader *header, + EDestination **destinations) +{ + EDestinationStore *store; + ENameSelectorEntry *entry; + gint ii; + + g_return_if_fail (E_IS_COMPOSER_NAME_HEADER (header)); + + entry = E_COMPOSER_NAME_HEADER_GET_ENTRY (header); + store = e_name_selector_entry_peek_destination_store (entry); + + if (destinations == NULL) + return; + + for (ii = 0; destinations[ii] != NULL; ii++) + e_destination_store_append_destination ( + store, destinations[ii]); +} + void e_composer_name_header_set_destinations (EComposerNameHeader *header, EDestination **destinations) @@ -301,7 +322,6 @@ e_composer_name_header_set_destinations (EComposerNameHeader *header, EDestinationStore *store; ENameSelectorEntry *entry; GList *list, *iter; - gint ii; g_return_if_fail (E_IS_COMPOSER_NAME_HEADER (header)); @@ -314,10 +334,5 @@ e_composer_name_header_set_destinations (EComposerNameHeader *header, e_destination_store_remove_destination (store, iter->data); g_list_free (list); - if (destinations == NULL) - return; - - for (ii = 0; destinations[ii] != NULL; ii++) - e_destination_store_append_destination ( - store, destinations[ii]); + e_composer_name_header_add_destinations (header, destinations); } diff --git a/composer/e-composer-name-header.h b/composer/e-composer-name-header.h index 04f7100241..f95c33fce3 100644 --- a/composer/e-composer-name-header.h +++ b/composer/e-composer-name-header.h @@ -66,6 +66,9 @@ ENameSelector * e_composer_name_header_get_name_selector (EComposerNameHeader *header); EDestination ** e_composer_name_header_get_destinations (EComposerNameHeader *header); +void e_composer_name_header_add_destinations + (EComposerNameHeader *header, + EDestination **destination); void e_composer_name_header_set_destinations (EComposerNameHeader *header, EDestination **destinations); -- cgit v1.2.3