fix bug 3973, ''select all' in summaryview does not automatically focus the summaryview'
authorPaul <paul@claws-mail.org>
Sun, 25 Feb 2018 13:18:40 +0000 (13:18 +0000)
committerPaul <paul@claws-mail.org>
Sun, 25 Feb 2018 13:18:40 +0000 (13:18 +0000)
The problem is apparent when 'default selection on entering a folder' is
set to 'none' and the first user action on entering the folder is
'select all'. This visually selected all the messages but summaryview
did not have the focus, so any actions performed on that list would
fail.

Removed summary_select_all(), which didn't quite do as advertised and
instead use gtk_cmclist_select_all() which selects and focuses.

src/mainwindow.c
src/summaryview.c
src/summaryview.h

index 74dbc4b..1300839 100644 (file)
@@ -4983,7 +4983,7 @@ static void allsel_cb(GtkAction *action, gpointer data)
                 (gtk_widget_has_focus(msgview->mimeview->textview->text)))
                messageview_select_all(mainwin->messageview);
        else
-               summary_select_all(mainwin->summaryview);
+               gtk_cmclist_select_all(GTK_CMCLIST(mainwin->summaryview->ctree));
 }
 
 static void select_thread_cb(GtkAction *action, gpointer data)
index 60938ef..257e850 100644 (file)
@@ -4817,16 +4817,6 @@ void summary_add_address(SummaryView *summaryview)
        avatars_avatarrender_free(avatarr);
 }
 
-void summary_select_all(SummaryView *summaryview)
-{
-       if (!summaryview->folder_item) return;
-
-       summary_lock(summaryview);
-       gtk_cmclist_select_all(GTK_CMCLIST(summaryview->ctree));
-       summary_unlock(summaryview);
-       summary_status_show(summaryview);
-}
-
 void summary_unselect_all(SummaryView *summaryview)
 {
        summary_lock(summaryview);
index 77ac05b..9d1d943 100644 (file)
@@ -287,7 +287,6 @@ void summary_watch_thread     (SummaryView          *summaryview);
 void summary_unwatch_thread      (SummaryView          *summaryview);
 
 void summary_add_address         (SummaryView          *summaryview);
-void summary_select_all                  (SummaryView          *summaryview);
 void summary_unselect_all        (SummaryView          *summaryview);
 void summary_select_thread       (SummaryView          *summaryview,
                                   gboolean              delete_thread,