2007-11-08 [paul] 3.0.2cvs128
authorPaul Mangan <paul@claws-mail.org>
Thu, 8 Nov 2007 09:13:16 +0000 (09:13 +0000)
committerPaul Mangan <paul@claws-mail.org>
Thu, 8 Nov 2007 09:13:16 +0000 (09:13 +0000)
* src/account.c
* src/compose.c
* src/messageview.c
* src/prefs_account.c
* src/prefs_account.h
reinstate 'Generate Message-ID' option as an
account preference. (hidden on IMAP)
Thanks to Colin

ChangeLog
PATCHSETS
configure.ac
src/account.c
src/compose.c
src/messageview.c
src/prefs_account.c
src/prefs_account.h

index 07f211ea1ca578ef6bb23506582fdabde63ee83d..bdb3a6a052675a06afc215305bef78acf898ea47 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2007-11-08 [paul]      3.0.2cvs128
+
+       * src/account.c
+       * src/compose.c
+       * src/messageview.c
+       * src/prefs_account.c
+       * src/prefs_account.h
+               reinstate 'Generate Message-ID' option as an
+               account preference. (hidden on IMAP)
+               Thanks to Colin
+
 2007-11-08 [paul]      3.0.2cvs127
 
        * src/textview.c
index 7722992ee170a839627a7d61c3390e57c8cd6d2d..49ad3d02acaf05e53a35141cc0a76551a2d243ab 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.43.2.92 -r 1.43.2.93 src/toolbar.c;  ) > 3.0.2cvs125.patchset
 ( cvs diff -u -r 1.43.2.93 -r 1.43.2.94 src/toolbar.c;  ) > 3.0.2cvs126.patchset
 ( cvs diff -u -r 1.96.2.191 -r 1.96.2.192 src/textview.c;  ) > 3.0.2cvs127.patchset
+( cvs diff -u -r 1.61.2.75 -r 1.61.2.76 src/account.c;  cvs diff -u -r 1.382.2.419 -r 1.382.2.420 src/compose.c;  cvs diff -u -r 1.94.2.162 -r 1.94.2.163 src/messageview.c;  cvs diff -u -r 1.105.2.115 -r 1.105.2.116 src/prefs_account.c;  cvs diff -u -r 1.49.2.34 -r 1.49.2.35 src/prefs_account.h;  ) > 3.0.2cvs128.patchset
index 6f22f0e2a729c9d1571e8d19cf0abb7fecc5d79c..b1ebd35518dd4cefe32faa4df9cebaec856fd6fe 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=0
 MICRO_VERSION=2
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=127
+EXTRA_VERSION=128
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
index fc1e8891e6992c0f1cf999257b964571ae9c7657..5d9ae1d786b752cbea6d97d217a8772a14a0e97d 100644 (file)
@@ -934,6 +934,7 @@ static void account_clone(GtkWidget *widget, gpointer data)
        ACP_FASSIGN(imap_auth_type);
 
        /* send */
+       ACP_FASSIGN(gen_msgid);
        ACP_FASSIGN(add_customhdr);
        ACP_FASSIGN(use_smtp_auth);
        ACP_FASSIGN(smtp_auth_type);
index 731e8034f971278c6edf5012029f550d33964058..f08125e77a196fdb3b4c1a7d9d2bc8d25f0768e9 100644 (file)
@@ -4594,7 +4594,7 @@ gint compose_send(Compose *compose)
                goto bail;
        }
 
-       tmsgid = g_strdup(compose->msgid);
+       tmsgid = compose->msgid ? g_strdup(compose->msgid) : NULL;
        if (discard_window) {
                compose->sending = FALSE;
                compose_close(compose);
@@ -4827,9 +4827,14 @@ static gint compose_redirect_write_headers(Compose *compose, FILE *fp)
        } else {
                g_snprintf(buf, sizeof(buf), "%s", "");
        }
-       generate_msgid(buf, sizeof(buf));
-       err |= (fprintf(fp, "Resent-Message-ID: <%s>\n", buf) < 0);
-       compose->msgid = g_strdup(buf);
+
+       if (compose->account->gen_msgid) {
+               generate_msgid(buf, sizeof(buf));
+               err |= (fprintf(fp, "Resent-Message-ID: <%s>\n", buf) < 0);
+               compose->msgid = g_strdup(buf);
+       } else {
+               compose->msgid = NULL;
+       }
 
        if (compose_redirect_write_headers_from_headerlist(compose, fp))
                return -1;
@@ -5750,9 +5755,14 @@ static gchar *compose_get_header(Compose *compose)
        } else {
                g_snprintf(buf, sizeof(buf), "%s", "");
        }
-       generate_msgid(buf, sizeof(buf));
-       g_string_append_printf(header, "Message-ID: <%s>\n", buf);
-       compose->msgid = g_strdup(buf);
+       
+       if (compose->account->gen_msgid) {
+               generate_msgid(buf, sizeof(buf));
+               g_string_append_printf(header, "Message-ID: <%s>\n", buf);
+               compose->msgid = g_strdup(buf);
+       } else {
+               compose->msgid = NULL;
+       }
 
        if (compose->remove_references == FALSE) {
                /* In-Reply-To */
index 5d78c36a5f03af7c85b2a19049bc091dbed1b4bf..9210d2d6cec59ac2597151c590c284a6f4dfc0f1 100644 (file)
@@ -840,13 +840,16 @@ static gint disposition_notification_send(MsgInfo *msginfo)
        } else {
                g_snprintf(buf, sizeof(buf), "%s", "");
        }
-       generate_msgid(buf, sizeof(buf));
-       if (fprintf(fp, "Message-ID: <%s>\n", buf) < 0) {
-               fclose(fp);
-               g_unlink(tmp);
-               return -1;
-       }
+       
+       if (account->gen_msgid) {
+               generate_msgid(buf, sizeof(buf));
 
+               if (fprintf(fp, "Message-ID: <%s>\n", buf) < 0) {
+                       fclose(fp);
+                       g_unlink(tmp);
+                       return -1;
+               }
+       }
 
        if (fclose(fp) == EOF) {
                FILE_OP_ERROR(tmp, "fclose");
index f9571df049a00e7f65f750bc66fb0566e0b37f07..c0ee3effe8405546c79b40f53e3c40c805fe5e6f 100644 (file)
@@ -151,6 +151,7 @@ typedef struct SendPage
 
     GtkWidget *vbox;
 
+       GtkWidget *msgid_checkbtn;
        GtkWidget *customhdr_checkbtn;
        GtkWidget *smtp_auth_checkbtn;
        GtkWidget *smtp_auth_type_optmenu;
@@ -472,6 +473,10 @@ static PrefParam receive_param[] = {
 };
 
 static PrefParam send_param[] = {
+       {"generate_msgid", "TRUE", &tmp_ac_prefs.gen_msgid, P_BOOL,
+        &send_page.msgid_checkbtn,
+        prefs_set_data_from_toggle, prefs_set_toggle},
+
        {"add_custom_header", "FALSE", &tmp_ac_prefs.add_customhdr, P_BOOL,
         &send_page.customhdr_checkbtn,
         prefs_set_data_from_toggle, prefs_set_toggle},
@@ -1580,6 +1585,7 @@ static void send_create_widget_func(PrefsPage * _page,
        GtkWidget *vbox1;
        GtkWidget *vbox2;
        GtkWidget *frame;
+       GtkWidget *msgid_checkbtn;
        GtkWidget *hbox;
        GtkWidget *customhdr_checkbtn;
        GtkWidget *customhdr_edit_btn;
@@ -1605,6 +1611,8 @@ static void send_create_widget_func(PrefsPage * _page,
 
        vbox2 = gtkut_get_options_frame(vbox1, &frame, _("Header"));
 
+       PACK_CHECK_BUTTON (vbox2, msgid_checkbtn, _("Generate Message-ID"));
+
        hbox = gtk_hbox_new (FALSE, 12);
        gtk_widget_show (hbox);
        gtk_box_pack_start (GTK_BOX (vbox2), hbox, FALSE, FALSE, 0);
@@ -1748,6 +1756,7 @@ static void send_create_widget_func(PrefsPage * _page,
        gtk_widget_show (pop_auth_minutes_lbl);
        gtk_box_pack_start (GTK_BOX (hbox), pop_auth_minutes_lbl, FALSE, FALSE, 0);
        
+       page->msgid_checkbtn     = msgid_checkbtn;
        page->customhdr_checkbtn = customhdr_checkbtn;
 
        page->smtp_auth_checkbtn       = smtp_auth_checkbtn;
@@ -2399,7 +2408,7 @@ static void advanced_create_widget_func(PrefsPage * _page,
        GtkWidget *draft_folder_entry;
        GtkWidget *trash_folder_checkbtn;
        GtkWidget *trash_folder_entry;
-
+       GtkTooltips *tips = gtk_tooltips_new();
 #define PACK_HBOX(hbox) \
        { \
        hbox = gtk_hbox_new (FALSE, 8); \
@@ -2449,11 +2458,23 @@ static void advanced_create_widget_func(PrefsPage * _page,
 
        PACK_HBOX (hbox1);
        PACK_CHECK_BUTTON (hbox1, checkbtn_domain, _("Domain name"));
+       
+       gtk_tooltips_set_tip(GTK_TOOLTIPS(tips), checkbtn_domain,
+                            _("The domain name will be used in the right part of "
+                              "the generated Message-Ids, and when connecting to "
+                              "SMTP servers."),
+                            NULL);
 
        entry_domain = gtk_entry_new ();
        gtk_widget_show (entry_domain);
        gtk_box_pack_start (GTK_BOX (hbox1), entry_domain, TRUE, TRUE, 0);
        SET_TOGGLE_SENSITIVITY (checkbtn_domain, entry_domain);
+       gtk_tooltips_set_tip(GTK_TOOLTIPS(tips), entry_domain,
+                            _("The domain name will be used in the right part of "
+                              "the generated Message-Ids, and when connecting to "
+                              "SMTP servers."),
+                            NULL);
+
 
        
        PACK_HBOX (hbox1);
@@ -3563,6 +3584,15 @@ static void prefs_account_protocol_set_optmenu(PrefParam *pparam)
                        gtk_widget_hide(protocol_optmenu->no_imap_warn_label);
                }
 #endif
+               if (protocol == A_IMAP4) {
+                       if (new_account)
+                               gtk_toggle_button_set_active(
+                                       GTK_TOGGLE_BUTTON(send_page.msgid_checkbtn), 
+                                       TRUE);
+                       gtk_widget_hide(send_page.msgid_checkbtn);
+               } else {
+                       gtk_widget_show(send_page.msgid_checkbtn);
+               }
        }
 }
 
@@ -3710,6 +3740,7 @@ static void prefs_account_protocol_changed(GtkComboBox *combobox, gpointer data)
                gtk_widget_hide(protocol_optmenu->no_imap_warn_icon);
                gtk_widget_hide(protocol_optmenu->no_imap_warn_label);
 #endif
+               gtk_widget_show(send_page.msgid_checkbtn);
                gtk_widget_show(basic_page.nntpserv_label);
                gtk_widget_show(basic_page.nntpserv_entry);
                gtk_table_set_row_spacing (GTK_TABLE (basic_page.serv_table),
@@ -3803,6 +3834,7 @@ static void prefs_account_protocol_changed(GtkComboBox *combobox, gpointer data)
                gtk_widget_hide(receive_page.low_bandwidth_checkbtn);
                break;
        case A_LOCAL:
+               gtk_widget_show(send_page.msgid_checkbtn);
                gtk_widget_hide(protocol_optmenu->no_imap_warn_icon);
                gtk_widget_hide(protocol_optmenu->no_imap_warn_label);
                gtk_widget_hide(basic_page.nntpserv_label);
@@ -3898,6 +3930,11 @@ static void prefs_account_protocol_changed(GtkComboBox *combobox, gpointer data)
                gtk_widget_show(protocol_optmenu->no_imap_warn_icon);
                gtk_widget_show(protocol_optmenu->no_imap_warn_label);
 #endif
+               if (new_account)
+                       gtk_toggle_button_set_active(
+                               GTK_TOGGLE_BUTTON(send_page.msgid_checkbtn), 
+                               TRUE);
+               gtk_widget_hide(send_page.msgid_checkbtn);
                gtk_widget_hide(basic_page.nntpserv_label);
                gtk_widget_hide(basic_page.nntpserv_entry);
                gtk_table_set_row_spacing (GTK_TABLE (basic_page.serv_table),
@@ -3990,6 +4027,7 @@ static void prefs_account_protocol_changed(GtkComboBox *combobox, gpointer data)
                gtk_widget_show(receive_page.low_bandwidth_checkbtn);
                break;
        case A_NONE:
+               gtk_widget_show(send_page.msgid_checkbtn);
                gtk_widget_hide(protocol_optmenu->no_imap_warn_icon);
                gtk_widget_hide(protocol_optmenu->no_imap_warn_label);
                gtk_widget_hide(basic_page.nntpserv_label);
@@ -4080,6 +4118,7 @@ static void prefs_account_protocol_changed(GtkComboBox *combobox, gpointer data)
                break;
        case A_POP3:
        default:
+               gtk_widget_show(send_page.msgid_checkbtn);
                gtk_widget_hide(protocol_optmenu->no_imap_warn_icon);
                gtk_widget_hide(protocol_optmenu->no_imap_warn_label);
                gtk_widget_hide(basic_page.nntpserv_label);
index 3057494943a2c9b8a0e028931162a48843b84cea..1dd3c034947797cc472e14d4439854404bb24235 100644 (file)
@@ -100,6 +100,7 @@ struct _PrefsAccount
        gint imap_auth_type;
 
        /* Send */
+       gboolean gen_msgid;
        gboolean add_customhdr;
        gboolean use_smtp_auth;
        SMTPAuthType smtp_auth_type;