--- evolution-2.9.2/plugins/print-message/print-message.c.fix-indic-printing 2005-08-23 23:14:10.000000000 -0400 +++ evolution-2.9.2/plugins/print-message/print-message.c 2006-11-07 13:47:35.000000000 -0500 @@ -83,7 +83,7 @@ data->config = e_print_load_config (); data->preview = 0; - data->msg = e_msg_composer_get_message (composer, 1); + data->msg = e_msg_composer_get_message_print (composer, 1); dialog = (GtkDialog *)e_print_get_dialog_with_config (_("Print Message"), GNOME_PRINT_DIALOG_COPIES, data->config); gtk_dialog_set_default_response(dialog, GNOME_PRINT_DIALOG_RESPONSE_PRINT); e_dialog_set_transient_for ((GtkWindow *) dialog, (GtkWidget *) composer); @@ -104,7 +104,7 @@ data->config = e_print_load_config (); data->preview = 0; - data->msg = e_msg_composer_get_message (composer, 1); + data->msg = e_msg_composer_get_message_print (composer, 1); print_response(NULL, GNOME_PRINT_DIALOG_RESPONSE_PREVIEW, data); } --- evolution-2.9.2/composer/e-msg-composer.h.fix-indic-printing 2005-12-07 03:29:51.000000000 -0500 +++ evolution-2.9.2/composer/e-msg-composer.h 2006-11-07 13:47:35.000000000 -0500 @@ -96,6 +96,8 @@ 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); --- evolution-2.9.2/composer/e-msg-composer.c.fix-indic-printing 2006-11-07 13:47:35.000000000 -0500 +++ evolution-2.9.2/composer/e-msg-composer.c 2006-11-07 14:02:39.000000000 -0500 @@ -615,6 +615,7 @@ camel_object_unref (stream); camel_data_wrapper_set_mime_type_field (plain, type); + camel_data_wrapper_set_mime_type (plain, "text/plain; charset=utf-8"); camel_content_type_unref (type); if (p->send_html) { @@ -5189,6 +5190,49 @@ } CamelMimeMessage * +e_msg_composer_get_message_print (EMsgComposer *composer, gboolean save_html_object_data) +{ + EMsgComposer *temp_composer; + CamelMimeMessage *msg; + GString *flags; + + msg = build_message (composer, save_html_object_data); + temp_composer = e_msg_composer_new_with_message (msg); + camel_object_unref (msg); + + /* build flags string */ + flags = g_string_sized_new (128); + if (temp_composer->priv->send_html) + g_string_append (flags, "text/html"); + else + g_string_append (flags, "text/plain"); + if (temp_composer->priv->pgp_sign) + g_string_append (flags, ", pgp-sign"); + if (temp_composer->priv->pgp_encrypt) + g_string_append (flags, ", pgp-encrypt"); + if (temp_composer->priv->smime_sign) + g_string_append (flags, ", smime-sign"); + if (temp_composer->priv->smime_encrypt) + g_string_append (flags, ", smime-encrypt"); + + /* override composer flags */ + temp_composer->priv->send_html = TRUE; + temp_composer->priv->pgp_sign = FALSE; + temp_composer->priv->pgp_encrypt = FALSE; + temp_composer->priv->smime_sign = FALSE; + temp_composer->priv->smime_encrypt = FALSE; + + msg = build_message (temp_composer, save_html_object_data); + camel_medium_set_header (CAMEL_MEDIUM (msg), + "X-Evolution-Format", flags->str); + + e_msg_composer_delete (temp_composer); + g_string_free (flags, TRUE); + + return msg; +} + +CamelMimeMessage * e_msg_composer_get_message_draft (EMsgComposer *composer) { CamelMimeMessage *msg;