2008-06-03 [iwkse] 3.4.0cvs79
authorSalvatore De Paolis <iwkse@claws-mail.org>
Tue, 3 Jun 2008 12:54:54 +0000 (12:54 +0000)
committerSalvatore De Paolis <iwkse@claws-mail.org>
Tue, 3 Jun 2008 12:54:54 +0000 (12:54 +0000)
* 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

ChangeLog
PATCHSETS
configure.ac
src/addressbook.c
src/messageview.c
src/prefs_common.c
src/prefs_common.h
src/prefs_message.c

index 6d2c1a2cb219d9bf48a2b20b9f342398f469ee0f..a31ea10dc08e30eb458f940c5f3f4e94e7ba30f8 100644 (file)
--- 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
 2008-06-02 [colin]     3.4.0cvs78
 
        * src/prefs_actions.c
index 92795e20fc0478363e76faa0d78b7b54f07d9228..ab09d6f95ed1d73f8378827972175cb1bfd4ab04 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( 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.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
index 9532803bca584bc58ae8bae7b815bba75fc49a34..15db09f795aea61728457a1ce433dfbdb709fbc1 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=4
 MICRO_VERSION=0
 INTERFACE_AGE=0
 BINARY_AGE=0
 MICRO_VERSION=0
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=78
+EXTRA_VERSION=79
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
index 0470b16e4a48a651179e7b06abed23ce4e23cf32..6893550147d05069d35f28b827b3afd50591ec0d 100644 (file)
@@ -2437,8 +2437,8 @@ static gboolean addressbook_tree_button_pressed(GtkWidget *ctree,
        gboolean canTreePaste = FALSE;
        gboolean canLookup = FALSE;
        GtkCTreeNode *node = NULL;
        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 ) ) {
        addressbook_menubar_set_sensitive( FALSE );
 
        if( gtk_clist_get_selection_info( clist, event->x, event->y, &row, &column ) ) {
index 2a336c95cdd5c8bc12834622c1dbe3882dc021b8..18a4f749a2f7baacca43d2c0ce3ef1b2c70bc60b 100644 (file)
@@ -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->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) {
                        mimeview_show_part(messageview->mimeview,mimeinfo);
                        goto done;
                } else if (prefs_common.invoke_plugin_on_html) {
index 4c6090a62fc050666c4d962f66fba7af27bf5134..1abb5fdc975f2a1ebb6fa8b4ee16d2829b7a4182 100644 (file)
@@ -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},
         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,
        {"line_space", "2", &prefs_common.line_space, P_INT,
         NULL, NULL, NULL},
        {"never_send_retrcpt", "FALSE", &prefs_common.never_send_retrcpt, P_BOOL,
index bbebc0baaf382167274a03f6598bc5969b5169ad..a67d5b2a614f1b61586052b8e9877db3d94ce908 100644 (file)
@@ -304,6 +304,7 @@ struct _PrefsCommon
        gint line_space;
        gboolean render_html;
        gboolean invoke_plugin_on_html;
        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;
        gboolean textview_cursor_visible;
        gboolean enable_smooth_scroll;
        gint scroll_step;
index 6370ef0de0e7600088b5176b245165d04b7831dd..e755a2a281373295a9fb14c670a85bcb848160f7 100644 (file)
@@ -52,6 +52,7 @@ typedef struct _MessagePage
 
        GtkWidget *checkbtn_html;
        GtkWidget *checkbtn_html_plugin;
 
        GtkWidget *checkbtn_html;
        GtkWidget *checkbtn_html_plugin;
+       GtkWidget *checkbtn_promote_html_part;
        GtkWidget *spinbtn_linespc;
 
        GtkWidget *checkbtn_smoothscroll;
        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 *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;
        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_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);
 
        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);
                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),
        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_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;
        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));
                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(
        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(