From f5bed9bf7b143fff9bd258ea31fdac192e00a0d9 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Tue, 27 Nov 2007 20:24:44 +0000 Subject: ** Fixes bug #495123 2007-11-27 Matthew Barnes ** Fixes bug #495123 * composer/Makefile.am: Add a bunch of files for managing composer headers. * composer/e-msg-composer.c (build_message), (from_changed_cb), (set_editor_signature), (e_msg_composer_set_body), (e_msg_composer_get_preferred_account): * plugins/exchange-operations/exchange-mail-send-options.c (append_to_header): Use e_msg_composer_hdrs_get_from_account() to obtain the EAccount. * composer/e-msg-composer-hdrs.c: * composer/e-msg-composer-hdrs.h: Massive refactoring to use new EComposerHeader classes. * composer/e-composer-header.c: * composer/e-composer-header.h: * composer/e-composer-from-header.c: * composer/e-composer-from-header.h: * composer/e-composer-name-header.c: * composer/e-composer-name-header.h: * composer/e-composer-post-header.c: * composer/e-composer-post-header.h: * composer/e-composer-text-header.c: * composer/e-composer-text-header.h: New GObject classes manage different types of composer headers. See bug #495123 for a more detailed description of each class. * mail/mail-session.c (mail_session_init): Pass the CamelSession to the EAccountComboBox class (ugly hack). * widgets/misc/Makefile.am: Add e-account-combo-box.[ch]. * widgets/misc/e-account-combo-box.c: * widgets/misc/e-account-combo-box.h: New widget renders an EAccountList as a combo box. Also listens for changes to the EAccountList and updates itself accordingly. svn path=/trunk/; revision=34600 --- composer/e-composer-header.h | 56 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 composer/e-composer-header.h (limited to 'composer/e-composer-header.h') diff --git a/composer/e-composer-header.h b/composer/e-composer-header.h new file mode 100644 index 0000000000..c98b3419e4 --- /dev/null +++ b/composer/e-composer-header.h @@ -0,0 +1,56 @@ +#ifndef E_COMPOSER_HEADER_H +#define E_COMPOSER_HEADER_H + +#include "e-composer-common.h" + +/* Standard GObject macros */ +#define E_TYPE_COMPOSER_HEADER \ + (e_composer_header_get_type ()) +#define E_COMPOSER_HEADER(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST \ + ((obj), E_TYPE_COMPOSER_HEADER, EComposerHeader)) +#define E_COMPOSER_HEADER_CLASS(cls) \ + (G_TYPE_CHECK_CLASS_CAST \ + ((obj), E_TYPE_COMPOSER_HEADER, EComposerHeaderClass)) +#define E_IS_COMPOSER_HEADER(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE \ + ((obj), E_TYPE_COMPOSER_HEADER)) +#define E_IS_COMPOSER_HEADER_CLASS(cls) \ + (G_TYPE_CHECK_CLASS_TYPE \ + ((cls), E_TYPE_COMPOSER_HEADER)) +#define E_COMPOSER_HEADER_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS \ + ((obj), E_TYPE_COMPOSER_HEADER, EComposerHeaderClass)) + +G_BEGIN_DECLS + +typedef struct _EComposerHeader EComposerHeader; +typedef struct _EComposerHeaderClass EComposerHeaderClass; +typedef struct _EComposerHeaderPrivate EComposerHeaderPrivate; + +struct _EComposerHeader { + GObject parent; + GtkWidget *title_widget; + GtkWidget *input_widget; + EComposerHeaderPrivate *priv; +}; + +struct _EComposerHeaderClass { + GObjectClass parent_class; +}; + +GType e_composer_header_get_type (void); +gchar * e_composer_header_get_label (EComposerHeader *header); +gboolean e_composer_header_get_visible (EComposerHeader *header); +void e_composer_header_set_visible (EComposerHeader *header, + gboolean visible); +void e_composer_header_set_title_tooltip + (EComposerHeader *header, + const gchar *tooltip); +void e_composer_header_set_input_tooltip + (EComposerHeader *header, + const gchar *tooltip); + +G_END_DECLS + +#endif /* E_COMPOSER_HEADER_H */ -- cgit v1.2.3