2006-05-12 [paul] 2.2.0cvs7
authorPaul Mangan <paul@claws-mail.org>
Fri, 12 May 2006 18:12:31 +0000 (18:12 +0000)
committerPaul Mangan <paul@claws-mail.org>
Fri, 12 May 2006 18:12:31 +0000 (18:12 +0000)
* src/prefs_common.h
* src/prefs_summaries.c
* src/summaryview.c
when entering a folder also allow
going directly to first Marked message

ChangeLog
PATCHSETS
configure.ac
src/prefs_common.h
src/prefs_summaries.c
src/summaryview.c

index c8d12d7431b9baf72704740c005dd595441cac51..04a471ce0b664fd8e04fe2445ad9ad3e4d0ffaf5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2006-05-12 [paul]      2.2.0cvs7
+
+       * src/prefs_common.h
+       * src/prefs_summaries.c
+       * src/summaryview.c
+               when entering a folder also allow
+               going directly to first Marked message
+
 2006-05-12 [paul]      2.2.0cvs6
 
        * src/summaryview.c
index a6e39c4dff9b291bfb8a8147d7fb8345b86145b5..c480f5f72a7ba7033f6d7a45afb2c2f4a7ea7428 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.382.2.269 -r 1.382.2.270 src/compose.c;  cvs diff -u -r 1.50.2.24 -r 1.50.2.25 src/compose.h;  cvs diff -u -r 1.115.2.83 -r 1.115.2.84 src/main.c;  cvs diff -u -r 1.79.2.24 -r 1.79.2.25 src/mh.c;  ) > 2.2.0cvs4.patchset
 ( cvs diff -u -r 1.96.2.112 -r 1.96.2.113 src/textview.c;  ) > 2.2.0cvs5.patchset
 ( cvs diff -u -r 1.395.2.195 -r 1.395.2.196 src/summaryview.c;  ) > 2.2.0cvs6.patchset
+( cvs diff -u -r 1.103.2.47 -r 1.103.2.48 src/prefs_common.h;  cvs diff -u -r 1.1.2.23 -r 1.1.2.24 src/prefs_summaries.c;  cvs diff -u -r 1.395.2.196 -r 1.395.2.197 src/summaryview.c;  ) > 2.2.0cvs7.patchset
index 478db2ee11936e3db3dedde7112fcd7d6db8ef78..f4726a2feb6f24fe607ff56b21d4f423348ba324 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=2
 MICRO_VERSION=0
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=6
+EXTRA_VERSION=7
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
index 4e9bc1151e49f59a5609153ee41999d24e2960c9..41884ea900c02105374fa3723e617827b3442fac 100644 (file)
@@ -57,8 +57,14 @@ typedef enum {
 
 typedef enum
 {
-       SELECTONENTRY_UNREAD = 1 << 0,
-       SELECTONENTRY_NEW    = 1 << 1
+/* U = unread, N = new, M = marked */
+       SELECTONENTRY_NOTHING,
+       SELECTONENTRY_UNM,
+       SELECTONENTRY_UMN,
+       SELECTONENTRY_NUM,
+       SELECTONENTRY_NMU,
+       SELECTONENTRY_MNU,
+       SELECTONENTRY_MUN
 } SelectOnEntry;
 
 typedef enum
index 31843e37e1a45c4dcdf39b9daba5be6864e05e33..3c1200199e0100b53486c8e74b6ee79a100e5d32 100644 (file)
@@ -916,11 +916,19 @@ void prefs_summaries_create_widget(PrefsPage *_page, GtkWindow *window,
                        (GtkAttachOptions) (0), 0, 0);
 
        menu = gtk_menu_new ();
-       MENUITEM_ADD (menu, menuitem, _("Do nothing"), 0);
-       MENUITEM_ADD (menu, menuitem, _("Select first unread (or new) message"),
-                     SELECTONENTRY_UNREAD);
-       MENUITEM_ADD (menu, menuitem, _("Select first new (or unread) message"),
-                     SELECTONENTRY_NEW);
+       MENUITEM_ADD (menu, menuitem, _("Do nothing"), SELECTONENTRY_NOTHING);
+       MENUITEM_ADD (menu, menuitem, _("Select first unread (or new or marked) message"),
+                     SELECTONENTRY_UNM);
+       MENUITEM_ADD (menu, menuitem, _("Select first unread (or marked or new) message"),
+                     SELECTONENTRY_UMN);
+       MENUITEM_ADD (menu, menuitem, _("Select first new (or unread or marked) message"),
+                     SELECTONENTRY_NUM);
+       MENUITEM_ADD (menu, menuitem, _("Select first new (or marked or unread) message"),
+                     SELECTONENTRY_NMU);
+       MENUITEM_ADD (menu, menuitem, _("Select first marked (or new or unread) message"),
+                     SELECTONENTRY_MNU);
+       MENUITEM_ADD (menu, menuitem, _("Select first marked (or unread or new) message"),
+                     SELECTONENTRY_MUN);
 
        gtk_option_menu_set_menu (GTK_OPTION_MENU (optmenu_select_on_entry), menu);
 
index 816ef168402dce8d3c964e4c0bd0ef41f4b4f347..b8288adc440cbfcc7e24dfe330c00f56abd42f6b 100644 (file)
@@ -1060,16 +1060,62 @@ gboolean summary_show(SummaryView *summaryview, FolderItem *item)
                }
        } else {
                switch (prefs_common.select_on_entry) {
-                       case SELECTONENTRY_NEW:
+                       case SELECTONENTRY_MNU:
+                               node = summary_find_next_flagged_msg(summaryview, NULL,
+                                                                    MSG_MARKED, FALSE);
+                               if (node == NULL)
+                                       node = summary_find_next_flagged_msg(summaryview, NULL,
+                                                                    MSG_NEW, FALSE);
+                               if (node == NULL)
+                                       node = summary_find_next_flagged_msg(summaryview, NULL,
+                                                                    MSG_UNREAD, FALSE);
+                               break;
+                       case SELECTONENTRY_MUN:
+                               node = summary_find_next_flagged_msg(summaryview, NULL,
+                                                                    MSG_MARKED, FALSE);
+                               if (node == NULL)
+                                       node = summary_find_next_flagged_msg(summaryview, NULL,
+                                                                    MSG_UNREAD, FALSE);
+                               if (node == NULL)
+                                       node = summary_find_next_flagged_msg(summaryview, NULL,
+                                                                    MSG_NEW, FALSE);
+                               break;
+                       case SELECTONENTRY_NMU:
+                               node = summary_find_next_flagged_msg(summaryview, NULL,
+                                                                    MSG_NEW, FALSE);
+                               if (node == NULL)
+                                       node = summary_find_next_flagged_msg(summaryview, NULL,
+                                                                    MSG_MARKED, FALSE);
+                               if (node == NULL)
+                                       node = summary_find_next_flagged_msg(summaryview, NULL,
+                                                                    MSG_UNREAD, FALSE);
+                               break;
+                       case SELECTONENTRY_NUM:
                                node = summary_find_next_flagged_msg(summaryview, NULL,
                                                                     MSG_NEW, FALSE);
                                if (node == NULL)
                                        node = summary_find_next_flagged_msg(summaryview, NULL,
                                                                     MSG_UNREAD, FALSE);
+                               if (node == NULL)
+                                       node = summary_find_next_flagged_msg(summaryview, NULL,
+                                                                    MSG_MARKED, FALSE);
+                               break;
+                       case SELECTONENTRY_UNM:
+                               node = summary_find_next_flagged_msg(summaryview, NULL,
+                                                                    MSG_UNREAD, FALSE);
+                               if (node == NULL)
+                                       node = summary_find_next_flagged_msg(summaryview, NULL,
+                                                                    MSG_NEW, FALSE);
+                               if (node == NULL)
+                                       node = summary_find_next_flagged_msg(summaryview, NULL,
+                                                                    MSG_MARKED, FALSE);
                                break;
-                       case SELECTONENTRY_UNREAD:
+                       case SELECTONENTRY_UMN:
                                node = summary_find_next_flagged_msg(summaryview, NULL,
                                                                     MSG_UNREAD, FALSE);
+                               if (node == NULL)
+                                       node = summary_find_next_flagged_msg(summaryview, NULL,
+                                                                    MSG_MARKED, FALSE);
                                if (node == NULL)
                                        node = summary_find_next_flagged_msg(summaryview, NULL,
                                                                     MSG_NEW, FALSE);