move 'Mark all read' to folder view menu
[claws.git] / src / summaryview.c
index cd75c7bcd98c17cace3a225adfaee6c9abf63ad4..136c275d5bb533a564700aad97f956ca9a1333c1 100644 (file)
@@ -406,7 +406,6 @@ static GtkItemFactoryEntry summary_popup_entries[] =
        {N_("/_Mark/---"),              NULL, NULL,             0, "<Separator>"},
        {N_("/_Mark/Mark as unr_ead"),  NULL, summary_mark_as_unread, 0, NULL},
        {N_("/_Mark/Mark as rea_d"),    NULL, summary_mark_as_read, 0, NULL},
-       {N_("/_Mark/Mark all read"),    NULL, summary_mark_all_read, 0, NULL},
        {N_("/_Mark/Ignore thread"),    NULL, summary_ignore_thread, 0, NULL},
        {N_("/_Mark/Unignore thread"),  NULL, summary_unignore_thread, 0, NULL},
        {N_("/Color la_bel"),           NULL, NULL,             0, NULL},
@@ -1046,7 +1045,6 @@ static void summary_set_menu_sensitive(SummaryView *summaryview)
 
        menu_set_sensitive(ifactory, "/Mark/Mark as unread", TRUE);
        menu_set_sensitive(ifactory, "/Mark/Mark as read",   TRUE);
-       menu_set_sensitive(ifactory, "/Mark/Mark all read", TRUE);
        menu_set_sensitive(ifactory, "/Mark/Ignore thread",   TRUE);
        menu_set_sensitive(ifactory, "/Mark/Unignore thread", TRUE);
 
@@ -1128,19 +1126,10 @@ void summary_select_prev_unread(SummaryView *summaryview)
 
 void summary_select_next_unread(SummaryView *summaryview)
 {
-       GtkCTreeNode *node;
+       GtkCTreeNode *node = summaryview->selected;
        GtkCTree *ctree = GTK_CTREE(summaryview->ctree);
 
-       node = summary_find_next_unread_msg(summaryview, summaryview->selected);
-
-       if (node) {
-               gtkut_ctree_expand_parent_all(ctree, node);
-               gtk_sctree_unselect_all(GTK_SCTREE(ctree));
-               gtk_sctree_select(GTK_SCTREE(ctree), node);
-               if (summaryview->displayed == node)
-                       summaryview->displayed = NULL;
-               summary_display_msg(summaryview, node, FALSE);
-       } else {
+       while ((node = summary_find_next_unread_msg(summaryview, node)) == NULL) {
                AlertValue val;
 
                switch (prefs_common.next_unread_msg_dialog) {
@@ -1148,7 +1137,7 @@ void summary_select_next_unread(SummaryView *summaryview)
                                val = alertpanel(_("No more unread messages"),
                                                 _("No unread message found. "
                                                   "Go to next folder?"),
-                                                _("Yes"), _("No"), NULL);
+                                                _("Yes"), _("Search again"), _("No"));
                                break;
                        case NEXTUNREADMSGDIALOG_ASSUME_YES:
                                val = G_ALERTDEFAULT;
@@ -1168,7 +1157,20 @@ void summary_select_next_unread(SummaryView *summaryview)
                                                (GTK_OBJECT(ctree),
                                                 "key_press_event");
                        folderview_select_next_unread(summaryview->folderview);
-               }
+                       return;
+               } else if (val == G_ALERTALTERNATE)
+                       node = NULL;
+               else
+                       return;
+       }
+
+       if (node) {
+               gtkut_ctree_expand_parent_all(ctree, node);
+               gtk_sctree_unselect_all(GTK_SCTREE(ctree));
+               gtk_sctree_select(GTK_SCTREE(ctree), node);
+               if (summaryview->displayed == node)
+                       summaryview->displayed = NULL;
+               summary_display_msg(summaryview, node, FALSE);
        }
 }