From 8266bb685a189d8560450ff161efdd5629849f11 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Sun, 2 Dec 2007 01:41:04 +0000 Subject: ** Fixes part of bug #495123 2007-12-01 Matthew Barnes ** Fixes part of bug #495123 * composer/e-msg-composer.c: * composer/e-msg-composer-hdrs.h: * composer/e-msg-composer-hdrs.c: Move signature handling to e-msg-composer-hdrs.c. Use an ESignatureComboBox. * composer/e-composer-from-header.h: * composer/e-composer-from-header.c: Clean up the GtkHBox hack. The signature combo is now packed directly into the GtkTable. * composer/e-composer-name-header.c: * composer/e-composer-text-header.c: Code cleanup. * widgets/misc/Makefile.am: Add e-signature-combo-box.[ch]. * widget/misc/e-account-combo-box.c (account_combo_box_refresh_cb): Make sure the EAccount isn't lost while swapping models. * widget/misc/e-signature-combo-box.c: * widget/misc/e-signature-combo-box.h: New widget renders an ESignatureList as a combo box. Also listens for changes to the ESignatureList and updates itself accordingly. svn path=/trunk/; revision=34620 --- composer/e-composer-name-header.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'composer/e-composer-name-header.c') diff --git a/composer/e-composer-name-header.c b/composer/e-composer-name-header.c index f54b50d87e..d9af95c500 100644 --- a/composer/e-composer-name-header.c +++ b/composer/e-composer-name-header.c @@ -10,6 +10,10 @@ (G_TYPE_INSTANCE_GET_PRIVATE \ ((obj), E_TYPE_COMPOSER_NAME_HEADER, EComposerNameHeaderPrivate)) +/* Convenience macro */ +#define E_COMPOSER_NAME_HEADER_GET_ENTRY(header) \ + (E_NAME_SELECTOR_ENTRY (E_COMPOSER_HEADER (header)->input_widget)) + enum { PROP_0, PROP_NAME_SELECTOR @@ -250,15 +254,14 @@ e_composer_name_header_get_destinations (EComposerNameHeader *header) { EDestinationStore *store; EDestination **destinations; - GtkWidget *input_widget; + ENameSelectorEntry *entry; GList *list, *iter; gint ii = 0; g_return_val_if_fail (E_IS_COMPOSER_NAME_HEADER (header), NULL); - input_widget = E_COMPOSER_HEADER (header)->input_widget; - store = e_name_selector_entry_peek_destination_store ( - E_NAME_SELECTOR_ENTRY (input_widget)); + entry = E_COMPOSER_NAME_HEADER_GET_ENTRY (header); + store = e_name_selector_entry_peek_destination_store (entry); list = e_destination_store_list_destinations (store); destinations = g_new0 (EDestination *, g_list_length (list) + 1); @@ -276,15 +279,14 @@ e_composer_name_header_set_destinations (EComposerNameHeader *header, EDestination **destinations) { EDestinationStore *store; - GtkWidget *input_widget; + ENameSelectorEntry *entry; GList *list, *iter; gint ii; g_return_if_fail (E_IS_COMPOSER_NAME_HEADER (header)); - input_widget = E_COMPOSER_HEADER (header)->input_widget; - store = e_name_selector_entry_peek_destination_store ( - E_NAME_SELECTOR_ENTRY (input_widget)); + entry = E_COMPOSER_NAME_HEADER_GET_ENTRY (header); + store = e_name_selector_entry_peek_destination_store (entry); /* Clear the destination store. */ list = e_destination_store_list_destinations (store); -- cgit v1.2.3