2005-04-08 [colin] 1.9.6cvs29
authorColin Leroy <colin@colino.net>
Fri, 8 Apr 2005 17:28:07 +0000 (17:28 +0000)
committerColin Leroy <colin@colino.net>
Fri, 8 Apr 2005 17:28:07 +0000 (17:28 +0000)
* src/account.c
* src/prefs_account.c
* src/prefs_account.h
Add account preference to queue message in a certain
folder.

ChangeLog-gtk2.claws
PATCHSETS
configure.ac
src/account.c
src/prefs_account.c
src/prefs_account.h

index a6ef81d..be6b24f 100644 (file)
@@ -1,3 +1,11 @@
+2005-04-08 [colin]     1.9.6cvs29
+
+       * src/account.c
+       * src/prefs_account.c
+       * src/prefs_account.h
+               Add account preference to queue message in a certain
+               folder.
+
 2005-04-06 [colin]     1.9.6cvs28
 
        * src/prefs_account.c
index e190cc9..bc67800 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.14.2.16 -r 1.14.2.17 src/plugins/trayicon/trayicon.c; ) > 1.9.6cvs26.patchset
 ( cvs diff -u -r 1.654.2.479 -r 1.654.2.480 configure.ac; cvs diff -u -r 1.26.2.14 -r 1.26.2.15 src/foldersel.c; cvs diff -u -r 1.17.2.7 -r 1.17.2.8 src/send_message.c; cvs diff -u -r 1.13.2.11 -r 1.13.2.12 src/common/socket.c; cvs diff -u -r 1.2.2.6 -r 1.2.2.7 src/gtk/colorlabel.c; ) > 1.9.6cvs27.patchset
 ( cvs diff -u -r 1.105.2.18 -r 1.105.2.19 src/prefs_account.c; ) > 1.9.6cvs28.patchset
+( cvs diff -u -r 1.61.2.22 -r 1.61.2.23 src/account.c; cvs diff -u -r 1.105.2.19 -r 1.105.2.20 src/prefs_account.c; cvs diff -u -r 1.49.2.9 -r 1.49.2.10 src/prefs_account.h; ) > 1.9.6cvs29.patchset
index c489b3c..929f31e 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=9
 MICRO_VERSION=6
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=28
+EXTRA_VERSION=29
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
index 83e7087..b08259d 100644 (file)
@@ -543,10 +543,16 @@ FolderItem *account_get_special_folder(PrefsAccount *ac_prefs,
                }
                break;
        case F_QUEUE:
-               if (ac_prefs->folder)
-                       item = FOLDER(ac_prefs->folder)->queue;
-               if (!item)
-                       item = folder_get_default_queue();
+               if (ac_prefs->set_queue_folder && ac_prefs->queue_folder) {
+                       item = folder_find_item_from_identifier
+                               (ac_prefs->queue_folder);
+               }
+               if (!item) {
+                       if (ac_prefs->folder)
+                               item = FOLDER(ac_prefs->folder)->queue;
+                       if (!item)
+                               item = folder_get_default_queue();
+               }
                break;
        case F_TRASH:
                if (ac_prefs->set_trash_folder && ac_prefs->trash_folder) {
index 4a9de36..c72527d 100644 (file)
@@ -197,6 +197,8 @@ static struct Advanced {
 
        GtkWidget *sent_folder_chkbtn;
        GtkWidget *sent_folder_entry;
+       GtkWidget *queue_folder_chkbtn;
+       GtkWidget *queue_folder_entry;
        GtkWidget *draft_folder_chkbtn;
        GtkWidget *draft_folder_entry;
        GtkWidget *trash_folder_chkbtn;
@@ -514,6 +516,13 @@ static PrefParam param[] = {
         &advanced.sent_folder_entry,
         prefs_set_data_from_entry, prefs_set_entry},
 
+       {"set_queue_folder", "FALSE", &tmp_ac_prefs.set_queue_folder, P_BOOL,
+        &advanced.queue_folder_chkbtn,
+        prefs_set_data_from_toggle, prefs_set_toggle},
+       {"queue_folder", NULL, &tmp_ac_prefs.queue_folder, P_STRING,
+        &advanced.queue_folder_entry,
+        prefs_set_data_from_entry, prefs_set_entry},
+
        {"set_draft_folder", "FALSE", &tmp_ac_prefs.set_draft_folder, P_BOOL,
         &advanced.draft_folder_chkbtn,
         prefs_set_data_from_toggle, prefs_set_toggle},
@@ -2137,6 +2146,8 @@ static void prefs_account_advanced_create(void)
        GtkWidget *table;
        GtkWidget *sent_folder_chkbtn;
        GtkWidget *sent_folder_entry;
+       GtkWidget *queue_folder_chkbtn;
+       GtkWidget *queue_folder_entry;
        GtkWidget *draft_folder_chkbtn;
        GtkWidget *draft_folder_entry;
        GtkWidget *trash_folder_chkbtn;
@@ -2243,7 +2254,7 @@ static void prefs_account_advanced_create(void)
        gtk_container_add (GTK_CONTAINER (folder_frame), vbox3);
        gtk_container_set_border_width (GTK_CONTAINER (vbox3), 8);
 
-       table = gtk_table_new (3, 3, FALSE);
+       table = gtk_table_new (4, 3, FALSE);
        gtk_widget_show (table);
        gtk_container_add (GTK_CONTAINER (vbox3), table);
        gtk_table_set_row_spacings (GTK_TABLE (table), VSPACING_NARROW_2);
@@ -2279,10 +2290,12 @@ static void prefs_account_advanced_create(void)
 
        SET_CHECK_BTN_AND_ENTRY(_("Put sent messages in"),
                                sent_folder_chkbtn, sent_folder_entry, 0);
+       SET_CHECK_BTN_AND_ENTRY(_("Put queued messages in"),
+                               queue_folder_chkbtn, queue_folder_entry, 1);
        SET_CHECK_BTN_AND_ENTRY(_("Put draft messages in"),
-                               draft_folder_chkbtn, draft_folder_entry, 1);
+                               draft_folder_chkbtn, draft_folder_entry, 2);
        SET_CHECK_BTN_AND_ENTRY(_("Put deleted messages in"),
-                               trash_folder_chkbtn, trash_folder_entry, 2);
+                               trash_folder_chkbtn, trash_folder_entry, 3);
 
        advanced.smtpport_chkbtn        = checkbtn_smtpport;
        advanced.smtpport_entry         = entry_smtpport;
@@ -2307,6 +2320,8 @@ static void prefs_account_advanced_create(void)
 
        advanced.sent_folder_chkbtn  = sent_folder_chkbtn;
        advanced.sent_folder_entry   = sent_folder_entry;
+       advanced.queue_folder_chkbtn  = queue_folder_chkbtn;
+       advanced.queue_folder_entry   = queue_folder_entry;
        advanced.draft_folder_chkbtn = draft_folder_chkbtn;
        advanced.draft_folder_entry  = draft_folder_entry;
        advanced.trash_folder_chkbtn = trash_folder_chkbtn;
index 09a8dc8..faee0bd 100644 (file)
@@ -163,6 +163,8 @@ struct _PrefsAccount
 
        gboolean set_sent_folder;
        gchar *sent_folder;
+       gboolean set_queue_folder;
+       gchar *queue_folder;
        gboolean set_draft_folder;
        gchar *draft_folder;
        gboolean set_trash_folder;