- Revise patch for RH bug #202751 and re-enable it.

This commit is contained in:
Matthew Barnes 2006-11-07 19:28:19 +00:00
parent 09e24157f8
commit 69653950e5
2 changed files with 75 additions and 63 deletions

View File

@ -1,82 +1,91 @@
--- evolution-2.8.1/plugins/print-message/print-message.c.fix-indic-printing 2005-08-23 23:14:10.000000000 -0400
+++ evolution-2.8.1/plugins/print-message/print-message.c 2006-10-10 10:35:17.000000000 -0400
@@ -83,7 +83,8 @@
--- 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, TRUE);
+
+ 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 +105,7 @@
@@ -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, TRUE);
+ data->msg = e_msg_composer_get_message_print (composer, 1);
print_response(NULL, GNOME_PRINT_DIALOG_RESPONSE_PREVIEW, data);
}
--- evolution-2.8.1/composer/e-msg-composer.h.fix-indic-printing 2005-12-07 03:29:51.000000000 -0500
+++ evolution-2.8.1/composer/e-msg-composer.h 2006-10-10 10:35:17.000000000 -0400
@@ -94,6 +94,8 @@
const char *filename);
void e_msg_composer_add_inline_image_from_mime_part (EMsgComposer *composer,
--- 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_print (EMsgComposer *composer,
+ gboolean save_html_object_data);
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);
--- evolution-2.8.1/composer/e-msg-composer.c.fix-indic-printing 2006-10-10 10:34:38.000000000 -0400
+++ evolution-2.8.1/composer/e-msg-composer.c 2006-10-10 10:35:17.000000000 -0400
@@ -5162,6 +5162,38 @@
}
}
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);
+/* Stub for helping in printing of mails */
+CamelMimeMessage *
+e_msg_composer_get_message_print (EMsgComposer *composer, gboolean save_html_object_data)
+{
+ CamelMimeMessage *msg;
+ gboolean old_flags[4];
+ gboolean old_send_html;
+ EMsgComposerPrivate *p = composer->priv;
+
+ /* create printable mail as HTML */
+ old_send_html = p->send_html;
+ p->send_html = TRUE;
+ old_flags[0] = p->pgp_sign;
+ p->pgp_sign = FALSE;
+ old_flags[1] = p->pgp_encrypt;
+ p->pgp_encrypt = FALSE;
+ old_flags[2] = p->smime_sign;
+ p->smime_sign = FALSE;
+ old_flags[3] = p->smime_encrypt;
+ p->smime_encrypt = FALSE;
+
+ msg = build_message (composer, save_html_object_data);
+
+ /* Revert back message's original settings */
+ p->send_html = old_send_html;
+ p->pgp_sign = old_flags[0];
+ p->pgp_encrypt = old_flags[1];
+ p->smime_sign = old_flags[2];
+ p->smime_encrypt = old_flags[3];
+
+ return msg;
+}
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);
/**
* e_msg_composer_get_message:
@@ -5183,7 +5215,7 @@
}
}
- return build_message (composer, save_html_object_data);
+ return e_msg_composer_get_message_print (composer, save_html_object_data);
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;

View File

@ -43,7 +43,7 @@
Name: evolution
Version: 2.9.2
Release: 1%{?dist}
Release: 2%{?dist}
License: GPL
Group: Applications/Productivity
Summary: GNOME's next-generation groupware suite
@ -119,7 +119,7 @@ Patch29: evolution-2.8.0-deprecated-gdk-font.patch
Patch30: evolution-2.8.0-more-deprecated.patch
# RH bug #202751 / Gnome.org bug #355766
#Patch31: evolution-2.8.0-fix-indic-printing.patch
Patch31: evolution-2.8.0-fix-indic-printing.patch
# Gnome.org bug #360946
Patch34: evolution-2.8.1-about-dialog.patch
@ -268,7 +268,7 @@ Development files needed for building things which link against evolution.
%patch28 -p1 -b .kill-emutex
%patch29 -p1 -b .deprecated-gdk-font
%patch30 -p1 -b .more-deprecated
#%patch31 -p1 -b .fix-indic-printing
%patch31 -p1 -b .fix-indic-printing
%patch34 -p1 -b .about-dialog
%patch35 -p1 -b .kill-ethread
%patch36 -p1 -b .kill-ememory
@ -676,6 +676,9 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/evolution/%{evo_major}/libmenus.so
%changelog
* Tue Nov 07 2006 Matthew Barnes <mbarnes@redhat.com> - 2.9.2-2.fc7
- Revise patch for RH bug #202751 and re-enable it.
* Mon Nov 06 2006 Matthew Barnes <mbarnes@redhat.com> - 2.9.2-1.fc7
- Update to 2.9.2
- Remove patch for Gnome.org bug #360240 (fixed upstream).