]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphindetailsview.cpp
SVN_SILENT made messages (.desktop file)
[dolphin.git] / src / dolphindetailsview.cpp
index 2eb631a649bb87ca8aba7d895db156ac54b5fab3..dc90482257f7ea994e66b1a4fc7c5c6ff8a24380 100644 (file)
@@ -66,9 +66,9 @@ DolphinDetailsView::DolphinDetailsView(QWidget* parent, DolphinController* contr
     setAlternatingRowColors(true);
     setRootIsDecorated(settings->expandableFolders());
     setItemsExpandable(settings->expandableFolders());
+    setEditTriggers(QAbstractItemView::NoEditTriggers);
 
     setMouseTracking(true);
-    viewport()->setAttribute(Qt::WA_Hover);
 
     const ViewProperties props(controller->url());
     setSortIndicatorSection(props.sorting());
@@ -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)