From 1efa3ccad76fa709791d0e322b17d1a00f5d1a7e Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Thu, 29 May 2008 18:00:59 +0000 Subject: 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 --- src/dolphindetailsview.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/dolphindetailsview.cpp') 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); } } -- cgit v1.3