┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kitemviews/kitemlistcontroller.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/kitemviews/kitemlistcontroller.cpp')
-rw-r--r--src/kitemviews/kitemlistcontroller.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/kitemviews/kitemlistcontroller.cpp b/src/kitemviews/kitemlistcontroller.cpp
index 5a396de61..2f1bdc551 100644
--- a/src/kitemviews/kitemlistcontroller.cpp
+++ b/src/kitemviews/kitemlistcontroller.cpp
@@ -521,9 +521,9 @@ void KItemListController::slotChangeCurrentItem(const QString &text, bool search
return;
}
int index;
- if (searchFromNextItem) {
- const int currentIndex = m_selectionManager->currentItem();
- index = m_model->indexForKeyboardSearch(text, (currentIndex + 1) % m_model->count());
+ // In selection mode, always use the current (underlined) item, or the next item, for search start position.
+ if (m_selectionBehavior == NoSelection || m_selectionMode || m_selectionManager->hasSelection()) {
+ index = m_model->indexForKeyboardSearch(text, searchFromNextItem ? m_selectionManager->currentItem() + 1 : m_selectionManager->currentItem());
} else {
index = m_model->indexForKeyboardSearch(text, 0);
}