Git commit 8eba6b67637b2121228a4d5dfbc5b8284f8b3b58 by Jan Kundrát. Committed on 01/10/2016 at 00:14. Pushed by gerrit into branch 'master'.
GUI: Next/Previous mail actions should work from all contexts v2: The QAction binding was correct, the bug was in our logic. When no items were selected, the move would default to a no-op. We are not going to the very first item in a mailbox because doing that might be a bit counter-intuitive on huge mailboxes. This patch will resume the navigation at the top of the current view, depending on where the user scrolled the viewport. Chances are that this is going to be near the desired position. Thanks to Sérgio Martins for reporting this. Change-Id: I89fde26bbd5ff4ae445410eff0d22f39ca996ee1 M +6 -0 src/Gui/Window.cpp http://commits.kde.org/trojita/8eba6b67637b2121228a4d5dfbc5b8284f8b3b58 diff --git a/src/Gui/Window.cpp b/src/Gui/Window.cpp index 24715f5..90e46c9 100644 --- a/src/Gui/Window.cpp +++ b/src/Gui/Window.cpp @@ -1433,6 +1433,9 @@ void MainWindow::handleMarkAsRead(bool value) void MainWindow::slotNextUnread() { QModelIndex current = msgListWidget->tree->currentIndex(); + if (!current.isValid()) { + current = msgListWidget->tree->indexAt(QPoint(0, 0)); + } bool wrapped = false; while (current.isValid()) { @@ -1469,6 +1472,9 @@ void MainWindow::slotNextUnread() void MainWindow::slotPreviousUnread() { QModelIndex current = msgListWidget->tree->currentIndex(); + if (!current.isValid()) { + current = msgListWidget->tree->indexAt(QPoint(0, 0)); + } bool wrapped = false; while (current.isValid()) {
