2006-09-13 [colin] 2.4.0cvs185
[claws.git] / src / messageview.h
index dbdfa84eb9d0cb47d6dfa5d9069abffea6fd8c3e..b1b1e5b4f92837ac461918fcbb6472f5d21177b3 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2002 Hiroyuki Yamamoto
+ * Copyright (C) 1999-2006 Hiroyuki Yamamoto and the Sylpheed-Claws team
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
 #ifndef __MESSAGEVIEW_H__
 #define __MESSAGEVIEW_H__
 
+#ifdef HAVE_CONFIG_H
+#  include "config.h"
+#endif
+
 #include <glib.h>
 #include <gtk/gtkwidget.h>
 
-typedef struct _MessageView            MessageView;
+typedef struct _MessageView    MessageView;
 
 #include "mainwindow.h"
 #include "headerview.h"
 #include "textview.h"
-#include "imageview.h"
 #include "mimeview.h"
 #include "noticeview.h"
 #include "procmsg.h"
+#include "procmime.h"
 #include "toolbar.h"
 
-typedef enum
-{
-       MVIEW_TEXT,
-       MVIEW_MIME
-} MessageType;
-
 struct _MessageView
 {
        GtkWidget *vbox;
 
-       MessageType type;
        gboolean new_window;
        GtkWidget *window;
 
@@ -54,33 +51,46 @@ struct _MessageView
        GtkWidget *menubar;
 
        HeaderView *headerview;
-       TextView *textview;
-       ImageView *imageview;
        MimeView *mimeview;
        NoticeView *noticeview;
+       GtkWidget *statusbar;
+       gint statusbar_cid;
 
        MainWindow *mainwin;
 
+       MsgInfo *msginfo;
+
+       gchar *forced_charset;
+       EncodingType forced_encoding;
+
        gboolean visible;
 
+       /* this message was filtered by an action */
+       gboolean filtered;
+  
        /* From messageview_show */
        gboolean all_headers;
-       MsgInfo *msginfo;
+
+       gint msginfo_update_callback_id;
+       gboolean updating;
+       gboolean deferred_destroy;
 };
 
 MessageView *messageview_create                        (MainWindow     *mainwin);
 MessageView *messageview_create_with_new_window        (MainWindow     *mainwin);
 
 void messageview_init                          (MessageView    *messageview);
-void messageview_show                          (MessageView    *messageview,
+gint messageview_show                          (MessageView    *messageview,
                                                 MsgInfo        *msginfo,
                                                 gboolean        all_headers);
 void messageview_clear                         (MessageView    *messageview);
 void messageview_destroy                       (MessageView    *messageview);
+
 void messageview_quote_color_set               (void);
 void messageview_set_font                      (MessageView    *messageview);
 
 TextView *messageview_get_current_textview     (MessageView    *messageview);
+MimeInfo *messageview_get_selected_mime_part   (MessageView    *messageview);
 
 void messageview_copy_clipboard                        (MessageView    *messageview);
 void messageview_select_all                    (MessageView    *messageview);
@@ -88,6 +98,7 @@ void messageview_set_position                 (MessageView    *messageview,
                                                 gint            pos);
 void messageview_toggle_view_real              (MessageView    *messageview);
 GList *messageview_get_msgview_list            (void);
+void messageview_delete                                (MessageView    *messageview);
 gboolean messageview_search_string             (MessageView    *messageview,
                                                 const gchar    *str,
                                                 gboolean        case_sens);
@@ -97,7 +108,17 @@ gboolean messageview_search_string_backward (MessageView    *messageview,
 
 gboolean messageview_is_visible                        (MessageView    *messageview);
 
-void messageview_add_toolbar                   (MessageView *msgview,
-                                                GtkWidget *vbox);
+void messageview_update_actions_menu           (MessageView    *msgview);
+void messageview_add_toolbar                   (MessageView    *msgview,
+                                                GtkWidget      *vbox);
 void messageview_reflect_prefs_pixmap_theme    (void);
+gchar *messageview_get_selection               (MessageView    *msgview);
+
+void messageview_set_menu_sensitive            (MessageView    *msgview);
+void messageview_learn                         (MessageView    *msgview,
+                                                gboolean is_spam);
+#ifdef USE_GNOMEPRINT
+void messageview_print                         (MsgInfo        *msginfo,
+                                                gboolean        all_headers);
+#endif
 #endif /* __MESSAGEVIEW_H__ */