talons

Fork of Claws Mail https://www.claws-mail
Log | Files | Refs | README | LICENSE

messageview.h (3669B)


      1 /*
      2  * Claws Mail -- a GTK based, lightweight, and fast e-mail client
      3  * Copyright (C) 1999-2016 Hiroyuki Yamamoto and the Claws Mail team
      4  *
      5  * This program is free software; you can redistribute it and/or modify
      6  * it under the terms of the GNU General Public License as published by
      7  * the Free Software Foundation; either version 3 of the License, or
      8  * (at your option) any later version.
      9  *
     10  * This program is distributed in the hope that it will be useful,
     11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
     12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     13  * GNU General Public License for more details.
     14  *
     15  * You should have received a copy of the GNU General Public License
     16  * along with this program. If not, see <http://www.gnu.org/licenses/>.
     17  */
     18 
     19 #ifndef __MESSAGEVIEW_H__
     20 #define __MESSAGEVIEW_H__
     21 
     22 #include <glib.h>
     23 #include <gtk/gtk.h>
     24 
     25 #include "mainwindow.h"
     26 #include "viewtypes.h"
     27 #include "procmsg.h"
     28 #include "procmime.h"
     29 #include "toolbar.h"
     30 
     31 struct _MessageView
     32 {
     33 	GtkWidget *vbox;
     34 
     35 	gboolean new_window;
     36 	GtkWidget *window;
     37 
     38 	/* Toolbar handlebox */
     39 	GtkWidget *handlebox;
     40 	Toolbar *toolbar;
     41 	GtkWidget *menubar;
     42 
     43 	MimeView *mimeview;
     44 	GtkWidget *statusbar;
     45 	gint statusbar_cid;
     46 
     47 	MainWindow *mainwin;
     48 
     49 	MsgInfo *msginfo;
     50 
     51 	gchar *forced_charset;
     52 	EncodingType forced_encoding;
     53 
     54 	gboolean visible;
     55 
     56 	/* this message was filtered by an action */
     57 	gboolean filtered;
     58 
     59 	/* From messageview_show */
     60 	gboolean all_headers;
     61 
     62 	gint msginfo_update_callback_id;
     63 	gboolean updating;
     64 	gboolean deferred_destroy;
     65 
     66 	gboolean show_full_text;
     67 	gboolean update_needed;
     68 	GtkUIManager *ui_manager;
     69 	GList *trail;
     70 	gint trail_pos;
     71 };
     72 
     73 struct _MimeInfoSearch
     74 {
     75 	MimeInfo *parent;
     76 	MimeInfo *current;
     77 	MimeInfo *found;
     78 };
     79 typedef struct _MimeInfoSearch MimeInfoSearch;
     80 
     81 MessageView *messageview_create			(MainWindow	*mainwin);
     82 MessageView *messageview_create_with_new_window	(MainWindow	*mainwin);
     83 
     84 void messageview_init(MessageView *messageview);
     85 gint messageview_show				(MessageView	*messageview,
     86 						 MsgInfo	*msginfo,
     87 						 gboolean	 all_headers);
     88 void messageview_clear				(MessageView	*messageview);
     89 void messageview_destroy			(MessageView	*messageview);
     90 
     91 TextView *messageview_get_current_textview	(MessageView	*messageview);
     92 MimeInfo *messageview_get_selected_mime_part	(MessageView	*messageview);
     93 
     94 void messageview_copy_clipboard			(MessageView	*messageview);
     95 void messageview_select_all			(MessageView	*messageview);
     96 void messageview_set_position			(MessageView	*messageview,
     97 						 gint		 pos);
     98 const GList *messageview_get_msgview_list	(void);
     99 void messageview_delete				(MessageView 	*messageview);
    100 gboolean messageview_search_string		(MessageView	*messageview,
    101 						 const gchar	*str,
    102 						 gboolean	 case_sens);
    103 gboolean messageview_search_string_backward	(MessageView	*messageview,
    104 						 const gchar	*str,
    105 						 gboolean	 case_sens);
    106 
    107 gboolean messageview_is_visible			(MessageView	*messageview);
    108 
    109 void messageview_update_actions_menu		(MessageView	*msgview);
    110 void messageview_reflect_prefs_pixmap_theme	(void);
    111 gchar *messageview_get_selection		(MessageView 	*msgview);
    112 
    113 void messageview_set_menu_sensitive		(MessageView	*msgview);
    114 
    115 void messageview_print				(MsgInfo	*msginfo,
    116 						 gboolean	 all_headers,
    117 						 gint		 sel_start,
    118 						 gint		 sel_end,
    119 						 gint		 partnum);
    120 void messageview_list_urls			(MessageView	*msgview);
    121 
    122 gboolean messageview_nav_has_prev(MessageView *messageview);
    123 gboolean messageview_nav_has_next(MessageView *messageview);
    124 MsgInfo *messageview_nav_get_prev(MessageView *messageview);
    125 MsgInfo *messageview_nav_get_next(MessageView *messageview);
    126 
    127 #endif /* __MESSAGEVIEW_H__ */