diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2008-04-03 02:37:22 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@src.gnome.org> | 2008-04-03 02:37:22 +0800 |
commit | 16068d9b4191ea142a9e75a50eb8d260ed2bb406 (patch) | |
tree | 835a7909cd8b352d8c414986f1f5e27697b4de98 /composer/e-msg-composer.h | |
parent | ee50e5d68e4f1a793541f1ee4979818ed4940173 (diff) | |
download | gsoc2013-evolution-16068d9b4191ea142a9e75a50eb8d260ed2bb406.tar.gz gsoc2013-evolution-16068d9b4191ea142a9e75a50eb8d260ed2bb406.tar.zst gsoc2013-evolution-16068d9b4191ea142a9e75a50eb8d260ed2bb406.zip |
** Merge the mbarnes-composer branch
2008-04-02 Matthew Barnes <mbarnes@redhat.com>
** Merge the mbarnes-composer branch
* configure.in:
Bump libgtkhtml requirement to 3.19.1.
Add gtkhtml-editor dependency for addressbook, calendar and mail.
Remove print-message plugin; new composer implements this natively.
* tools/Makefile.am:
Remove CORBA rules for the old composer.
* addressbook/gui/widgets/Makefile.am:
Remove CORBA rules for the old composer.
* addressbook/gui/widgets/eab-gui-util.c
(eab_send_to_contact_and_email_num_list),
(eab_send_contact_list_as_attachment):
Adapt to new Bonobo-less composer widget.
* calendar/gui/Makefile.am:
Remove CORBA rules for the old composer.
* calendar/gui/itip-utils.c (comp_from), (comp_to_list),
(comp_subject), (comp_content_type), (comp_filename),
(comp_description), (append_cal_attachments), (itip_send_comp),
(reply_to_calendar_comp):
Adapt to new Bonobo-less composer widget.
* composer/Makefile.am:
Remove CORBA rules for the old composer.
* composer/e-msg-composer.c:
* composer/e-msg-composer.h:
EMsgComposer is now a subclass of GtkhtmlEditor.
Extensive refactoring and cleanup, too much to list in detail.
* composer/e-composer-header.c:
* composer/e-composer-header.h:
Add "sensitive" property along with get/set functions.
* composer/e-composer-from-header.c:
* composer/e-composer-from-header.h:
Propagate "refreshed" signal from EAccountComboBox.
Add function e_composer_from_header_get_account_list().
* composer/e-composer-private.c:
* composer/e-composer-private.h:
New files manage composer's private data.
Allows other composer files to manipulate private data.
* composer/e-msg-composer-hdrs.c:
* composer/e-msg-composer-hdrs.h:
Remove these files; replaced by EComposerHeaderTable widget.
* composer/evolution-composer.c:
* composer/evolution-composer.h:
Remove these files; composer is now a subclass of GtkhtmlEditor.
* composer/e-msg-composer-select-file.c:
* composer/e-msg-composer-select-file.h:
Remove these files; logic moved to e-msg-composer.c.
* composer/listener.c:
* composer/listener.h:
Remove these files; event handlers moved to e-msg-composer.c.
* composer/Composer.idl:
* composer/Evolution-Composer.idl:
Remove these files; composer is no longer a Bonobo object.
* mail/em-composer-prefs (sig_edit_cb),
(em_composer_prefs_new_signature):
Adapt to new Bonobo-less signature editor.
* mail/mail-signature-editor.c:
* mail/mail-signature-editor.h:
Rewrite the signature editor as a subclass of GtkhtmlEditor.
Eliminates Bonobo from the equation.
* mail/em-composer-utils.c (composer_get_message),
(em_utils_composer_send_cb), (save_draft_done),
(em_utils_composer_save_draft_cb), (create_new_composer),
(em_utils_compose_new_message),
(em_utils_compose_new_message_with_mailto), (em_utils_post_to_folder),
(em_utils_post_to_url), (edit_message), (forward_attached),
(forward_non_attached), (reply_get_composer), (composer_set_body),
(em_utils_reply_to_message), (post_reply_to_message):
Adapt to new Bonobo-less composer.
* mail/mail-component-factory.c:
Composer is no longer needs a Bonobo factory.
* mail/mail-config.c:
Fix style pattern for EMsgComposer widgets.
* plugins/groupwise/mail-send-options.c
(org_gnome_composer_send_options):
Adapt to streamlined EMsgComposer API.
* plugins/exchange-operations/Makefile.am:
Add EVOLUTION_MAIL_CFLAGS and EVOLUTION_MAIL_LIBS.
* plugins/exchange-operations/exchange-mail-send-options.c
(append_to_header), (org_gnome_exchange_send_options):
Adapt to streamlined EMsgComposer API.
* plugins/mailing-list-actions/mailing-list-actions.c
(emla_list_action_do):
Adapt to streamlined EMsgComposer API.
* po/POTFILES.in: Update file list for new composer.
* ui/evolution-composer-entries.xml:
Remove this file; obsoleted by new composer.
* widgets/misc/Makefile.am:
Add EVOLUTION_MAIL_LIBS.
* widgets/misc/e-account-combo-box.c:
* widgets/misc/e-account-combo-box.h:
New function e_account_combo_box_get_account_list().
Emit a "refreshed" signal when the EAccountList changes.
Add an internal reverse-lookup index.
* widgets/misc/e-charset-picker.c (e_charser_add_radio_actions):
New function adds radio actions to an action group.
Will eventually replace e_charset_picker_bonobo_ui_populate().
* widgets/misc/e-signature-combo-box.c:
* widgets/misc/e-signature-combo-box.h:
New function e_signature_combo_box_get_signature_list().
... separate issue ...
* configure.in:
Bump eds_minimum_version to 2.23.1 for
CAMEL_FOLDER_JUNKED_NOT_DELETED symbol.
svn path=/trunk/; revision=35313
Diffstat (limited to 'composer/e-msg-composer.h')
-rw-r--r-- | composer/e-msg-composer.h | 309 |
1 files changed, 132 insertions, 177 deletions
diff --git a/composer/e-msg-composer.h b/composer/e-msg-composer.h index a6c8e719fc..251c170426 100644 --- a/composer/e-msg-composer.h +++ b/composer/e-msg-composer.h @@ -21,187 +21,142 @@ * Author: Ettore Perazzoli */ - -#ifndef ___E_MSG_COMPOSER_H__ -#define ___E_MSG_COMPOSER_H__ - -typedef struct _EMsgComposer EMsgComposer; -typedef struct _EMsgComposerClass EMsgComposerClass; - -#include <bonobo/bonobo-window.h> -#include <bonobo/bonobo-ui-component.h> - -#include "e-msg-composer-hdrs.h" -#include "Editor.h" - -#ifdef __cplusplus -extern "C" { -#pragma } -#endif /* __cplusplus */ - - -#define E_TYPE_MSG_COMPOSER (e_msg_composer_get_type ()) -#define E_MSG_COMPOSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TYPE_MSG_COMPOSER, EMsgComposer)) -#define E_MSG_COMPOSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), E_TYPE_MSG_COMPOSER, EMsgComposerClass)) -#define E_IS_MSG_COMPOSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), E_TYPE_MSG_COMPOSER)) -#define E_IS_MSG_COMPOSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), E_TYPE_MSG_COMPOSER)) - - +#ifndef E_MSG_COMPOSER_H +#define E_MSG_COMPOSER_H + +#include <camel/camel-internet-address.h> +#include <camel/camel-mime-message.h> +#include <libedataserver/e-account.h> +#include <libebook/e-destination.h> +#include <gtkhtml-editor.h> + +#include "e-composer-header-table.h" + +/* Standard GObject macros */ +#define E_TYPE_MSG_COMPOSER \ + (e_msg_composer_get_type ()) +#define E_MSG_COMPOSER(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST \ + ((obj), E_TYPE_MSG_COMPOSER, EMsgComposer)) +#define E_MSG_COMPOSER_CLASS(cls) \ + (G_TYPE_CHECK_CLASS_CAST \ + ((cls), E_TYPE_MSG_COMPOSER, EMsgComposerClass)) +#define E_IS_MSG_COMPOSER(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE \ + ((obj), E_TYPE_MSG_COMPOSER)) +#define E_IS_MSG_COMPOSER_CLASS(cls) \ + (G_TYPE_CHECK_CLASS_TYPE \ + ((obj), E_TYPE_MSG_COMPOSER)) +#define E_MSG_COMPOSER_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS \ + ((obj), E_TYPE_MSG_COMPOSER, EMsgComposerClass)) + +G_BEGIN_DECLS + +typedef struct _EMsgComposer EMsgComposer; +typedef struct _EMsgComposerClass EMsgComposerClass; +typedef struct _EMsgComposerPrivate EMsgComposerPrivate; + +struct _EMsgComposer { + GtkhtmlEditor parent; + EMsgComposerPrivate *priv; +}; + +struct _EMsgComposerClass { + GtkhtmlEditorClass parent_class; +}; struct _EAttachmentBar; -GtkType e_msg_composer_get_type (void); - -EMsgComposer *e_msg_composer_new (void); - #define E_MSG_COMPOSER_MAIL 1 #define E_MSG_COMPOSER_POST 2 #define E_MSG_COMPOSER_MAIL_POST E_MSG_COMPOSER_MAIL|E_MSG_COMPOSER_POST -EMsgComposer *e_msg_composer_new_with_type (int type); - -EMsgComposer *e_msg_composer_new_with_message (CamelMimeMessage *msg); -EMsgComposer *e_msg_composer_new_from_url (const char *url); -EMsgComposer *e_msg_composer_new_redirect (CamelMimeMessage *message, - const char *resent_from); -void e_msg_composer_show_attachments_ui (EMsgComposer *composer); - -void e_msg_composer_set_alternative (EMsgComposer *composer, - gboolean alt); - -void e_msg_composer_set_headers (EMsgComposer *composer, - const char *from, - EDestination **to, - EDestination **cc, - EDestination **bcc, - const char *subject); -void e_msg_composer_set_body_text (EMsgComposer *composer, - const char *text, - ssize_t len); -void e_msg_composer_set_body (EMsgComposer *composer, - const char *body, - const char *mime_type); -void e_msg_composer_add_header (EMsgComposer *composer, - const char *name, - const char *value); -void e_msg_composer_modify_header (EMsgComposer *composer, - const char *name, - const char *value); -void e_msg_composer_remove_header (EMsgComposer *composer, - const char *name); -void e_msg_composer_attach (EMsgComposer *composer, - CamelMimePart *attachment); -CamelMimePart *e_msg_composer_add_inline_image_from_file (EMsgComposer *composer, - const char *filename); -void e_msg_composer_add_inline_image_from_mime_part (EMsgComposer *composer, - CamelMimePart *part); -CamelMimeMessage *e_msg_composer_get_message (EMsgComposer *composer, - gboolean save_html_object_data); -CamelMimeMessage *e_msg_composer_get_message_print (EMsgComposer *composer, - gboolean save_html_object_data); -CamelMimeMessage *e_msg_composer_get_message_draft (EMsgComposer *composer); -void e_msg_composer_show_sig_file (EMsgComposer *composer); -gboolean e_msg_composer_get_send_html (EMsgComposer *composer); -void e_msg_composer_set_send_html (EMsgComposer *composer, - gboolean send_html); - -gboolean e_msg_composer_get_view_from (EMsgComposer *composer); -void e_msg_composer_set_view_from (EMsgComposer *composer, - gboolean view_from); -gboolean e_msg_composer_get_view_to (EMsgComposer *composer); -void e_msg_composer_set_view_to (EMsgComposer *composer, - gboolean view_replyto); -gboolean e_msg_composer_get_view_replyto (EMsgComposer *composer); -void e_msg_composer_set_view_replyto (EMsgComposer *composer, - gboolean view_replyto); -gboolean e_msg_composer_get_view_postto (EMsgComposer *composer); -void e_msg_composer_set_view_postto (EMsgComposer *composer, - gboolean view_replyto); -gboolean e_msg_composer_get_view_cc (EMsgComposer *composer); -void e_msg_composer_set_view_cc (EMsgComposer *composer, - gboolean view_cc); -gboolean e_msg_composer_get_view_bcc (EMsgComposer *composer); -void e_msg_composer_set_view_bcc (EMsgComposer *composer, - gboolean view_bcc); - -gboolean e_msg_composer_get_request_receipt (EMsgComposer *composer); -void e_msg_composer_set_request_receipt (EMsgComposer *composer, - gboolean request_receipt); - -gboolean e_msg_composer_get_priority (EMsgComposer *composer); -void e_msg_composer_set_priority (EMsgComposer *composer, - gboolean set_priority); - -EDestination **e_msg_composer_get_recipients (EMsgComposer *composer); -EDestination **e_msg_composer_get_to (EMsgComposer *composer); -EDestination **e_msg_composer_get_cc (EMsgComposer *composer); -EDestination **e_msg_composer_get_bcc (EMsgComposer *composer); -const char *e_msg_composer_get_subject (EMsgComposer *composer); - -EAccount *e_msg_composer_get_preferred_account (EMsgComposer *composer); -void e_msg_composer_clear_inlined_table (EMsgComposer *composer); -char *e_msg_composer_guess_mime_type (const char *file_name); -void e_msg_composer_set_changed (EMsgComposer *composer); -void e_msg_composer_unset_changed (EMsgComposer *composer); -gboolean e_msg_composer_is_dirty (EMsgComposer *composer); -void e_msg_composer_set_autosaved (EMsgComposer *composer); -void e_msg_composer_unset_autosaved (EMsgComposer *composer); -gboolean e_msg_composer_is_autosaved (EMsgComposer *composer); -void e_msg_composer_set_enable_autosave (EMsgComposer *composer, - gboolean enabled); - -/* PGP */ -void e_msg_composer_set_pgp_sign (EMsgComposer *composer, - gboolean pgp_sign); -gboolean e_msg_composer_get_pgp_sign (EMsgComposer *composer); -void e_msg_composer_set_pgp_encrypt (EMsgComposer *composer, - gboolean pgp_encrypt); -gboolean e_msg_composer_get_pgp_encrypt (EMsgComposer *composer); - -/* S/MIME */ -void e_msg_composer_set_smime_sign (EMsgComposer *composer, - gboolean smime_sign); -gboolean e_msg_composer_get_smime_sign (EMsgComposer *composer); -void e_msg_composer_set_smime_encrypt (EMsgComposer *composer, - gboolean smime_encrypt); -gboolean e_msg_composer_get_smime_encrypt (EMsgComposer *composer); -char *e_msg_composer_get_sig_file_content (const char *sigfile, - gboolean in_html); -void e_msg_composer_add_message_attachments (EMsgComposer *composer, - CamelMimeMessage *message, - gboolean just_inlines); -void e_msg_composer_ignore (EMsgComposer *composer, - const char *str); -void e_msg_composer_drop_editor_undo (EMsgComposer *composer); - -gboolean e_msg_composer_request_close_all (void); -void e_msg_composer_check_autosave (GtkWindow *parent); -int e_msg_composer_get_remote_download_count (EMsgComposer *composer); - - -void e_msg_composer_reply_indent (EMsgComposer *composer); -void e_msg_composer_insert_paragraph_before (EMsgComposer *composer); -void e_msg_composer_insert_paragraph_after (EMsgComposer *composer); -void e_msg_composer_delete (EMsgComposer *composer); -gchar* e_msg_composer_resolve_image_url (EMsgComposer *composer, gchar *url); -CamelMimePart* e_msg_composer_url_requested (EMsgComposer *composer, gchar *url); - -void e_msg_composer_link_clicked (EMsgComposer *composer, const gchar *url); - -EMsgComposerHdrs* e_msg_composer_get_hdrs (EMsgComposer *composer); -void e_msg_composer_set_saved (EMsgComposer *composer); -void e_msg_composer_set_send_options (EMsgComposer *composer, - gboolean send_enable); -GByteArray * e_msg_composer_get_raw_message_text (EMsgComposer *composer); - -struct _EAttachmentBar* e_msg_composer_get_attachment_bar (EMsgComposer *composer); - -void e_msg_composer_set_attach_path (EMsgComposer *composer, const gchar *path); -const gchar * e_msg_composer_get_attach_path (EMsgComposer *composer); - - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif /* ___E_MSG_COMPOSER_H__ */ +GType e_msg_composer_get_type (void); +EMsgComposer * e_msg_composer_new (void); +EMsgComposer * e_msg_composer_new_with_type (gint type); +EMsgComposer * e_msg_composer_new_with_message (CamelMimeMessage *msg); +EMsgComposer * e_msg_composer_new_from_url (const gchar *url); +EMsgComposer * e_msg_composer_new_redirect (CamelMimeMessage *message, + const gchar *resent_from); + +void e_msg_composer_send (EMsgComposer *composer); +void e_msg_composer_save_draft (EMsgComposer *composer); + +void e_msg_composer_set_alternative (EMsgComposer *composer, + gboolean alt); + +void e_msg_composer_set_body_text (EMsgComposer *composer, + const gchar *text, + gssize len); +void e_msg_composer_set_body (EMsgComposer *composer, + const gchar *body, + const gchar *mime_type); +void e_msg_composer_add_header (EMsgComposer *composer, + const gchar *name, + const gchar *value); +void e_msg_composer_modify_header (EMsgComposer *composer, + const gchar *name, + const gchar *value); +void e_msg_composer_remove_header (EMsgComposer *composer, + const gchar *name); +void e_msg_composer_attach (EMsgComposer *composer, + CamelMimePart *attachment); +CamelMimePart * e_msg_composer_add_inline_image_from_file + (EMsgComposer *composer, + const gchar *filename); +void e_msg_composer_add_inline_image_from_mime_part + (EMsgComposer *composer, + CamelMimePart *part); +CamelMimeMessage * + e_msg_composer_get_message (EMsgComposer *composer, + gboolean save_html_object_data); +CamelMimeMessage * + e_msg_composer_get_message_print(EMsgComposer *composer, + gboolean save_html_object_data); +CamelMimeMessage * + e_msg_composer_get_message_draft(EMsgComposer *composer); +void e_msg_composer_show_sig_file (EMsgComposer *composer); + +CamelInternetAddress * + e_msg_composer_get_from (EMsgComposer *composer); +CamelInternetAddress * + e_msg_composer_get_reply_to (EMsgComposer *composer); + +void e_msg_composer_clear_inlined_table + (EMsgComposer *composer); +gchar * e_msg_composer_guess_mime_type (const gchar *filename); +void e_msg_composer_set_enable_autosave + (EMsgComposer *composer, + gboolean enabled); + +gchar * e_msg_composer_get_sig_file_content + (const gchar *sigfile, + gboolean in_html); +void e_msg_composer_add_message_attachments + (EMsgComposer *composer, + CamelMimeMessage *message, + gboolean just_inlines); + +gboolean e_msg_composer_request_close_all(void); +EMsgComposer * e_msg_composer_load_from_file (const gchar *filename); +void e_msg_composer_check_autosave (GtkWindow *parent); +gint e_msg_composer_get_remote_download_count + (EMsgComposer *composer); + +void e_msg_composer_reply_indent (EMsgComposer *composer); + +EComposerHeaderTable * + e_msg_composer_get_header_table (EMsgComposer *composer); +void e_msg_composer_set_send_options (EMsgComposer *composer, + gboolean send_enable); +GByteArray * e_msg_composer_get_raw_message_text + (EMsgComposer *composer); + +struct _EAttachmentBar * + e_msg_composer_get_attachment_bar + (EMsgComposer *composer); + +G_END_DECLS + +#endif /* E_MSG_COMPOSER_H */ |