┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/dolphindetailsview.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/dolphindetailsview.cpp b/src/dolphindetailsview.cpp
index 1a9b6f4da..dc9048225 100644
--- a/src/dolphindetailsview.cpp
+++ b/src/dolphindetailsview.cpp
@@ -355,7 +355,17 @@ void DolphinDetailsView::wheelEvent(QWheelEvent* event)
void DolphinDetailsView::currentChanged(const QModelIndex& current, const QModelIndex& previous)
{
QTreeView::currentChanged(current, previous);
- selectionModel()->select(current, QItemSelectionModel::ClearAndSelect);
+
+ // Stay consistent with QListView: When changing the current index by key presses,
+ // also change the selection.
+ const Qt::KeyboardModifiers modifier = QApplication::keyboardModifiers();
+ const bool adjustSelection = !(modifier & Qt::ShiftModifier) &&
+ !(modifier & Qt::ControlModifier) &&
+ !m_showElasticBand;
+
+ if (adjustSelection) {
+ selectionModel()->select(current, QItemSelectionModel::ClearAndSelect);
+ }
}
void DolphinDetailsView::setSortIndicatorSection(DolphinView::Sorting sorting)