┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/dolphinview.cpp
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2009-02-22 14:07:46 +0000
committerPeter Penz <[email protected]>2009-02-22 14:07:46 +0000
commite4f376d25a133894383f6f032cc69aad739698c6 (patch)
treef8213fc3ef25173d4458b33714bd5acc0c6f0f6e /src/dolphinview.cpp
parent23a609971ea7a2e071fb0e28efb8433ed50c1141 (diff)
clear the selection when Escape has been pressed (= same behavior like in Konqueror for KDE 3)
BUG: 185184 svn path=/trunk/KDE/kdebase/apps/; revision=929983
Diffstat (limited to 'src/dolphinview.cpp')
-rw-r--r--src/dolphinview.cpp17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/dolphinview.cpp b/src/dolphinview.cpp
index 770bab1f7..f40accdde 100644
--- a/src/dolphinview.cpp
+++ b/src/dolphinview.cpp
@@ -314,7 +314,10 @@ bool DolphinView::hasSelection() const
void DolphinView::clearSelection()
{
- itemView()->selectionModel()->clear();
+ QItemSelectionModel* selModel = itemView()->selectionModel();
+ const QModelIndex currentIndex = selModel->currentIndex();
+ selModel->setCurrentIndex(currentIndex, QItemSelectionModel::Current |
+ QItemSelectionModel::Clear);
}
KFileItemList DolphinView::selectedItems() const
@@ -866,8 +869,16 @@ bool DolphinView::eventFilter(QObject* watched, QEvent* event)
break;
case QEvent::KeyPress:
- if ((watched == itemView()) && (m_toolTipManager != 0)) {
- m_toolTipManager->hideTip();
+ if (watched == itemView()) {
+ if (m_toolTipManager != 0) {
+ m_toolTipManager->hideTip();
+ }
+
+ // clear the selection when Escape has been pressed
+ QKeyEvent* keyEvent = static_cast<QKeyEvent*>(event);
+ if (keyEvent->key() == Qt::Key_Escape) {
+ clearSelection();
+ }
}
break;