/*
* Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2006 Hiroyuki Yamamoto and the Sylpheed-Claws team
+ * Copyright (C) 1999-2011 Hiroyuki Yamamoto and the Claws Mail 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
- * the Free Software Foundation; either version 2 of the License, or
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* GNU General Public License for more details.
*
* 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
*/
#ifndef MIMEVIEW_H
#include <glib.h>
#include <gdk/gdk.h>
-#include <gtk/gtkwidget.h>
-#include <gtk/gtkctree.h>
-#include <gtk/gtktooltips.h>
+#include <gtk/gtk.h>
+#if !GTK_CHECK_VERSION(3, 0, 0)
+#include "gtk/gtksctree.h"
+#endif
#ifdef USE_PTHREAD
#include <pthread.h>
#endif
struct _SigCheckData
{
pthread_t th;
+ pthread_t cancel_th;
+ gboolean th_init;
+ gboolean cancel_th_init;
+
MimeInfo *siginfo;
gboolean free_after_use;
gboolean destroy_mimeview;
GtkWidget *icon_vbox;
GtkWidget *icon_mainbox;
GtkWidget *mime_toggle;
-
+ GtkWidget *scrollbutton;
MimeViewType type;
+ gboolean ctree_mode;
GtkWidget *popupmenu;
- GtkItemFactory *popupfactory;
- GtkCTreeNode *opened;
+#if !GTK_CHECK_VERSION(3, 0, 0)
+ GtkCMCTreeNode *opened;
+#endif
TextView *textview;
MimeViewer *mimeviewer;
gint icon_count;
MainWindow *mainwin;
+#if !GTK_CHECK_VERSION(2,12,0)
GtkTooltips *tooltips;
+#endif
gint oldsize;
NoticeView *siginfoview;
MimeInfo *siginfo;
+ MimeInfo *spec_part;
+ GtkUIManager *ui_manager;
+ GtkActionGroup *action_group;
#ifdef USE_PTHREAD
SigCheckData *check_data;
#endif
- MimeInfo *spec_part;
};
struct _MimeViewerFactory
void (*show_mimepart) (MimeViewer *, const gchar *infile, MimeInfo *);
void (*clear_viewer) (MimeViewer *);
void (*destroy_viewer) (MimeViewer *);
+ gchar *(*get_selection) (MimeViewer *);
+ gboolean (*scroll_page) (MimeViewer *, gboolean up);
+ void (*scroll_one_line) (MimeViewer *, gboolean up);
+ gboolean (*text_search) (MimeViewer *, gboolean backward,
+ const gchar *str,
+ gboolean case_sensitive);
+ void (*print) (MimeViewer *);
MimeView *mimeview;
};
MimeInfo *mimeview_get_selected_part (MimeView *mimeview);
-void mimeview_check_signature (MimeView *mimeview);
-void mimeview_pass_key_press_event (MimeView *mimeview,
+gboolean mimeview_pass_key_press_event (MimeView *mimeview,
GdkEventKey *event);
void mimeview_register_viewer_factory (MimeViewerFactory *factory);
const gchar *cmd,
GdkEventButton *event,
gpointer data);
-
+void mimeview_select_mimepart_icon (MimeView *mimeview,
+ MimeInfo *partinfo);
+gboolean mimeview_scroll_page (MimeView *mimeview,
+ gboolean up);
+void mimeview_scroll_one_line (MimeView *mimeview,
+ gboolean up);
+gint mimeview_get_selected_part_num (MimeView *mimeview);
+void mimeview_select_part_num (MimeView *mimeview,
+ gint i);
+gboolean mimeview_has_viewer_for_content_type
+ (MimeView *mimeview,
+ const gchar *content_type);
#ifdef __cplusplus
}