commit a732011a4e74d969ad7bee79ac5c8b49741be6a4
parent 2ed08e70f80a106ed223b075d314937feb7cdee5
Author: Salvatore De Paolis <iwkse@claws-mail.org>
Date: Tue, 3 Jun 2008 12:54:54 +0000
2008-06-03 [iwkse] 3.4.0cvs79
* src/addressbook.c
Fix little gui bug on button sensitivity
* src/messageview.c
* src/prefs_common.c
* src/prefs_common.h
* src/prefs_message.c
Allow by default to show html in multipart/mixed
Diffstat:
8 files changed, 37 insertions(+), 3 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -1,3 +1,13 @@
+2008-06-03 [iwkse] 3.4.0cvs79
+
+ * src/addressbook.c
+ Fix little gui bug on button sensitivity
+ * src/messageview.c
+ * src/prefs_common.c
+ * src/prefs_common.h
+ * src/prefs_message.c
+ Allow by default to show html in multipart/mixed
+
2008-06-02 [colin] 3.4.0cvs78
* src/prefs_actions.c
diff --git a/PATCHSETS b/PATCHSETS
@@ -3374,3 +3374,4 @@
( cvs diff -u -r 1.179.2.224 -r 1.179.2.225 src/imap.c; ) > 3.4.0cvs76.patchset
( cvs diff -u -r 1.8.2.34 -r 1.8.2.35 src/quote_fmt.c; ) > 3.4.0cvs77.patchset
( cvs diff -u -r 1.60.2.56 -r 1.60.2.57 src/prefs_actions.c; ) > 3.4.0cvs78.patchset
+( cvs diff -u -r 1.60.2.116 -r 1.60.2.117 src/addressbook.c; cvs diff -u -r 1.94.2.178 -r 1.94.2.179 src/messageview.c; cvs diff -u -r 1.204.2.170 -r 1.204.2.171 src/prefs_common.c; cvs diff -u -r 1.103.2.108 -r 1.103.2.109 src/prefs_common.h; cvs diff -u -r 1.1.2.25 -r 1.1.2.26 src/prefs_message.c; ) > 3.4.0cvs79.patchset
diff --git a/configure.ac b/configure.ac
@@ -11,7 +11,7 @@ MINOR_VERSION=4
MICRO_VERSION=0
INTERFACE_AGE=0
BINARY_AGE=0
-EXTRA_VERSION=78
+EXTRA_VERSION=79
EXTRA_RELEASE=
EXTRA_GTK2_VERSION=
diff --git a/src/addressbook.c b/src/addressbook.c
@@ -2437,8 +2437,8 @@ static gboolean addressbook_tree_button_pressed(GtkWidget *ctree,
gboolean canTreePaste = FALSE;
gboolean canLookup = FALSE;
GtkCTreeNode *node = NULL;
-
- if( ! event ) return FALSE;
+
+ if( ! event || event->type != GDK_BUTTON_PRESS) return FALSE;
addressbook_menubar_set_sensitive( FALSE );
if( gtk_clist_get_selection_info( clist, event->x, event->y, &row, &column ) ) {
diff --git a/src/messageview.c b/src/messageview.c
@@ -1154,6 +1154,16 @@ gint messageview_show(MessageView *messageview, MsgInfo *msginfo,
&& (mimeinfo->type != MIMETYPE_MULTIPART ||
strcasecmp(mimeinfo->subtype, "signed"))) {
if (strcasecmp(mimeinfo->subtype, "html")) {
+ MimeInfo *saved_mimeinfo = mimeinfo;
+ if (!strcasecmp(mimeinfo->subtype, "alternative") && prefs_common.promote_html_part) {
+ for (; mimeinfo; mimeinfo = procmime_mimeinfo_next(mimeinfo)) {
+ if (mimeinfo->type == MIMETYPE_TEXT && !strcasecmp(mimeinfo->subtype, "html")) {
+ mimeview_select_mimepart_icon(messageview->mimeview, mimeinfo);
+ goto done;
+ }
+ }
+ }
+ if (!mimeinfo) mimeinfo = saved_mimeinfo;
mimeview_show_part(messageview->mimeview,mimeinfo);
goto done;
} else if (prefs_common.invoke_plugin_on_html) {
diff --git a/src/prefs_common.c b/src/prefs_common.c
@@ -714,6 +714,8 @@ static PrefParam param[] = {
NULL, NULL, NULL},
{"invoke_plugin_on_html", "FALSE", &prefs_common.invoke_plugin_on_html, P_BOOL,
NULL, NULL, NULL},
+ {"promote_html_part", "FALSE", &prefs_common.promote_html_part, P_BOOL,
+ NULL, NULL, NULL},
{"line_space", "2", &prefs_common.line_space, P_INT,
NULL, NULL, NULL},
{"never_send_retrcpt", "FALSE", &prefs_common.never_send_retrcpt, P_BOOL,
diff --git a/src/prefs_common.h b/src/prefs_common.h
@@ -304,6 +304,7 @@ struct _PrefsCommon
gint line_space;
gboolean render_html;
gboolean invoke_plugin_on_html;
+ gboolean promote_html_part;
gboolean textview_cursor_visible;
gboolean enable_smooth_scroll;
gint scroll_step;
diff --git a/src/prefs_message.c b/src/prefs_message.c
@@ -52,6 +52,7 @@ typedef struct _MessagePage
GtkWidget *checkbtn_html;
GtkWidget *checkbtn_html_plugin;
+ GtkWidget *checkbtn_promote_html_part;
GtkWidget *spinbtn_linespc;
GtkWidget *checkbtn_smoothscroll;
@@ -85,6 +86,7 @@ static void prefs_message_create_widget(PrefsPage *_page, GtkWindow *window,
GtkWidget *button_edit_disphdr;
GtkWidget *checkbtn_html;
GtkWidget *checkbtn_html_plugin;
+ GtkWidget *checkbtn_promote_html_part;
GtkWidget *hbox_linespc;
GtkWidget *label_linespc;
GtkObject *spinbtn_linespc_adj;
@@ -148,6 +150,9 @@ static void prefs_message_create_widget(PrefsPage *_page, GtkWindow *window,
PACK_CHECK_BUTTON(vbox2, checkbtn_html_plugin,
_("Render HTML-only messages with plugin if possible"));
+
+ PACK_CHECK_BUTTON(vbox2, checkbtn_promote_html_part,
+ _("Show always the HTML part also in multipart messages"));
hbox1 = gtk_hbox_new (FALSE, 32);
gtk_widget_show (hbox1);
@@ -225,6 +230,8 @@ static void prefs_message_create_widget(PrefsPage *_page, GtkWindow *window,
prefs_common.render_html);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_html_plugin),
prefs_common.invoke_plugin_on_html);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_promote_html_part),
+ prefs_common.promote_html_part);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_smoothscroll),
prefs_common.enable_smooth_scroll);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_halfpage),
@@ -242,6 +249,7 @@ static void prefs_message_create_widget(PrefsPage *_page, GtkWindow *window,
prefs_message->checkbtn_disphdr = checkbtn_disphdr;
prefs_message->checkbtn_html = checkbtn_html;
prefs_message->checkbtn_html_plugin = checkbtn_html_plugin;
+ prefs_message->checkbtn_promote_html_part = checkbtn_promote_html_part;
prefs_message->spinbtn_linespc = spinbtn_linespc;
prefs_message->checkbtn_smoothscroll = checkbtn_smoothscroll;
prefs_message->spinbtn_scrollstep = spinbtn_scrollstep;
@@ -265,6 +273,8 @@ static void prefs_message_save(PrefsPage *_page)
GTK_TOGGLE_BUTTON(page->checkbtn_html));
prefs_common.invoke_plugin_on_html = gtk_toggle_button_get_active(
GTK_TOGGLE_BUTTON(page->checkbtn_html_plugin));
+ prefs_common.promote_html_part = gtk_toggle_button_get_active(
+ GTK_TOGGLE_BUTTON(page->checkbtn_promote_html_part));
prefs_common.enable_smooth_scroll = gtk_toggle_button_get_active(
GTK_TOGGLE_BUTTON(page->checkbtn_smoothscroll));
prefs_common.scroll_halfpage = gtk_toggle_button_get_active(