From c43e77c199953bf41bdd543910f3625f80721411 Mon Sep 17 00:00:00 2001 From: Fabian Keil Date: Tue, 5 Apr 2011 18:13:24 +0200 Subject: [PATCH] Make setting the X-Mailer header an account option. Enabled by default. --- src/account.c | 1 + src/compose.c | 3 ++- src/prefs_account.c | 22 ++++++++++++++++++++++ src/prefs_account.h | 1 + 4 files changed, 26 insertions(+), 1 deletions(-) diff --git a/src/account.c b/src/account.c index 6add835..ef9f0c6 100644 --- a/src/account.c +++ b/src/account.c @@ -937,6 +937,7 @@ static void account_clone(GtkWidget *widget, gpointer data) /* send */ ACP_FASSIGN(gen_msgid); + ACP_FASSIGN(gen_xmailer); ACP_FASSIGN(add_customhdr); ACP_FASSIGN(use_smtp_auth); ACP_FASSIGN(smtp_auth_type); diff --git a/src/compose.c b/src/compose.c index 0870ee9..1292c88 100644 --- a/src/compose.c +++ b/src/compose.c @@ -6197,7 +6197,8 @@ static gchar *compose_get_header(Compose *compose) } /* Program version and system info */ - if (g_slist_length(compose->to_list) && !IS_IN_CUSTOM_HEADER("X-Mailer") && + if (compose->account->gen_xmailer && + g_slist_length(compose->to_list) && !IS_IN_CUSTOM_HEADER("X-Mailer") && !compose->newsgroup_list) { g_string_append_printf(header, "X-Mailer: %s (GTK+ %d.%d.%d; %s)\n", prog_version, diff --git a/src/prefs_account.c b/src/prefs_account.c index db7ff30..841733e 100644 --- a/src/prefs_account.c +++ b/src/prefs_account.c @@ -163,6 +163,7 @@ typedef struct SendPage GtkWidget *vbox; GtkWidget *msgid_checkbtn; + GtkWidget *xmailer_checkbtn; GtkWidget *customhdr_checkbtn; GtkWidget *smtp_auth_checkbtn; GtkWidget *smtp_auth_type_optmenu; @@ -504,6 +505,10 @@ static PrefParam send_param[] = { &send_page.msgid_checkbtn, prefs_set_data_from_toggle, prefs_set_toggle}, + {"generate_xmailer", "TRUE", &tmp_ac_prefs.gen_xmailer, P_BOOL, + &send_page.xmailer_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}, @@ -1652,6 +1657,7 @@ static void send_create_widget_func(PrefsPage * _page, GtkWidget *vbox2; GtkWidget *frame; GtkWidget *msgid_checkbtn; + GtkWidget *xmailer_checkbtn; GtkWidget *hbox; GtkWidget *customhdr_checkbtn; GtkWidget *customhdr_edit_btn; @@ -1679,6 +1685,8 @@ static void send_create_widget_func(PrefsPage * _page, PACK_CHECK_BUTTON (vbox2, msgid_checkbtn, _("Generate Message-ID")); + PACK_CHECK_BUTTON (vbox2, xmailer_checkbtn, _("Generate X-Mailer")); + hbox = gtk_hbox_new (FALSE, 12); gtk_widget_show (hbox); gtk_box_pack_start (GTK_BOX (vbox2), hbox, FALSE, FALSE, 0); @@ -1827,6 +1835,7 @@ static void send_create_widget_func(PrefsPage * _page, gtk_box_pack_start (GTK_BOX (hbox), pop_auth_minutes_lbl, FALSE, FALSE, 0); page->msgid_checkbtn = msgid_checkbtn; + page->xmailer_checkbtn = xmailer_checkbtn; page->customhdr_checkbtn = customhdr_checkbtn; page->smtp_auth_checkbtn = smtp_auth_checkbtn; @@ -3903,8 +3912,12 @@ static void prefs_account_protocol_set_optmenu(PrefParam *pparam) GTK_TOGGLE_BUTTON(send_page.msgid_checkbtn), TRUE); gtk_widget_hide(send_page.msgid_checkbtn); + /* XXX: unsure what this is for */ + gtk_widget_hide(send_page.xmailer_checkbtn); } else { gtk_widget_show(send_page.msgid_checkbtn); + /* XXX: unsure what this is for */ + gtk_widget_show(send_page.xmailer_checkbtn); } } } @@ -4054,6 +4067,7 @@ static void prefs_account_protocol_changed(GtkComboBox *combobox, gpointer data) gtk_widget_hide(protocol_optmenu->no_imap_warn_label); #endif gtk_widget_show(send_page.msgid_checkbtn); + gtk_widget_show(send_page.xmailer_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), @@ -4151,6 +4165,7 @@ static void prefs_account_protocol_changed(GtkComboBox *combobox, gpointer data) break; case A_LOCAL: gtk_widget_show(send_page.msgid_checkbtn); + gtk_widget_show(send_page.xmailer_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); @@ -4254,6 +4269,11 @@ static void prefs_account_protocol_changed(GtkComboBox *combobox, gpointer data) GTK_TOGGLE_BUTTON(send_page.msgid_checkbtn), TRUE); gtk_widget_hide(send_page.msgid_checkbtn); + if (new_account) + gtk_toggle_button_set_active( + GTK_TOGGLE_BUTTON(send_page.xmailer_checkbtn), + TRUE); + gtk_widget_hide(send_page.xmailer_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), @@ -4350,6 +4370,7 @@ static void prefs_account_protocol_changed(GtkComboBox *combobox, gpointer data) break; case A_NONE: gtk_widget_show(send_page.msgid_checkbtn); + gtk_widget_show(send_page.xmailer_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); @@ -4444,6 +4465,7 @@ static void prefs_account_protocol_changed(GtkComboBox *combobox, gpointer data) case A_POP3: default: gtk_widget_show(send_page.msgid_checkbtn); + gtk_widget_show(send_page.xmailer_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); diff --git a/src/prefs_account.h b/src/prefs_account.h index c169668..1a8b094 100644 --- a/src/prefs_account.h +++ b/src/prefs_account.h @@ -106,6 +106,7 @@ struct _PrefsAccount /* Send */ gboolean gen_msgid; + gboolean gen_xmailer; gboolean add_customhdr; gboolean use_smtp_auth; SMTPAuthType smtp_auth_type; -- 1.7.4.1