2006-09-13 [colin] 2.4.0cvs185
[claws.git] / src / messageview.h
index 01d8b08dcdcf87328cc7f15e4a36e00d99595b36..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>
 
@@ -28,48 +32,73 @@ 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"
-
-typedef enum
-{
-       MVIEW_TEXT,
-       MVIEW_MIME
-} MessageType;
+#include "procmime.h"
+#include "toolbar.h"
 
 struct _MessageView
 {
        GtkWidget *vbox;
 
-       MessageType type;
        gboolean new_window;
        GtkWidget *window;
 
+       /* Toolbar handlebox */
+       GtkWidget *handlebox;
+       Toolbar *toolbar;
+       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;
+
+       gint msginfo_update_callback_id;
+       gboolean updating;
+       gboolean deferred_destroy;
 };
 
-MessageView *messageview_create                        (void);
-MessageView *messageview_create_with_new_window        (void);
+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);
 void messageview_set_position                  (MessageView    *messageview,
                                                 gint            pos);
-void messageview_toggle_view_real(MessageView *messageview);
-
+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);
@@ -77,6 +106,19 @@ gboolean messageview_search_string_backward (MessageView    *messageview,
                                                 const gchar    *str,
                                                 gboolean        case_sens);
 
-GtkWidget *messageview_get_text_widget         (MessageView    *messageview);
+gboolean messageview_is_visible                        (MessageView    *messageview);
 
+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__ */