diff options
author | Matthew Barnes <mbarnes@src.gnome.org> | 2009-02-01 02:02:22 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@src.gnome.org> | 2009-02-01 02:02:22 +0800 |
commit | cd5ff486fb02451645f8b4b39608edca2da5e4a2 (patch) | |
tree | 5aff2bff0e48bc3333ff1fc3fdb619c4c34fdbd2 /composer | |
parent | 70fce0bbb0712dc70a15c481c0b65d68a98a4ff7 (diff) | |
download | gsoc2013-evolution-cd5ff486fb02451645f8b4b39608edca2da5e4a2.tar.gz gsoc2013-evolution-cd5ff486fb02451645f8b4b39608edca2da5e4a2.tar.zst gsoc2013-evolution-cd5ff486fb02451645f8b4b39608edca2da5e4a2.zip |
Let the mailer handle composer printing.
Start roughing in the mailer search bar.
svn path=/branches/kill-bonobo/; revision=37199
Diffstat (limited to 'composer')
-rw-r--r-- | composer/e-composer-actions.c | 17 | ||||
-rw-r--r-- | composer/e-msg-composer.c | 30 | ||||
-rw-r--r-- | composer/e-msg-composer.h | 2 |
3 files changed, 32 insertions, 17 deletions
diff --git a/composer/e-composer-actions.c b/composer/e-composer-actions.c index ecf9f179f6..71065d6996 100644 --- a/composer/e-composer-actions.c +++ b/composer/e-composer-actions.c @@ -22,7 +22,6 @@ #include <fcntl.h> #include <e-util/e-error.h> #include <mail/em-event.h> -#include <mail/em-format-html-print.h> #include <mail/em-composer-utils.h> #include "misc/e-charset-picker.h" @@ -184,15 +183,9 @@ action_print_cb (GtkAction *action, EMsgComposer *composer) { GtkPrintOperationAction print_action; - CamelMimeMessage *message; - EMFormatHTMLPrint *efhp; print_action = GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG; - message = e_msg_composer_get_message (composer, 1); - - efhp = em_format_html_print_new (NULL, print_action); - em_format_html_print_raw_message (efhp, message); - g_object_unref (efhp); + e_msg_composer_print (composer, print_action); } static void @@ -200,15 +193,9 @@ action_print_preview_cb (GtkAction *action, EMsgComposer *composer) { GtkPrintOperationAction print_action; - CamelMimeMessage *message; - EMFormatHTMLPrint *efhp; print_action = GTK_PRINT_OPERATION_ACTION_PREVIEW; - message = e_msg_composer_get_message_print (composer, 1); - - efhp = em_format_html_print_new (NULL, print_action); - em_format_html_print_raw_message (efhp, message); - g_object_unref (efhp); + e_msg_composer_print (composer, print_action); } static void diff --git a/composer/e-msg-composer.c b/composer/e-msg-composer.c index dee28d0691..8eb72649ac 100644 --- a/composer/e-msg-composer.c +++ b/composer/e-msg-composer.c @@ -132,6 +132,7 @@ typedef enum { enum { SEND, SAVE_DRAFT, + PRINT, LAST_SIGNAL }; @@ -2695,7 +2696,7 @@ msg_composer_class_init (EMsgComposerClass *class) signals[SEND] = g_signal_new ( "send", - E_TYPE_MSG_COMPOSER, + G_OBJECT_CLASS_TYPE (class), G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, @@ -2703,11 +2704,20 @@ msg_composer_class_init (EMsgComposerClass *class) signals[SAVE_DRAFT] = g_signal_new ( "save-draft", - E_TYPE_MSG_COMPOSER, + G_OBJECT_CLASS_TYPE (class), G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); + + signals[PRINT] = g_signal_new ( + "print", + G_OBJECT_CLASS_TYPE (class), + G_SIGNAL_RUN_LAST, + 0, NULL, NULL, + g_cclosure_marshal_VOID__ENUM, + G_TYPE_NONE, 1, + GTK_TYPE_PRINT_OPERATION_ACTION); } static void @@ -3785,6 +3795,22 @@ e_msg_composer_save_draft (EMsgComposer *composer) e_composer_autosave_set_saved (composer, FALSE); } +/** + * e_msg_composer_print: + * @composer: an #EMsgComposer + * @action: the print action to start + * + * Print the message in @composer. + **/ +void +e_msg_composer_print (EMsgComposer *composer, + GtkPrintOperationAction action) +{ + g_return_if_fail (E_IS_MSG_COMPOSER (composer)); + + g_signal_emit (composer, signals[PRINT], 0, action); +} + static GList * add_recipients (GList *list, const gchar *recips) { diff --git a/composer/e-msg-composer.h b/composer/e-msg-composer.h index c37845b5ca..5252f691e4 100644 --- a/composer/e-msg-composer.h +++ b/composer/e-msg-composer.h @@ -83,6 +83,8 @@ CamelSession * e_msg_composer_get_session (EMsgComposer *composer); void e_msg_composer_send (EMsgComposer *composer); void e_msg_composer_save_draft (EMsgComposer *composer); +void e_msg_composer_print (EMsgComposer *composer, + GtkPrintOperationAction action); void e_msg_composer_set_alternative (EMsgComposer *composer, gboolean alt); |