/*
* Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2002 Hiroyuki Yamamoto
+ * Copyright (C) 1999-2003 Hiroyuki Yamamoto
*
* 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
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#ifndef __MIMEVIEW_H__
-#define __MIMEVIEW_H__
+#ifndef MIMEVIEW_H
+#define MIMEVIEW_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
#include <glib.h>
#include <gdk/gdk.h>
#include <gtk/gtkwidget.h>
#include <gtk/gtkctree.h>
+#include <gtk/gtktooltips.h>
typedef struct _MimeView MimeView;
typedef struct _MimeViewerFactory MimeViewerFactory;
typedef struct _MimeViewer MimeViewer;
#include "textview.h"
-#include "imageview.h"
#include "messageview.h"
#include "procmime.h"
typedef enum
{
MIMEVIEW_TEXT,
- MIMEVIEW_IMAGE,
MIMEVIEW_VIEWER,
} MimeViewType;
struct _MimeView
{
+ GtkWidget *paned;
GtkWidget *notebook;
GtkWidget *vbox;
-
- GtkWidget *paned;
GtkWidget *scrolledwin;
GtkWidget *ctree;
- GtkWidget *mime_vbox;
+ GtkWidget *mime_notebook;
+ GtkWidget *ctree_mainbox;
+ GtkWidget *icon_scroll;
+ GtkWidget *icon_vbox;
+ GtkWidget *icon_mainbox;
+ GtkWidget *mime_toggle;
MimeViewType type;
GtkCTreeNode *opened;
TextView *textview;
- ImageView *imageview;
MimeViewer *mimeviewer;
MessageView *messageview;
gchar *file;
GSList *viewers;
+
+ GtkTargetList *target_list; /* DnD */
+
+ gint icon_count;
+ MainWindow *mainwin;
+ GtkTooltips *tooltips;
+ gint oldsize;
};
struct _MimeViewerFactory
{
- gchar *content_type;
+ /**
+ * Array of supported content types.
+ * Must be NULL terminated and lower case
+ */
+ gchar **content_types;
gint priority;
- MimeViewer *(*create_viewer) ();
+ MimeViewer *(*create_viewer) (void);
};
struct _MimeViewer
void (*destroy_viewer) (MimeViewer *);
};
-MimeView *mimeview_create (void);
+MimeView *mimeview_create (MainWindow *mainwin);
void mimeview_init (MimeView *mimeview);
void mimeview_show_message (MimeView *mimeview,
MimeInfo *mimeinfo,
const gchar *file);
void mimeview_destroy (MimeView *mimeview);
+void mimeview_update (MimeView *mimeview);
+
+MimeInfo *mimeview_get_selected_part (MimeView *mimeview);
#if USE_GPGME
void mimeview_check_signature (MimeView *mimeview);
void mimeview_register_viewer_factory (MimeViewerFactory *factory);
void mimeview_unregister_viewer_factory (MimeViewerFactory *factory);
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
#endif /* __MIMEVIEW_H__ */