aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog14
-rw-r--r--mail/em-format-html-print.c1
-rw-r--r--mail/em-format-html.c3
-rw-r--r--mail/em-format-html.h1
-rw-r--r--mail/em-format.c7
5 files changed, 24 insertions, 2 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 3d03229d4f..b4dacc3088 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,5 +1,19 @@
2004-05-18 Not Zed <NotZed@Ximian.com>
+ ** Quick fix for #57434
+
+ * em-format.c (emf_format_clone): fix the FIXME about cloning
+ headers shown.
+
+ * em-format-html.c (efh_format_headers): only show rupert if we're
+ showing rupert.
+
+ * em-format-html-print.c (efhp_init): default show_rupert to off.
+
+ * em-format-html.c (efh_init): default show_rupert to on.
+
+ * em-format-html.h: added show_rupert bit.
+
* mail-folder-cache.c (folder_changed): don't emit new mail if its
any vfolder, not just vtrash folder. #56350.
diff --git a/mail/em-format-html-print.c b/mail/em-format-html-print.c
index 9d4b1cdf27..69fc9f19a2 100644
--- a/mail/em-format-html-print.c
+++ b/mail/em-format-html-print.c
@@ -54,6 +54,7 @@ efhp_init(GObject *o)
efhp->window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_container_add((GtkContainer *)efhp->window, html);
gtk_widget_realize(html);
+ efhp->formathtml.show_rupert = FALSE;
}
static void
diff --git a/mail/em-format-html.c b/mail/em-format-html.c
index dbedb1bf0b..8d10aec9bf 100644
--- a/mail/em-format-html.c
+++ b/mail/em-format-html.c
@@ -142,6 +142,7 @@ efh_init(GObject *o)
efh->content_colour = 0xffffff;
efh->text_html_flags = CAMEL_MIME_FILTER_TOHTML_CONVERT_NL | CAMEL_MIME_FILTER_TOHTML_CONVERT_SPACES
| CAMEL_MIME_FILTER_TOHTML_MARK_CITATION;
+ efh->show_rupert = TRUE;
}
static void
@@ -1671,7 +1672,7 @@ efh_format_headers(EMFormatHTML *efh, CamelStream *stream, CamelMedium *part)
if (!efh->simple_headers) {
camel_stream_printf(stream, "</table></td>");
- if (rupert) {
+ if (rupert && efh->show_rupert) {
char *classid;
CamelMimePart *iconpart;
diff --git a/mail/em-format-html.h b/mail/em-format-html.h
index bbd0132017..8ad399315a 100644
--- a/mail/em-format-html.h
+++ b/mail/em-format-html.h
@@ -115,6 +115,7 @@ struct _EMFormatHTML {
unsigned int mark_citations:1;
unsigned int simple_headers:1; /* simple header format, no box/table */
unsigned int hide_headers:1; /* no headers at all */
+ unsigned int show_rupert:1; /* whether we print rupert or not */
};
struct _EMFormatHTMLClass {
diff --git a/mail/em-format.c b/mail/em-format.c
index 9ffc37fc29..e585897d94 100644
--- a/mail/em-format.c
+++ b/mail/em-format.c
@@ -538,12 +538,17 @@ emf_format_clone(EMFormat *emf, CamelFolder *folder, const char *uid, CamelMimeM
g_hash_table_destroy(emf->inline_table);
emf->inline_table = g_hash_table_new(NULL, NULL);
if (emfsource) {
+ struct _EMFormatHeader *h;
+
/* We clone the current state here */
g_hash_table_foreach(emfsource->inline_table, emf_clone_inlines, emf);
emf->mode = emfsource->mode;
g_free(emf->charset);
emf->charset = g_strdup(emfsource->charset);
- /* FIXME: clone headers shown */
+
+ em_format_clear_headers(emf);
+ for (h = (struct _EMFormatHeader *)emfsource->header_list.head; h->next; h = h->next)
+ em_format_add_header(emf, h->name, h->flags);
}
}