┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kitemviews/kitemlistcontroller.cpp
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2011-12-23 16:01:23 +0100
committerPeter Penz <[email protected]>2011-12-23 16:04:32 +0100
commit6f699495b5dbf54ce169a9a92cf781e03b4d4547 (patch)
treef329a7ac7aded001b96e4bcd9d4e9f73731efade /src/kitemviews/kitemlistcontroller.cpp
parentf66f24c11e5089bad8277ee527cd8c24d4dd7c54 (diff)
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
Diffstat (limited to 'src/kitemviews/kitemlistcontroller.cpp')
-rw-r--r--src/kitemviews/kitemlistcontroller.cpp13
1 files changed, 12 insertions, 1 deletions
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;