#include "menu.h"
#include "addressbook.h"
#include "combobox.h"
+#include "libspamc.h"
+
+#define SA_MAX_SIZE_KB (SPAMC_MAX_MESSAGE_LEN / 1024)
struct SpamAssassinPage
{
GtkWidget *save_folder_select;
GtkWidget *max_size;
GtkWidget *timeout;
+ GtkWidget *compress;
GtkWidget *mark_as_read;
GtkWidget *whitelist_ab;
GtkWidget *whitelist_ab_folder_combo;
};
struct Transport transports[] = {
- /*{ N_("Disabled"), SPAMASSASSIN_DISABLED, PAGE_DISABLED, 0 },*/
- { N_("Localhost"), SPAMASSASSIN_TRANSPORT_LOCALHOST, PAGE_NETWORK, 0 },
- { N_("TCP"), SPAMASSASSIN_TRANSPORT_TCP, PAGE_NETWORK, NETWORK_HOSTNAME },
-#ifndef _WIN32
- { N_("Unix Socket"), SPAMASSASSIN_TRANSPORT_UNIX, PAGE_UNIX, 0 },
+ /*{ N_("Disabled"), SPAMASSASSIN_DISABLED, PAGE_DISABLED, 0 },*/
+ { N_("Localhost"), SPAMASSASSIN_TRANSPORT_LOCALHOST, PAGE_NETWORK, 0 },
+ { N_("TCP"), SPAMASSASSIN_TRANSPORT_TCP, PAGE_NETWORK, NETWORK_HOSTNAME },
+#ifndef G_OS_WIN32
+ { N_("Unix Socket"), SPAMASSASSIN_TRANSPORT_UNIX, PAGE_UNIX, 0 },
#endif
};
GtkWidget *vbox1, *vbox2;
GtkWidget *frame_transport, *table_transport, *vbox_transport;
- GtkWidget *hbox_spamd, *hbox_max_size, *hbox_timeout;
- GtkWidget *hbox_process_emails, *hbox_save_spam;
+ GtkWidget *hbox_spamd, *hbox_compress, *hbox_max_size;
+ GtkWidget *hbox_timeout, *hbox_process_emails, *hbox_save_spam;
GtkWidget *hbox_mark_as_read, *hbox_whitelist;
GtkWidget *whitelist_ab_checkbtn;
GtkWidget *whitelist_ab_folder_combo;
GtkWidget *spamd_port_spinbtn;
GtkWidget *spamd_socket_entry;
+ GtkWidget *compress_checkbtn;
+
GtkWidget *max_size_label;
GtkAdjustment *max_size_spinbtn_adj;
GtkWidget *max_size_spinbtn;
gtk_box_pack_start(GTK_BOX(hbox_spamd), spamd_socket_entry, TRUE, TRUE, 0);
CLAWS_SET_TIP(spamd_socket_entry, _("Path of Unix socket"));
+ hbox_compress = gtk_hbox_new(FALSE, 8);
+ gtk_widget_show(hbox_compress);
+ gtk_box_pack_start (GTK_BOX (vbox2), hbox_compress, TRUE, TRUE, 0);
+
+ compress_checkbtn = gtk_check_button_new_with_label(
+ _("Use compression"));
+ gtk_widget_show(compress_checkbtn);
+ gtk_box_pack_start(GTK_BOX(hbox_compress), compress_checkbtn, TRUE, TRUE, 0);
+ CLAWS_SET_TIP(compress_checkbtn,
+ _("Enable compression if spamd uses it, otherwise disable it."));
+
hbox_max_size = gtk_hbox_new(FALSE, 8);
gtk_widget_show(hbox_max_size);
gtk_box_pack_start (GTK_BOX (vbox2), hbox_max_size, TRUE, TRUE, 0);
gtk_widget_show(max_size_label);
gtk_box_pack_start(GTK_BOX(hbox_max_size), max_size_label, FALSE, FALSE, 0);
- max_size_spinbtn_adj = GTK_ADJUSTMENT(gtk_adjustment_new(250, 0, 10000, 10, 10, 0));
+ max_size_spinbtn_adj = GTK_ADJUSTMENT(gtk_adjustment_new(250, 0, SA_MAX_SIZE_KB, 10, 10, 0));
max_size_spinbtn = gtk_spin_button_new(GTK_ADJUSTMENT(max_size_spinbtn_adj), 1, 0);
gtk_widget_show(max_size_spinbtn);
gtk_box_pack_start(GTK_BOX(hbox_max_size), max_size_spinbtn, FALSE, FALSE, 0);
_("Click this button to select a book or folder in the address book"));
SET_TOGGLE_SENSITIVITY(enable_sa_checkbtn, frame_transport);
+ SET_TOGGLE_SENSITIVITY(enable_sa_checkbtn, hbox_compress);
SET_TOGGLE_SENSITIVITY(enable_sa_checkbtn, hbox_max_size);
SET_TOGGLE_SENSITIVITY(enable_sa_checkbtn, hbox_timeout);
SET_TOGGLE_SENSITIVITY(enable_sa_checkbtn, hbox_save_spam);
SET_TOGGLE_SENSITIVITY(save_spam_checkbtn, save_spam_folder_entry);
SET_TOGGLE_SENSITIVITY(save_spam_checkbtn, save_spam_folder_select);
SET_TOGGLE_SENSITIVITY(enable_sa_checkbtn, hbox_process_emails);
- SET_TOGGLE_SENSITIVITY(save_spam_checkbtn, mark_as_read_checkbtn);
+ SET_TOGGLE_SENSITIVITY(enable_sa_checkbtn, mark_as_read_checkbtn);
+ SET_TOGGLE_SENSITIVITY(enable_sa_checkbtn, hbox_whitelist);
SET_TOGGLE_SENSITIVITY(whitelist_ab_checkbtn, whitelist_ab_folder_combo);
#ifndef USE_ALT_ADDRBOOK
SET_TOGGLE_SENSITIVITY(whitelist_ab_checkbtn, whitelist_ab_select_btn);
config->whitelist_ab_folder);
}
gtk_spin_button_set_value(GTK_SPIN_BUTTON(spamd_port_spinbtn), (float) config->port);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(compress_checkbtn), config->compress);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(max_size_spinbtn), (float) config->max_size);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(timeout_spinbtn), (float) config->timeout);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(process_emails_checkbtn), config->process_emails);
page->colon = spamd_colon_label;
page->port = spamd_port_spinbtn;
page->socket = spamd_socket_entry;
+ page->compress = compress_checkbtn;
page->max_size = max_size_spinbtn;
page->timeout = timeout_spinbtn;
page->process_emails = process_emails_checkbtn;
page->whitelist_ab = whitelist_ab_checkbtn;
page->whitelist_ab_folder_combo = whitelist_ab_folder_combo;
-#ifdef _WIN32
- /* no Unix socket in Windows, and in case our config comes from Unix, switch to TCP */
- if (config->transport == SPAMASSASSIN_TRANSPORT_UNIX)
- config->transport = SPAMASSASSIN_TRANSPORT_TCP;
-#endif
active = 0;
for (i = 0; i < (sizeof(transports) / sizeof(struct Transport)); i++) {
/* timeout */
config->timeout = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(page->timeout));
+ /* compress */
+ config->compress = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(page->compress));
+
/* mark_as_read */
config->mark_as_read = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(page->mark_as_read));