diff options
| author | Peter Penz <[email protected]> | 2008-05-29 18:00:59 +0000 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2008-05-29 18:00:59 +0000 |
| commit | 1efa3ccad76fa709791d0e322b17d1a00f5d1a7e (patch) | |
| tree | 4bed812ecde67d078326a884f870ff3e7290d2b6 /src/dolphindetailsview.cpp | |
| parent | d0df0730644b8ff4f3cdd908411cd0b44a6dc978 (diff) | |
Only select an item if the current item has been changed by a key press (e. g. QTreeView sets the current item when the view loses the focus).
svn path=/trunk/KDE/kdebase/apps/; revision=814234
Diffstat (limited to 'src/dolphindetailsview.cpp')
| -rw-r--r-- | src/dolphindetailsview.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/dolphindetailsview.cpp b/src/dolphindetailsview.cpp index e3a69fea4..b725b0da2 100644 --- a/src/dolphindetailsview.cpp +++ b/src/dolphindetailsview.cpp @@ -47,6 +47,7 @@ DolphinDetailsView::DolphinDetailsView(QWidget* parent, DolphinController* contr QTreeView(parent), m_autoResize(true), m_expandingTogglePressed(false), + m_keyPressed(false), m_controller(controller), m_selectionManager(0), m_font(), @@ -360,6 +361,13 @@ void DolphinDetailsView::keyPressEvent(QKeyEvent* event) { QTreeView::keyPressEvent(event); m_controller->handleKeyPressEvent(event); + m_keyPressed = true; +} + +void DolphinDetailsView::keyReleaseEvent(QKeyEvent* event) +{ + QTreeView::keyReleaseEvent(event); + m_keyPressed = false; } void DolphinDetailsView::resizeEvent(QResizeEvent* event) @@ -391,7 +399,7 @@ void DolphinDetailsView::currentChanged(const QModelIndex& current, const QModel // Stay consistent with QListView: When changing the current index by key presses, // also change the selection. - if (QApplication::mouseButtons() == Qt::NoButton) { + if (m_keyPressed) { selectionModel()->select(current, QItemSelectionModel::ClearAndSelect); } } |
