2007-08-24  Matthew Barnes  <mbarnes@redhat.com>

	** Fixes bug #355766

	* plugins/print-message/print-message.c (org_gnome_print_preview):
	Call e_msg_composer_get_message_print().

	* composer/e-msg-composer.[ch] (e_msg_composer_get_message_print):
	New function overrides composer flags for printing.

	Patch by Mayank Jain.


svn path=/trunk/; revision=34099
This commit is contained in:
Matthew Barnes
2007-08-24 17:10:58 +00:00
committed by Matthew Barnes
parent 9a1a431da9
commit 67c9a151f7
5 changed files with 61 additions and 1 deletions

View File

@ -1,3 +1,11 @@
2007-08-24 Matthew Barnes <mbarnes@redhat.com>
** Fixes part of bug #355766
* e-msg-composer.[ch] (e_msg_composer_get_message_print):
New function overrides composer flags for printing.
Patch by Mayank Jain.
2007-08-23 Sankar P <psankar@novell.com>
* Committed on behalf of Raghavendran <raghavguru7@gmail.com>

View File

@ -5356,6 +5356,49 @@ e_msg_composer_get_message (EMsgComposer *composer, gboolean save_html_object_da
return build_message (composer, save_html_object_data);
}
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)
{

View File

@ -101,6 +101,8 @@ void e_msg_composer_add_inline_image_from_mime_part (EMsgCo
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);

View File

@ -1,3 +1,10 @@
2007-08-24 Matthew Barnes <mbarnes@redhat.com>
** Fixes part of bug #355766
* print-message.c (org_gnome_print_preview):
Call e_msg_composer_get_message_print().
2007-05-11 Gilles Dartiguelongue <dartigug@esiee.fr>
* print-message.c: fix prototypes,

View File

@ -65,7 +65,7 @@ org_gnome_print_preview (EPlugin *ep, EMMenuTargetWidget *t)
EMFormatHTMLPrint *efhp;
action = GTK_PRINT_OPERATION_ACTION_PREVIEW;
message = e_msg_composer_get_message (composer, 1);
message = e_msg_composer_get_message_print (composer, 1);
efhp = em_format_html_print_new (NULL, action);
em_format_html_print_raw_message (efhp, message);