add ability to leave downloaded mail on server for n days
[claws.git] / src / prefs_account.c
index be9a41d2da3d64c1758cf556201cb9e4443576d6..25b62ce799d50b8664ee97bbc467ecb92d15583f 100644 (file)
@@ -86,6 +86,7 @@ static struct Basic {
 static struct Receive {
        GtkWidget *pop3_frame;
        GtkWidget *rmmail_chkbtn;
+       GtkWidget *leave_time_entry;
        GtkWidget *getall_chkbtn;
        GtkWidget *size_limit_chkbtn;
        GtkWidget *size_limit_entry;
@@ -248,6 +249,10 @@ static PrefParam param[] = {
        {"remove_mail", "TRUE", &tmp_ac_prefs.rmmail, P_BOOL,
         &receive.rmmail_chkbtn,
         prefs_set_data_from_toggle, prefs_set_toggle},
+       
+       {"leave_mail_time", "0", &tmp_ac_prefs.leave_time, P_STRING,
+        &receive.leave_time_entry,
+        prefs_set_data_from_entry, prefs_set_entry},
 
        {"get_all_mail", "FALSE", &tmp_ac_prefs.getall, P_BOOL,
         &receive.getall_chkbtn,
@@ -988,8 +993,12 @@ static void prefs_account_receive_create(void)
        GtkWidget *label;
        GtkWidget *filter_on_recv_chkbtn;
        GtkWidget *vbox3;
+       GtkWidget *hbox2;
        GtkWidget *inbox_label;
        GtkWidget *inbox_entry;
+       GtkWidget *leave_time_entry;
+       GtkWidget *leave_time_label;
+       GtkWidget *leave_time_hint;     
        GtkWidget *inbox_btn;
        GtkWidget *frame2;
        GtkWidget *imapdir_label;
@@ -1008,8 +1017,26 @@ static void prefs_account_receive_create(void)
        gtk_container_add (GTK_CONTAINER (frame1), vbox2);
        gtk_container_set_border_width (GTK_CONTAINER (vbox2), 8);
 
-       PACK_CHECK_BUTTON (vbox2, rmmail_chkbtn,
-                          _("Remove messages on server when received"));
+       hbox2 = gtk_hbox_new (FALSE, 0);
+       gtk_widget_show (hbox2);
+       gtk_container_add (GTK_CONTAINER (vbox2), hbox2);
+       gtk_container_set_border_width (GTK_CONTAINER (hbox2), 0);
+
+       PACK_CHECK_BUTTON (hbox2, rmmail_chkbtn,
+                          _("Remove messages on server when received for "));
+       leave_time_entry = gtk_entry_new ();
+       gtk_widget_show (leave_time_entry);
+       gtk_widget_set_usize (leave_time_entry, DEFAULT_ENTRY_WIDTH, -1);
+       gtk_box_pack_start (GTK_BOX (hbox2), leave_time_entry, TRUE, TRUE, 0);
+       
+       leave_time_label = gtk_label_new (_(" days"));
+       gtk_widget_show (leave_time_label);
+       gtk_box_pack_start (GTK_BOX (hbox2), leave_time_label, FALSE, FALSE, 0);
+       
+       leave_time_hint=gtk_label_new (_("(Setting to 0 days will delete messages immediately)"));
+       gtk_widget_show(leave_time_hint);
+       gtk_box_pack_start (GTK_BOX (vbox2), leave_time_hint, FALSE, FALSE, 0);
+               
        PACK_CHECK_BUTTON (vbox2, getall_chkbtn,
                           _("Download all messages on server"));
 
@@ -1092,6 +1119,7 @@ static void prefs_account_receive_create(void)
 
        receive.pop3_frame            = frame1;
        receive.rmmail_chkbtn         = rmmail_chkbtn;
+       receive.leave_time_entry      = leave_time_entry;
        receive.getall_chkbtn         = getall_chkbtn;
        receive.size_limit_chkbtn     = size_limit_chkbtn;
        receive.size_limit_entry      = size_limit_entry;
@@ -1359,7 +1387,7 @@ static void prefs_account_privacy_create(void)
                           _("Encrypt message by default"));
 
        PACK_CHECK_BUTTON (vbox2, checkbtn_ascii_armored,
-                          _("Plain ASCII armored"));
+                          _("Plain ASCII-armored"));
        gtk_signal_connect(GTK_OBJECT(checkbtn_ascii_armored), "toggled",
                                prefs_account_ascii_armored_warning, (gpointer)0);
 
@@ -1433,9 +1461,9 @@ static void prefs_account_ascii_armored_warning(GtkWidget* widget,
 {
        if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))
                && gtk_notebook_get_current_page(GTK_NOTEBOOK(dialog.notebook))) {
-               alertpanel_message(_("Warning - Privacy/Plain ASCII armored"),
-                       _("Its not recommend to use the old style plain ASCII\n"
-                       "armored mode for encypted messages. It doesn't comply\n"
+               alertpanel_message(_("Warning - Privacy/Plain ASCII-armored"),
+                       _("Its not recommend to use the old style plain ASCII-\n"
+                       "armored mode for encrypted messages. It doesn't comply\n"
                        "with the RFC 3156 - MIME security with OpenPGP."));
        }
 }
@@ -1645,7 +1673,7 @@ static void prefs_account_advanced_create(void)
 
        PACK_HBOX (hbox1);
        PACK_CHECK_BUTTON (hbox1, checkbtn_crosspost, 
-                          _("Mark crossposted messages as read and color:"));
+                          _("Mark cross-posted messages as read and color:"));
        gtk_signal_connect (GTK_OBJECT (checkbtn_crosspost), "toggled",
                                        GTK_SIGNAL_FUNC (crosspost_color_toggled),
                                        NULL);