diff options
| author | Peter Penz <[email protected]> | 2009-02-22 14:07:46 +0000 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2009-02-22 14:07:46 +0000 |
| commit | e4f376d25a133894383f6f032cc69aad739698c6 (patch) | |
| tree | f8213fc3ef25173d4458b33714bd5acc0c6f0f6e /src/dolphinview.cpp | |
| parent | 23a609971ea7a2e071fb0e28efb8433ed50c1141 (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.cpp | 17 |
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; |
