diff options
-rw-r--r-- | mail/ChangeLog | 14 | ||||
-rw-r--r-- | mail/em-format-html-print.c | 1 | ||||
-rw-r--r-- | mail/em-format-html.c | 3 | ||||
-rw-r--r-- | mail/em-format-html.h | 1 | ||||
-rw-r--r-- | mail/em-format.c | 7 |
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); } } |