/*
* Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2009 Hiroyuki Yamamoto and the Claws Mail team
+ * Copyright (C) 1999-2011 Hiroyuki Yamamoto and the Claws Mail team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
+#if !GTK_CHECK_VERSION(3, 0, 0)
#include "gtkcmoptionmenu.h"
+#endif
#include "main.h"
#include "prefs_gtk.h"
#include "prefs_account.h"
GtkWidget *imapdir_entry;
GtkWidget *subsonly_checkbtn;
GtkWidget *low_bandwidth_checkbtn;
- GtkWidget *imap_use_trash_checkbtn;
GtkWidget *frame_maxarticle;
GtkWidget *maxarticle_label;
GtkWidget *maxarticle_spinbtn;
- GtkObject *maxarticle_spinbtn_adj;
+ GtkAdjustment *maxarticle_spinbtn_adj;
} ReceivePage;
typedef struct SendPage
GtkWidget *vbox;
GtkWidget *msgid_checkbtn;
+ GtkWidget *xmailer_checkbtn;
GtkWidget *customhdr_checkbtn;
+ GtkWidget *msgid_with_addr_checkbtn;
GtkWidget *smtp_auth_checkbtn;
GtkWidget *smtp_auth_type_optmenu;
GtkWidget *smtp_uid_entry;
GtkWidget *nntpport_spinbtn;
GtkWidget *domain_checkbtn;
GtkWidget *domain_entry;
- GtkWidget *msgid_with_addr_checkbtn;
+#if !GTK_CHECK_VERSION(3, 0, 0)
GtkWidget *crosspost_checkbtn;
GtkWidget *crosspost_colormenu;
+#endif
#ifndef G_OS_WIN32
GtkWidget *tunnelcmd_checkbtn;
GtkWidget *draft_folder_entry;
GtkWidget *trash_folder_checkbtn;
GtkWidget *trash_folder_entry;
+ GtkWidget *imap_use_trash_checkbtn;
} AdvancedPage;
static BasicPage basic_page;
static void prefs_account_enum_set_data_from_radiobtn (PrefParam *pparam);
static void prefs_account_enum_set_radiobtn (PrefParam *pparam);
+#if !GTK_CHECK_VERSION(3, 0, 0)
static void crosspost_color_toggled(void);
static void prefs_account_crosspost_set_data_from_colormenu(PrefParam *pparam);
static void prefs_account_crosspost_set_colormenu(PrefParam *pparam);
+#endif
static void prefs_account_nntpauth_toggled(GtkToggleButton *button,
gpointer user_data);
&receive_page.low_bandwidth_checkbtn,
prefs_set_data_from_toggle, prefs_set_toggle},
- {"imap_use_trash", "TRUE", &tmp_ac_prefs.imap_use_trash, P_BOOL,
- &receive_page.imap_use_trash_checkbtn,
- prefs_set_data_from_toggle, prefs_set_toggle},
-
{NULL, NULL, NULL, P_OTHER, NULL, NULL, NULL}
};
&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},
- {"use_smtp_auth", "FALSE", &tmp_ac_prefs.use_smtp_auth, P_BOOL,
+ {"msgid_with_addr", "FALSE", &tmp_ac_prefs.msgid_with_addr, P_BOOL,
+ &send_page.msgid_with_addr_checkbtn,
+ prefs_set_data_from_toggle, prefs_set_toggle},
+
+ {"use_smtp_auth", "FALSE", &tmp_ac_prefs.use_smtp_auth, P_BOOL,
&send_page.smtp_auth_checkbtn,
prefs_set_data_from_toggle, prefs_set_toggle},
{"default_sign", "FALSE", &tmp_ac_prefs.default_sign, P_BOOL,
&privacy_page.default_sign_checkbtn,
prefs_set_data_from_toggle, prefs_set_toggle},
-
+#ifdef G_OS_UNIX
{"default_sign_reply", "TRUE", &tmp_ac_prefs.default_sign_reply, P_BOOL,
&privacy_page.default_sign_reply_checkbtn,
prefs_set_data_from_toggle, prefs_set_toggle},
-
+#else
+ /* Bug 2367: disturbing for Win32 users with no keypair */
+ {"default_sign_reply", "FALSE", &tmp_ac_prefs.default_sign_reply, P_BOOL,
+ &privacy_page.default_sign_reply_checkbtn,
+ prefs_set_data_from_toggle, prefs_set_toggle},
+#endif
{"save_clear_text", "FALSE", &tmp_ac_prefs.save_encrypted_as_clear_text, P_BOOL,
&privacy_page.save_clear_text_checkbtn,
prefs_set_data_from_toggle, prefs_set_toggle},
&advanced_page.domain_entry,
prefs_set_data_from_entry, prefs_set_entry},
- {"msgid_with_addr", "FALSE", &tmp_ac_prefs.msgid_with_addr, P_BOOL,
- &advanced_page.msgid_with_addr_checkbtn,
- prefs_set_data_from_toggle, prefs_set_toggle},
#ifndef G_OS_WIN32
{"set_tunnelcmd", "FALSE", &tmp_ac_prefs.set_tunnelcmd, P_BOOL,
&advanced_page.tunnelcmd_checkbtn,
&advanced_page.tunnelcmd_entry,
prefs_set_data_from_entry, prefs_set_entry},
#endif
+#if !GTK_CHECK_VERSION(3, 0, 0)
{"mark_crosspost_read", "FALSE", &tmp_ac_prefs.mark_crosspost_read, P_BOOL,
&advanced_page.crosspost_checkbtn,
prefs_set_data_from_toggle, prefs_set_toggle},
&advanced_page.crosspost_colormenu,
prefs_account_crosspost_set_data_from_colormenu,
prefs_account_crosspost_set_colormenu},
+#endif
{"set_sent_folder", "FALSE", &tmp_ac_prefs.set_sent_folder, P_BOOL,
&advanced_page.sent_folder_checkbtn,
{"trash_folder", NULL, &tmp_ac_prefs.trash_folder, P_STRING,
&advanced_page.trash_folder_entry,
prefs_set_data_from_entry, prefs_set_entry},
+
+ {"imap_use_trash", "TRUE", &tmp_ac_prefs.imap_use_trash, P_BOOL,
+ &advanced_page.imap_use_trash_checkbtn,
+ prefs_set_data_from_toggle, prefs_set_toggle},
+
{NULL, NULL, NULL, P_OTHER, NULL, NULL, NULL}
};
GtkWidget *imapdir_entry;
GtkWidget *subsonly_checkbtn;
GtkWidget *low_bandwidth_checkbtn;
- GtkWidget *imap_use_trash_checkbtn;
GtkWidget *local_frame;
GtkWidget *local_vbox;
GtkWidget *local_hbox;
GtkWidget *frame2;
GtkWidget *maxarticle_label;
GtkWidget *maxarticle_spinbtn;
- GtkObject *maxarticle_spinbtn_adj;
+ GtkAdjustment *maxarticle_spinbtn_adj;
CLAWS_TIP_DECL();
vbox1 = gtk_vbox_new (FALSE, VSPACING);
gtk_widget_show (hbox1);
gtk_box_pack_start (GTK_BOX (vbox2), hbox1, FALSE, FALSE, 4);
- PACK_CHECK_BUTTON (hbox1, imap_use_trash_checkbtn,
- _("Move deleted mails to trash and expunge immediately"));
- CLAWS_SET_TIP(imap_use_trash_checkbtn,
- _("Moves deleted mails to trash instead of using the \\Deleted flag without expunging."));
-
PACK_CHECK_BUTTON (vbox1, filter_on_recv_checkbtn,
_("Filter messages on receiving"));
page->imapdir_entry = imapdir_entry;
page->subsonly_checkbtn = subsonly_checkbtn;
page->low_bandwidth_checkbtn = low_bandwidth_checkbtn;
- page->imap_use_trash_checkbtn = imap_use_trash_checkbtn;
page->local_frame = local_frame;
page->local_inbox_label = local_inbox_label;
page->local_inbox_entry = local_inbox_entry;
GtkWidget *vbox2;
GtkWidget *frame;
GtkWidget *msgid_checkbtn;
+ GtkWidget *xmailer_checkbtn;
GtkWidget *hbox;
GtkWidget *customhdr_checkbtn;
GtkWidget *customhdr_edit_btn;
+ GtkWidget *checkbtn_msgid_with_addr;
GtkWidget *vbox3;
GtkWidget *smtp_auth_checkbtn;
GtkWidget *optmenu;
PACK_CHECK_BUTTON (vbox2, msgid_checkbtn, _("Generate Message-ID"));
+ PACK_CHECK_BUTTON (vbox2, checkbtn_msgid_with_addr,
+ _("Send account mail address in Message-ID"));
+
+ PACK_CHECK_BUTTON (vbox2, xmailer_checkbtn,
+ _("Generate X-Mailer header"));
+
hbox = gtk_hbox_new (FALSE, 12);
gtk_widget_show (hbox);
gtk_box_pack_start (GTK_BOX (vbox2), hbox, FALSE, FALSE, 0);
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->msgid_with_addr_checkbtn = checkbtn_msgid_with_addr;
page->smtp_auth_checkbtn = smtp_auth_checkbtn;
page->smtp_auth_type_optmenu = optmenu;
NULL,
&page->compose_subject_format,
&page->compose_body_format,
- FALSE, NULL);
+ TRUE, NULL);
gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox2, gtk_label_new(_("Compose")));
/* reply format */
NULL,
&page->reply_quotemark,
&page->reply_body_format,
- FALSE, NULL);
+ TRUE, NULL);
gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox2, gtk_label_new(_("Reply")));
/* forward format */
NULL,
&page->forward_quotemark,
&page->forward_body_format,
- FALSE, NULL);
+ TRUE, NULL);
gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox2, gtk_label_new(_("Forward")));
- quotefmt_add_info_button(window, vbox);
-
tmp_ac_prefs = *ac_prefs;
if (new_account) {
GtkWidget *checkbtn_domain;
GtkWidget *entry_domain;
gchar *tip_domain;
- GtkWidget *checkbtn_msgid_with_addr;
+#if !GTK_CHECK_VERSION(3, 0, 0)
GtkWidget *checkbtn_crosspost;
GtkWidget *colormenu_crosspost;
GtkWidget *menu;
+#endif
#ifndef G_OS_WIN32
GtkWidget *checkbtn_tunnelcmd;
GtkWidget *entry_tunnelcmd;
GtkWidget *draft_folder_entry;
GtkWidget *trash_folder_checkbtn;
GtkWidget *trash_folder_entry;
+ GtkWidget *imap_use_trash_checkbtn;
+
CLAWS_TIP_DECL();
GtkSizeGroup *size_group = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
#define PACK_HBOX(hbox) \
gtk_box_pack_start (GTK_BOX (hbox1), entry_domain, TRUE, TRUE, 0);
SET_TOGGLE_SENSITIVITY (checkbtn_domain, entry_domain);
CLAWS_SET_TIP(entry_domain, tip_domain);
- PACK_HBOX (hbox1);
- PACK_CHECK_BUTTON (hbox1, checkbtn_msgid_with_addr,
- _("Send account mail address in Message-ID"));
#ifndef G_OS_WIN32
PACK_HBOX (hbox1);
SET_TOGGLE_SENSITIVITY (checkbtn_tunnelcmd, entry_tunnelcmd);
#endif
PACK_HBOX (hbox1);
+ PACK_CHECK_BUTTON (hbox1, imap_use_trash_checkbtn,
+ _("Move deleted mails to trash and expunge immediately"));
+ CLAWS_SET_TIP(imap_use_trash_checkbtn,
+ _("Moves deleted mails to trash instead of using the \\Deleted flag without expunging."));
+
+#if !GTK_CHECK_VERSION(3, 0, 0)
PACK_CHECK_BUTTON (hbox1, checkbtn_crosspost,
_("Mark cross-posted messages as read and color:"));
g_signal_connect (G_OBJECT (checkbtn_crosspost), "toggled",
menu = colorlabel_create_color_menu();
gtk_cmoption_menu_set_menu (GTK_CMOPTION_MENU(colormenu_crosspost), menu);
SET_TOGGLE_SENSITIVITY(checkbtn_crosspost, colormenu_crosspost);
+#endif
PACK_HBOX (hbox1);
#undef PACK_HBOX
page->nntpport_spinbtn = spinbtn_nntpport;
page->domain_checkbtn = checkbtn_domain;
page->domain_entry = entry_domain;
- page->msgid_with_addr_checkbtn = checkbtn_msgid_with_addr;
+#if !GTK_CHECK_VERSION(3, 0, 0)
page->crosspost_checkbtn = checkbtn_crosspost;
page->crosspost_colormenu = colormenu_crosspost;
+#endif
#ifndef G_OS_WIN32
page->tunnelcmd_checkbtn = checkbtn_tunnelcmd;
page->draft_folder_entry = draft_folder_entry;
page->trash_folder_checkbtn = trash_folder_checkbtn;
page->trash_folder_entry = trash_folder_entry;
+ page->imap_use_trash_checkbtn = imap_use_trash_checkbtn;
tmp_ac_prefs = *ac_prefs;
if (protocol == A_IMAP4 || protocol == A_NNTP)
old_id = g_strdup_printf("#%s/%s",
- protocol == A_IMAP4 ? "imap":"nntp",
+ protocol == A_IMAP4 ? "imap":"news",
tmp_ac_prefs.account_name ? tmp_ac_prefs.account_name : "(null)");
prefs_set_data_from_dialog(basic_param);
if (protocol == A_IMAP4 || protocol == A_NNTP) {
new_id = g_strdup_printf("#%s/%s",
- protocol == A_IMAP4 ? "imap":"nntp",
+ protocol == A_IMAP4 ? "imap":"news",
tmp_ac_prefs.account_name);
if (old_id != NULL && new_id != NULL)
prefs_filtering_rename_path(old_id, new_id);
return ac_prefs;
}
+#if !GTK_CHECK_VERSION(3, 0, 0)
static void crosspost_color_toggled(void)
{
gboolean is_active;
GtkWidget *menu;
GtkWidget *menuitem;
- gtk_cmoption_menu_set_history(colormenu, colorlabel);
+ gtk_cmoption_menu_set_history(colormenu, colorlabel + 1);
menu = gtk_cmoption_menu_get_menu(colormenu);
menuitem = gtk_menu_get_active(GTK_MENU(menu));
gtk_menu_item_activate(GTK_MENU_ITEM(menuitem));
}
+#endif
static void pop_bfr_smtp_tm_set_sens(GtkWidget *widget, gpointer data)
{
GTK_TOGGLE_BUTTON(send_page.msgid_checkbtn),
TRUE);
gtk_widget_hide(send_page.msgid_checkbtn);
- } else {
+ } else
gtk_widget_show(send_page.msgid_checkbtn);
- }
+
+ gtk_widget_show(send_page.xmailer_checkbtn);
}
}
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),
gtk_widget_hide(advanced_page.popport_hbox);
gtk_widget_hide(advanced_page.imapport_hbox);
gtk_widget_show(advanced_page.nntpport_hbox);
+#if !GTK_CHECK_VERSION(3, 0, 0)
gtk_widget_show(advanced_page.crosspost_checkbtn);
gtk_widget_show(advanced_page.crosspost_colormenu);
+#endif
#ifndef G_OS_WIN32
gtk_widget_hide(advanced_page.tunnelcmd_checkbtn);
gtk_widget_hide(advanced_page.tunnelcmd_entry);
#endif
+ gtk_widget_hide(advanced_page.imap_use_trash_checkbtn);
gtk_widget_hide(receive_page.imapdir_label);
gtk_widget_hide(receive_page.imapdir_entry);
gtk_widget_hide(receive_page.subsonly_checkbtn);
gtk_widget_hide(receive_page.low_bandwidth_checkbtn);
- gtk_widget_hide(receive_page.imap_use_trash_checkbtn);
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);
gtk_widget_hide(advanced_page.popport_hbox);
gtk_widget_hide(advanced_page.imapport_hbox);
gtk_widget_hide(advanced_page.nntpport_hbox);
+#if !GTK_CHECK_VERSION(3, 0, 0)
gtk_widget_hide(advanced_page.crosspost_checkbtn);
gtk_widget_hide(advanced_page.crosspost_colormenu);
+#endif
#ifndef G_OS_WIN32
gtk_widget_hide(advanced_page.tunnelcmd_checkbtn);
gtk_widget_hide(advanced_page.tunnelcmd_entry);
#endif
+ gtk_widget_hide(advanced_page.imap_use_trash_checkbtn);
gtk_widget_hide(receive_page.imapdir_label);
gtk_widget_hide(receive_page.imapdir_entry);
gtk_widget_hide(receive_page.subsonly_checkbtn);
gtk_widget_hide(receive_page.low_bandwidth_checkbtn);
- gtk_widget_hide(receive_page.imap_use_trash_checkbtn);
break;
case A_IMAP4:
#ifndef HAVE_LIBETPAN
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),
gtk_widget_hide(advanced_page.popport_hbox);
gtk_widget_show(advanced_page.imapport_hbox);
gtk_widget_hide(advanced_page.nntpport_hbox);
+#if !GTK_CHECK_VERSION(3, 0, 0)
gtk_widget_hide(advanced_page.crosspost_checkbtn);
gtk_widget_hide(advanced_page.crosspost_colormenu);
+#endif
#ifndef G_OS_WIN32
gtk_widget_show(advanced_page.tunnelcmd_checkbtn);
gtk_widget_show(advanced_page.tunnelcmd_entry);
#endif
+ gtk_widget_show(advanced_page.imap_use_trash_checkbtn);
gtk_widget_show(receive_page.imapdir_label);
gtk_widget_show(receive_page.imapdir_entry);
gtk_widget_show(receive_page.subsonly_checkbtn);
gtk_widget_show(receive_page.low_bandwidth_checkbtn);
- gtk_widget_show(receive_page.imap_use_trash_checkbtn);
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);
gtk_widget_hide(advanced_page.popport_hbox);
gtk_widget_hide(advanced_page.imapport_hbox);
gtk_widget_hide(advanced_page.nntpport_hbox);
+#if !GTK_CHECK_VERSION(3, 0, 0)
gtk_widget_hide(advanced_page.crosspost_checkbtn);
gtk_widget_hide(advanced_page.crosspost_colormenu);
+#endif
#ifndef G_OS_WIN32
gtk_widget_hide(advanced_page.tunnelcmd_checkbtn);
gtk_widget_hide(advanced_page.tunnelcmd_entry);
#endif
+ gtk_widget_hide(advanced_page.imap_use_trash_checkbtn);
gtk_widget_hide(receive_page.imapdir_label);
gtk_widget_hide(receive_page.imapdir_entry);
gtk_widget_hide(receive_page.subsonly_checkbtn);
gtk_widget_hide(receive_page.low_bandwidth_checkbtn);
- gtk_widget_hide(receive_page.imap_use_trash_checkbtn);
break;
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);
gtk_widget_show(advanced_page.popport_hbox);
gtk_widget_hide(advanced_page.imapport_hbox);
gtk_widget_hide(advanced_page.nntpport_hbox);
+#if !GTK_CHECK_VERSION(3, 0, 0)
gtk_widget_hide(advanced_page.crosspost_checkbtn);
gtk_widget_hide(advanced_page.crosspost_colormenu);
+#endif
#ifndef G_OS_WIN32
gtk_widget_hide(advanced_page.tunnelcmd_checkbtn);
gtk_widget_hide(advanced_page.tunnelcmd_entry);
#endif
+ gtk_widget_hide(advanced_page.imap_use_trash_checkbtn);
gtk_widget_hide(receive_page.imapdir_label);
gtk_widget_hide(receive_page.imapdir_entry);
gtk_widget_hide(receive_page.subsonly_checkbtn);
gtk_widget_hide(receive_page.low_bandwidth_checkbtn);
- gtk_widget_hide(receive_page.imap_use_trash_checkbtn);
break;
}