2007-11-27 Matthew Barnes <mbarnes@redhat.com> ** 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
57 lines
1.6 KiB
C
57 lines
1.6 KiB
C
#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 */
|