summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad Teaford Cowan <bcowan@gentoo.org>2002-10-13 11:34:40 +0000
committerBrad Teaford Cowan <bcowan@gentoo.org>2002-10-13 11:34:40 +0000
commitcd132d0ebbd65d75e1f2c32dcc84ff7d51d61ef8 (patch)
tree1899bf33d0603d0e09360d9f850a85e9177a9c2d /net-mail
parentversion bump (diff)
downloadgentoo-2-cd132d0ebbd65d75e1f2c32dcc84ff7d51d61ef8.tar.gz
gentoo-2-cd132d0ebbd65d75e1f2c32dcc84ff7d51d61ef8.tar.bz2
gentoo-2-cd132d0ebbd65d75e1f2c32dcc84ff7d51d61ef8.zip
updated dillo patch
Diffstat (limited to 'net-mail')
-rw-r--r--net-mail/sylpheed-claws/files/sylpheed-0.8.3claws32-dillo.patch292
-rw-r--r--net-mail/sylpheed-claws/sylpheed-claws-0.8.5.ebuild7
2 files changed, 295 insertions, 4 deletions
diff --git a/net-mail/sylpheed-claws/files/sylpheed-0.8.3claws32-dillo.patch b/net-mail/sylpheed-claws/files/sylpheed-0.8.3claws32-dillo.patch
new file mode 100644
index 000000000000..0868c1da8ebc
--- /dev/null
+++ b/net-mail/sylpheed-claws/files/sylpheed-0.8.3claws32-dillo.patch
@@ -0,0 +1,292 @@
+diff -r -c sylpheed-0.8.3claws.orig/src/messageview.c sylpheed-0.8.3claws/src/messageview.c
+--- sylpheed-0.8.3claws.orig/src/messageview.c 23 Aug 2002 06:52:15
++++ sylpheed-0.8.3claws/src/messageview.c 29 Sep 2002 08:16:45
+@@ -120,6 +120,7 @@ MessageView *messageview_create(MainWind
+ messageview->textview = textview;
+ messageview->imageview = imageview;
+ messageview->mimeview = mimeview;
++ messageview->plugview = gtk_socket_new();
+ messageview->noticeview = noticeview;
+
+ return messageview;
+@@ -458,8 +459,8 @@ void messageview_show(MessageView *messa
+ textview_set_all_headers(messageview->textview, all_headers);
+ textview_set_all_headers(messageview->mimeview->textview, all_headers);
+
+- if (mimeinfo->mime_type != MIME_TEXT &&
+- mimeinfo->mime_type != MIME_TEXT_HTML) {
++ if (mimeinfo->mime_type != MIME_TEXT /*&&
++ mimeinfo->mime_type != MIME_TEXT_HTML*/) {
+ messageview_change_view_type(messageview, MVIEW_MIME);
+ mimeview_show_message(messageview->mimeview, mimeinfo, file);
+ } else {
+@@ -481,29 +482,51 @@ static void messageview_change_view_type
+ {
+ TextView *textview = messageview->textview;
+ MimeView *mimeview = messageview->mimeview;
++ GtkWidget *plugview = messageview->plugview;
+
+ if (messageview->type == type) return;
+
+ if (type == MVIEW_MIME) {
+- gtkut_container_remove
+- (GTK_CONTAINER(GTK_WIDGET_PTR(messageview)),
+- GTK_WIDGET_PTR(textview));
++ if (messageview->type == MVIEW_TEXT)
++ gtkut_container_remove
++ (GTK_CONTAINER(GTK_WIDGET_PTR(messageview)),
++ GTK_WIDGET_PTR(textview));
++ else if (messageview->type == MVIEW_PLUG)
++ gtkut_container_remove
++ (GTK_CONTAINER(GTK_WIDGET_PTR(messageview)),
++ GTK_WIDGET_PTR(plugview));
+ gtk_box_pack_start(GTK_BOX(messageview->vbox),
+ GTK_WIDGET_PTR(mimeview), TRUE, TRUE, 0);
+ gtk_container_add(GTK_CONTAINER(mimeview->vbox),
+ GTK_WIDGET_PTR(textview));
+ } else if (type == MVIEW_TEXT) {
+- gtkut_container_remove
+- (GTK_CONTAINER(GTK_WIDGET_PTR(messageview)),
+- GTK_WIDGET_PTR(mimeview));
+-
++ if (messageview->type == MVIEW_MIME)
++ gtkut_container_remove
++ (GTK_CONTAINER(GTK_WIDGET_PTR(messageview)),
++ GTK_WIDGET_PTR(mimeview));
++ else if (messageview->type == MVIEW_PLUG)
++ gtkut_container_remove
++ (GTK_CONTAINER(GTK_WIDGET_PTR(messageview)),
++ GTK_WIDGET_PTR(plugview));
++
+ if (mimeview->vbox == GTK_WIDGET_PTR(textview)->parent)
+ gtkut_container_remove(GTK_CONTAINER(mimeview->vbox),
+ GTK_WIDGET_PTR(textview));
+
+ gtk_box_pack_start(GTK_BOX(messageview->vbox),
+ GTK_WIDGET_PTR(textview), TRUE, TRUE, 0);
+- } else
++ } else if (type == MVIEW_PLUG) {
++ if (messageview->type == MVIEW_MIME)
++ gtkut_container_remove
++ (GTK_CONTAINER(GTK_WIDGET_PTR(messageview)),
++ GTK_WIDGET_PTR(mimeview));
++ else if (messageview->type == MVIEW_TEXT)
++ gtkut_container_remove
++ (GTK_CONTAINER(GTK_WIDGET_PTR(messageview)),
++ GTK_WIDGET_PTR(textview));
++ gtk_box_pack_start(GTK_BOX(messageview->vbox),
++ GTK_WIDGET_PTR(plugview), TRUE, TRUE, 0);
++ } else
+ return;
+
+ messageview->type = type;
+@@ -528,6 +551,7 @@ void messageview_destroy(MessageView *me
+ textview_destroy(messageview->textview);
+ imageview_destroy(messageview->imageview);
+ mimeview_destroy(messageview->mimeview);
++ gtk_widget_destroy(messageview->plugview);
+ noticeview_destroy(messageview->noticeview);
+
+ g_free(messageview);
+
+diff -r -c sylpheed-0.8.3claws.orig/src/messageview.h sylpheed-0.8.3claws/src/messageview.h
+--- sylpheed-0.8.3claws.orig/src/messageview.h 23 Aug 2002 06:52:15
++++ sylpheed-0.8.3claws/src/messageview.h 29 Sep 2002 08:16:45
+@@ -36,7 +36,8 @@ typedef struct _MessageView MessageView;
+ typedef enum
+ {
+ MVIEW_TEXT,
+- MVIEW_MIME
++ MVIEW_MIME,
++ MVIEW_PLUG
+ } MessageType;
+
+ struct _MessageView
+@@ -51,6 +52,7 @@ struct _MessageView
+ TextView *textview;
+ ImageView *imageview;
+ MimeView *mimeview;
++ GtkWidget *plugview;
+ NoticeView *noticeview;
+
+ MainWindow *mainwin;
+
+diff -r -c sylpheed-0.8.3claws.orig/src/mimeview.c sylpheed-0.8.3claws/src/mimeview.c
+--- sylpheed-0.8.3claws.orig/src/mimeview.c 22 Sep 2002 10:53:49
++++ sylpheed-0.8.3claws/src/mimeview.c 29 Sep 2002 08:16:45
+@@ -25,6 +25,7 @@
+
+ #include <glib.h>
+ #include <gdk/gdkkeysyms.h>
++#include <gdk/gdkx.h>
+ #include <gtk/gtknotebook.h>
+ #include <gtk/gtkscrolledwindow.h>
+ #include <gtk/gtkctree.h>
+@@ -53,7 +54,6 @@
+ #include "prefs_common.h"
+ #include "rfc2015.h"
+ #include "pgptext.h"
+-
+ typedef enum
+ {
+ COL_MIMETYPE = 0,
+@@ -215,6 +215,7 @@ MimeView *mimeview_create(void)
+ mimeview->popupmenu = popupmenu;
+ mimeview->popupfactory = popupfactory;
+ mimeview->type = -1;
++ mimeview->plugview = NULL;
+
+ return mimeview;
+ }
+@@ -346,6 +347,10 @@ void mimeview_show_message(MimeView *mim
+ void mimeview_destroy(MimeView *mimeview)
+ {
+ procmime_mimeinfo_free_all(mimeview->mimeinfo);
++ if (mimeview->plugview) {
++ printf("MIMVIEW destroyg %08x\n", mimeview->plugview);
++ gtk_widget_destroy(mimeview->plugview);
++ }
+ g_free(mimeview->file);
+ g_free(mimeview);
+ }
+@@ -472,13 +477,67 @@ static void mimeview_show_image_part(Mim
+ g_free(filename);
+ }
+
++static gint plugview_destroyed(GtkObject *o, gpointer data)
++{
++ MimeView *m = (MimeView *) data;
++ printf("Destroy thingie %08x (%08x)\n", m->plugview, o);
++ m->plugview = NULL;
++ return TRUE;
++}
++
++static void mimeview_show_dillo_part(MimeView *mimeview, MimeInfo *partinfo)
++{
++ gchar *filename;
++
++ if (!partinfo) return;
++
++ filename = procmime_get_tmp_file_name(partinfo);
++
++ if (procmime_get_part(filename, mimeview->file, partinfo) < 0)
++ alertpanel_error
++ (_("Can't get the part of multipart message."));
++ else {
++ gchar *cmd;
++ /* Workaround for the GTK+ bug with handling scroll adjustments
++ * in GtkViewport */
++ if (mimeview->plugview)
++ if (GTK_SOCKET(mimeview->plugview)->plug_window) {
++ gtk_widget_destroy(mimeview->plugview);
++ printf("Destroyed %08x\n", mimeview->plugview);
++ mimeview->plugview = NULL;
++ }
++ if (!mimeview->plugview) {
++ mimeview->plugview = gtk_socket_new();
++ printf("Created %08x\n", mimeview->plugview);
++ gtk_signal_connect(GTK_OBJECT(mimeview->plugview),
++ "destroy",
++ GTK_SIGNAL_FUNC(plugview_destroyed),
++ mimeview);
++ }
++ mimeview_change_view_type(mimeview, MIMEVIEW_PLUG);
++ printf("SHowing %08x\n", mimeview->plugview);
++ gtk_widget_show(mimeview->plugview);
++ gtk_widget_realize(mimeview->plugview);
++
++ cmd = g_strdup_printf("dillo -f -l -x %d \"%s\"",
++ GDK_WINDOW_XWINDOW(mimeview->plugview->window),
++ filename);
++ execute_command_line(cmd, TRUE);
++ g_free(cmd);
++ /*unlink(filename);*/
++ }
++
++ g_free(filename);
++}
+ static void mimeview_change_view_type(MimeView *mimeview, MimeViewType type)
+ {
+ TextView *textview = mimeview->textview;
+ ImageView *imageview = mimeview->imageview;
++ GtkWidget *plugview = mimeview->plugview;
+ GList *children;
+
+- if (mimeview->type == type) return;
++ if (mimeview->type == type && type != MIMEVIEW_PLUG) return;
++ printf("Changing... to ");
+
+ children = gtk_container_children(GTK_CONTAINER(mimeview->mime_vbox));
+ if (children) {
+@@ -489,10 +548,17 @@ static void mimeview_change_view_type(Mi
+
+ switch (type) {
+ case MIMEVIEW_IMAGE:
++ printf("Changing... to IMAGE\n");
+ gtk_container_add(GTK_CONTAINER(mimeview->mime_vbox),
+ GTK_WIDGET_PTR(imageview));
+ break;
++ case MIMEVIEW_PLUG:
++ printf("Changing... to PLUG\n");
++ gtk_container_add(GTK_CONTAINER(mimeview->mime_vbox),
++ mimeview->plugview);
++ break;
+ case MIMEVIEW_TEXT:
++ printf("Changing... to TEXT\n");
+ gtk_container_add(GTK_CONTAINER(mimeview->mime_vbox),
+ GTK_WIDGET_PTR(textview));
+ break;
+@@ -509,7 +575,11 @@ static void mimeview_clear(MimeView *mim
+
+ procmime_mimeinfo_free_all(mimeview->mimeinfo);
+ mimeview->mimeinfo = NULL;
+-
++
++ printf("Clearing...\n");
++ if (mimeview->plugview)
++ gtk_widget_destroy(mimeview->plugview);
++
+ gtk_clist_clear(clist);
+ textview_clear(mimeview->textview);
+ imageview_clear(mimeview->imageview);
+@@ -545,7 +615,7 @@ static void mimeview_selected(GtkCTree *
+
+ switch (partinfo->mime_type) {
+ case MIME_TEXT:
+- case MIME_TEXT_HTML:
++ /*case MIME_TEXT_HTML:*/
+ case MIME_TEXT_ENRICHED:
+ case MIME_MESSAGE_RFC822:
+ case MIME_MULTIPART:
+@@ -563,6 +633,9 @@ static void mimeview_selected(GtkCTree *
+ }
+ break;
+ #endif
++ case MIME_TEXT_HTML:
++ mimeview_show_dillo_part(mimeview, partinfo);
++ break;
+ default:
+ mimeview->textview->default_text = TRUE;
+ mimeview_change_view_type(mimeview, MIMEVIEW_TEXT);
+
+diff -r -c sylpheed-0.8.3claws.orig/src/mimeview.h sylpheed-0.8.3claws/src/mimeview.h
+--- sylpheed-0.8.3claws.orig/src/mimeview.h 22 Sep 2002 10:53:44
++++ sylpheed-0.8.3claws/src/mimeview.h 29 Sep 2002 08:16:45
+@@ -35,7 +35,8 @@ typedef struct _MimeView MimeView;
+ typedef enum
+ {
+ MIMEVIEW_TEXT,
+- MIMEVIEW_IMAGE
++ MIMEVIEW_IMAGE,
++ MIMEVIEW_PLUG
+ } MimeViewType;
+
+ struct _MimeView
+@@ -57,6 +58,7 @@ struct _MimeView
+
+ TextView *textview;
+ ImageView *imageview;
++ GtkWidget *plugview;
+
+ MessageView *messageview;
+
diff --git a/net-mail/sylpheed-claws/sylpheed-claws-0.8.5.ebuild b/net-mail/sylpheed-claws/sylpheed-claws-0.8.5.ebuild
index 1c4827999bcc..c06442824079 100644
--- a/net-mail/sylpheed-claws/sylpheed-claws-0.8.5.ebuild
+++ b/net-mail/sylpheed-claws/sylpheed-claws-0.8.5.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2002 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-mail/sylpheed-claws/sylpheed-claws-0.8.5.ebuild,v 1.4 2002/10/13 08:44:18 bcowan Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-mail/sylpheed-claws/sylpheed-claws-0.8.5.ebuild,v 1.5 2002/10/13 11:34:40 bcowan Exp $
IUSE="nls gnome xface gtkhtml crypt spell imlib ssl ldap ipv6 pda"
@@ -9,8 +9,7 @@ MY_P="sylpheed-${PV}claws"
S=${WORKDIR}/${MY_P}
S2=${WORKDIR}/gentoo-extra
DESCRIPTION="Bleeding edge version of Sylpheed"
-SRC_URI="mirror://sourceforge/sylpheed-claws/${MY_P}.tar.bz2
- mirror://gentoo/sylpheed-gentoo-extra.tar.bz2"
+SRC_URI="mirror://sourceforge/sylpheed-claws/${MY_P}.tar.bz2"
HOMEPAGE="http://sylpheed-claws.sf.net"
SLOT="0"
@@ -41,7 +40,7 @@ src_unpack() {
if use gtkhtml
then
cd ${S}
- patch -p1 < ${S2}/${PN}-0.8.1-gentoo.patch || die
+ patch -p1 < ${FILESDIR}/sylpheed-0.8.3claws32-dillo.patch || die
fi
}