┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/dolphincolumnview.cpp16
-rw-r--r--src/dolphincolumnview.h2
2 files changed, 18 insertions, 0 deletions
diff --git a/src/dolphincolumnview.cpp b/src/dolphincolumnview.cpp
index ac131497e..361ddf696 100644
--- a/src/dolphincolumnview.cpp
+++ b/src/dolphincolumnview.cpp
@@ -192,6 +192,22 @@ KFileItem DolphinColumnView::itemAt(const QPoint& pos) const
return item;
}
+void DolphinColumnView::setSelectionModel(QItemSelectionModel* model)
+{
+ // If a change of the selection is done although the view is not active
+ // (e. g. by the selection markers), the column must be activated. This
+ // is done by listening to the current selectionChanged() signal.
+ if (selectionModel() != 0) {
+ disconnect(selectionModel(), SIGNAL(selectionChanged(QItemSelection, QItemSelection)),
+ this, SLOT(requestActivation()));
+ }
+
+ QListView::setSelectionModel(model);
+
+ connect(selectionModel(), SIGNAL(selectionChanged(QItemSelection, QItemSelection)),
+ this, SLOT(requestActivation()));
+}
+
QStyleOptionViewItem DolphinColumnView::viewOptions() const
{
QStyleOptionViewItem viewOptions = QListView::viewOptions();
diff --git a/src/dolphincolumnview.h b/src/dolphincolumnview.h
index c73ffc094..d4da86657 100644
--- a/src/dolphincolumnview.h
+++ b/src/dolphincolumnview.h
@@ -85,6 +85,8 @@ public:
*/
KFileItem itemAt(const QPoint& pos) const;
+ virtual void setSelectionModel(QItemSelectionModel* model);
+
protected:
virtual QStyleOptionViewItem viewOptions() const;
virtual void startDrag(Qt::DropActions supportedActions);