From 00c5d7a242a33a2b668854dcf8b2e9411feb6ab5 Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Fri, 23 Dec 2011 16:01:23 +0100 Subject: [PATCH] The key "space" should select the current item Also in case if only one item is shown the navigation-keys should trigger a selection of the current item. This works now consistent within all view-modes (there have been been behavior differences in Dolphin 1.7 depending on the used mode). BUG: 289589 FIXED-IN: 4.8.0 --- src/kitemviews/kitemlistcontroller.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/kitemviews/kitemlistcontroller.cpp b/src/kitemviews/kitemlistcontroller.cpp index 79dffd41b..8577bf863 100644 --- a/src/kitemviews/kitemlistcontroller.cpp +++ b/src/kitemviews/kitemlistcontroller.cpp @@ -188,6 +188,16 @@ bool KItemListController::keyPressEvent(QKeyEvent* event) default: break; } } + + const bool selectSingleItem = itemCount == 1 && + (key == Qt::Key_Home || key == Qt::Key_End || + key == Qt::Key_Up || key == Qt::Key_Down || + key == Qt::Key_Left || key == Qt::Key_Right); + if (selectSingleItem) { + const int current = m_selectionManager->currentItem(); + m_selectionManager->setSelected(current); + return true; + } switch (key) { case Qt::Key_Home: @@ -252,7 +262,8 @@ bool KItemListController::keyPressEvent(QKeyEvent* event) m_selectionManager->setSelected(index, 1, KItemListSelectionManager::Toggle); m_selectionManager->beginAnchoredSelection(index); } else { - m_keyboardManager->addKeys(event->text()); + const int current = m_selectionManager->currentItem(); + m_selectionManager->setSelected(current); } break; -- 2.47.3