/*
* Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2007 Hiroyuki Yamamoto and the Claws Mail team
+ * Copyright (C) 1999-2009 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
static GtkWidget *signature_browse_button;
static GtkWidget *signature_edit_button;
-#if (defined(USE_OPENSSL) || defined (USE_GNUTLS))
+#ifdef USE_GNUTLS
static GtkWidget *entry_in_cert_file;
static GtkWidget *entry_out_cert_file;
static GtkWidget *in_ssl_cert_browse_button;
GtkWidget *imapdir_entry;
GtkWidget *subsonly_checkbtn;
GtkWidget *low_bandwidth_checkbtn;
+ GtkWidget *imap_use_trash_checkbtn;
GtkWidget *frame_maxarticle;
GtkWidget *maxarticle_label;
static ComposePage compose_page;
static TemplatesPage templates_page;
static PrivacyPage privacy_page;
-#if (defined(USE_OPENSSL) || defined (USE_GNUTLS))
+#ifdef USE_GNUTLS
static SSLPage ssl_page;
#endif
static AdvancedPage advanced_page;
&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}
};
};
static PrefParam ssl_param[] = {
-#if (defined(USE_OPENSSL) || defined (USE_GNUTLS))
+#ifdef USE_GNUTLS
{"ssl_pop", "0", &tmp_ac_prefs.ssl_pop, P_ENUM,
&ssl_page.pop_nossl_radiobtn,
prefs_account_enum_set_data_from_radiobtn,
{"use_nonblocking_ssl", "1", &tmp_ac_prefs.use_nonblocking_ssl, P_BOOL,
NULL, NULL, NULL},
-#endif /* USE_OPENSSL */
+#endif /* USE_GNUTLS */
{NULL, NULL, NULL, P_OTHER, NULL, NULL, NULL}
};
static void prefs_account_signature_browse_cb (GtkWidget *widget,
gpointer data);
-#if (defined(USE_OPENSSL) || defined (USE_GNUTLS))
+#ifdef USE_GNUTLS
static void prefs_account_in_cert_browse_cb (GtkWidget *widget,
gpointer data);
GtkWidget *imapdir_entry;
GtkWidget *subsonly_checkbtn;
GtkWidget *low_bandwidth_checkbtn;
+ GtkWidget *imap_use_trash_checkbtn;
GtkWidget *local_frame;
GtkWidget *local_vbox;
GtkWidget *local_hbox;
gtk_box_pack_start (GTK_BOX (hbox2), maxarticle_label, FALSE, FALSE, 0);
maxarticle_spinbtn_adj =
- gtk_adjustment_new (300, 0, 10000, 10, 100, 100);
+ gtk_adjustment_new (300, 0, 10000, 10, 100, 0);
maxarticle_spinbtn = gtk_spin_button_new
(GTK_ADJUSTMENT (maxarticle_spinbtn_adj), 10, 0);
gtk_widget_show (maxarticle_spinbtn);
CLAWS_SET_TIP(low_bandwidth_checkbtn,
_("This mode uses less bandwidth, but can be slower with some servers."));
+ hbox1 = gtk_hbox_new (FALSE, 8);
+ 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->imap_auth_type_optmenu = optmenu;
page->imapdir_label = imapdir_label;
- page->imapdir_entry = imapdir_entry;
+ page->imapdir_entry = imapdir_entry;
page->subsonly_checkbtn = subsonly_checkbtn;
- page->low_bandwidth_checkbtn = low_bandwidth_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;
page->page.widget = vbox1;
}
-#if (defined(USE_OPENSSL) || defined (USE_GNUTLS))
+#ifdef USE_GNUTLS
#define CREATE_RADIO_BUTTON(box, btn, btn_p, label, data) \
{ \
#undef CREATE_RADIO_BUTTONS
#undef CREATE_RADIO_BUTTON
-#endif /* USE_OPENSSL */
+#endif /* USE_GNUTLS */
static void advanced_create_widget_func(PrefsPage * _page,
GtkWindow * window,
return 0;
}
-#if (defined(USE_OPENSSL) || defined (USE_GNUTLS))
+#ifdef USE_GNUTLS
static gint prefs_ssl_apply(void)
{
prefs_set_data_from_dialog(ssl_param);
/* PrivacyPage *page = (PrivacyPage *) _page; */
}
-#if (defined(USE_OPENSSL) || defined (USE_GNUTLS))
+#ifdef USE_GNUTLS
static void ssl_destroy_widget_func(PrefsPage *_page)
{
/* SSLPage *page = (SSLPage *) _page; */
return prefs_privacy_apply() >= 0;
}
-#if (defined(USE_OPENSSL) || defined (USE_GNUTLS))
+#ifdef USE_GNUTLS
static gboolean ssl_can_close_func(PrefsPage *_page)
{
SSLPage *page = (SSLPage *) _page;
cancelled = FALSE;
}
-#if (defined(USE_OPENSSL) || defined (USE_GNUTLS))
+#ifdef USE_GNUTLS
static void ssl_save_func(PrefsPage *_page)
{
SSLPage *page = (SSLPage *) _page;
prefs_account_register_page((PrefsPage *) &privacy_page);
}
-#if (defined(USE_OPENSSL) || defined (USE_GNUTLS))
+#ifdef USE_GNUTLS
static void register_ssl_page(void)
{
static gchar *path[3];
register_compose_page();
register_templates_page();
register_privacy_page();
-#if (defined(USE_OPENSSL) || defined (USE_GNUTLS))
+#ifdef USE_GNUTLS
register_ssl_page();
hooks_register_hook(SSLCERT_GET_CLIENT_CERT_HOOKLIST, sslcert_get_client_cert_hook, NULL);
hooks_register_hook(SSL_CERT_GET_PASSWORD, sslcert_get_password, NULL);
gint id;
gchar **strv, **cur;
- g_return_if_fail(ac_prefs != NULL);
- g_return_if_fail(label != NULL);
+ cm_return_if_fail(ac_prefs != NULL);
+ cm_return_if_fail(label != NULL);
memset(&tmp_ac_prefs, 0, sizeof(PrefsAccount));
tmp_ac_prefs.privacy_prefs = ac_prefs->privacy_prefs;
prefswindow_open_full(title, prefs_pages, ac_prefs, destroy_dialog,
&prefs_common.editaccountwin_width, &prefs_common.editaccountwin_height,
- TRUE, TRUE,
- NULL, NULL);
+ TRUE, NULL, NULL);
g_free(title);
gtk_main();
g_free(utf8_filename);
}
-#if (defined(USE_OPENSSL) || defined (USE_GNUTLS))
+#ifdef USE_GNUTLS
static void prefs_account_in_cert_browse_cb(GtkWidget *widget, gpointer data)
{
gchar *filename;
GtkTreeIter iter;
gchar **str;
- g_return_if_fail(*pparam->widget != NULL);
+ cm_return_if_fail(*pparam->widget != NULL);
combobox = *pparam->widget;
- g_return_if_fail(gtk_combo_box_get_active_iter(
+ cm_return_if_fail(gtk_combo_box_get_active_iter(
GTK_COMBO_BOX(combobox), &iter));
str = (gchar **)pparam->data;
gchar *prefsid;
PrivacySystemSetCtx *ctx = NULL;
- g_return_if_fail(*pparam->widget != NULL);
+ cm_return_if_fail(*pparam->widget != NULL);
prefsid = *((gchar **) pparam->data);
if (prefsid == NULL)
FALSE);
}
-#if (defined(USE_OPENSSL) || defined (USE_GNUTLS))
+#ifdef USE_GNUTLS
gtk_widget_hide(ssl_page.pop_frame);
gtk_widget_hide(ssl_page.imap_frame);
gtk_widget_show(ssl_page.nntp_frame);
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);
TRUE);
}
-#if (defined(USE_OPENSSL) || defined (USE_GNUTLS))
+#ifdef USE_GNUTLS
gtk_widget_hide(ssl_page.pop_frame);
gtk_widget_hide(ssl_page.imap_frame);
gtk_widget_hide(ssl_page.nntp_frame);
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
FALSE);
}
-#if (defined(USE_OPENSSL) || defined (USE_GNUTLS))
+#ifdef USE_GNUTLS
gtk_widget_hide(ssl_page.pop_frame);
gtk_widget_show(ssl_page.imap_frame);
gtk_widget_hide(ssl_page.nntp_frame);
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_toggle_button_set_active
(GTK_TOGGLE_BUTTON(receive_page.recvatgetall_checkbtn), FALSE);
-#if (defined(USE_OPENSSL) || defined (USE_GNUTLS))
+#ifdef USE_GNUTLS
gtk_widget_hide(ssl_page.pop_frame);
gtk_widget_hide(ssl_page.imap_frame);
gtk_widget_hide(ssl_page.nntp_frame);
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:
TRUE);
}
-#if (defined(USE_OPENSSL) || defined (USE_GNUTLS))
+#ifdef USE_GNUTLS
gtk_widget_show(ssl_page.pop_frame);
gtk_widget_hide(ssl_page.imap_frame);
gtk_widget_hide(ssl_page.nntp_frame);
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;
}
GtkWidget *combo;
gchar **str;
- g_return_if_fail(*pparam->widget != NULL);
+ cm_return_if_fail(*pparam->widget != NULL);
combo = *pparam->widget;
str = (gchar **) pparam->data;
GtkWidget *combo;
gchar *dictionary;
- g_return_if_fail(*pparam->widget != NULL);
+ cm_return_if_fail(*pparam->widget != NULL);
dictionary = *((gchar **) pparam->data);
- if (dictionary == NULL)
- return;
-
- if (strrchr(dictionary, '/')) {
- dictionary = g_strdup(strrchr(dictionary, '/')+1);
- }
+ if (dictionary != NULL) {
+ if (strrchr(dictionary, '/')) {
+ dictionary = g_strdup(strrchr(dictionary, '/')+1);
+ }
- if (strchr(dictionary, '-')) {
- *(strchr(dictionary, '-')) = '\0';
+ if (strchr(dictionary, '-')) {
+ *(strchr(dictionary, '-')) = '\0';
+ }
}
combo = *pparam->widget;
- if (dictionary)
+ if (dictionary && *dictionary)
gtkaspell_set_dictionary_menu_active_item(GTK_COMBO_BOX(combo),
dictionary);
+ else {
+ GtkTreeModel *model;
+ GtkTreeIter iter;
+ if((model = gtk_combo_box_get_model(GTK_COMBO_BOX(combo))) == NULL)
+ return;
+ if((gtk_tree_model_get_iter_first(model, &iter)) == FALSE)
+ return;
+ gtk_combo_box_set_active_iter(GTK_COMBO_BOX(combo), &iter);
+ }
}
#endif