From 9713f20bc88573b3716d1b0ba97ac2b4743d150b Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Tue, 25 Apr 2000 14:59:08 +0000 Subject: Redo large chunks of this. The mail display now consists of a vbox in a * mail-display.c, mail-format.c: Redo large chunks of this. The mail display now consists of a vbox in a scrolled window, in which we put multiple GtkHTML objects. This means broken HTML in one part can't corrupt other parts. The headers now scroll with the body. Unrecognized attachments look prettier, but still don't do anything, and will probably be changed later. We can also now display nested message/rfc822 parts and multipart/alternatives with multipart subparts. Oh, and text/{richtext,enriched}, since we had all these ancient sample messages that use it and the lack of support annoyed me. :) Bonobo embeddables are broken right now, but I don't think that's my fault. svn path=/trunk/; revision=2601 --- mail/mail-display.h | 41 +++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 20 deletions(-) (limited to 'mail/mail-display.h') diff --git a/mail/mail-display.h b/mail/mail-display.h index 685bd4c8f8..5fff4ec3de 100644 --- a/mail/mail-display.h +++ b/mail/mail-display.h @@ -1,20 +1,9 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ - - - - - - - - - - - #ifndef _MAIL_DISPLAY_H_ #define _MAIL_DISPLAY_H_ -#include +#include #include #include "camel/camel-stream.h" #include "camel/camel-mime-message.h" @@ -28,26 +17,38 @@ #define IS_MAIL_DISPLAY_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), MAIL_DISPLAY_TYPE)) struct _MailDisplay { - GtkTable parent; + GtkVBox parent; - FolderBrowser *parent_folder_browser; + GtkScrolledWindow *scroll; + GtkBox *inner_box; - GtkHTML * headers_html_widget; - GtkHTML * body_html_widget; - + FolderBrowser *parent_folder_browser; CamelMimeMessage *current_message; }; typedef struct { - GtkTableClass parent_class; + GtkVBoxClass parent_class; } MailDisplayClass; -GtkType mail_display_get_type (void); -GtkWidget * mail_display_new (FolderBrowser *parent_folder_browser); +GtkType mail_display_get_type (void); +GtkWidget * mail_display_new (FolderBrowser *parent_folder_browser); void mail_display_set_message (MailDisplay *mail_display, CamelMedium *medium); +#define HTML_HEADER "\n\n\n\n\n" + +void mail_html_new (GtkHTML **html, + GtkHTMLStreamHandle **stream, + CamelMimeMessage *root, + gboolean init); +void mail_html_write (GtkHTML *html, + GtkHTMLStreamHandle *stream, + const char *format, ...); +void mail_html_end (GtkHTML *html, + GtkHTMLStreamHandle *stream, + gboolean finish, + GtkBox *box); #endif /* _MAIL_DISPLAY_H_ */ -- cgit v1.2.3