┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/dolphincolumnview.cpp15
-rw-r--r--src/dolphincolumnview.h2
-rw-r--r--src/dolphincolumnwidget.cpp18
-rw-r--r--src/dolphincolumnwidget.h1
4 files changed, 26 insertions, 10 deletions
diff --git a/src/dolphincolumnview.cpp b/src/dolphincolumnview.cpp
index a6fda66d0..d6bd08a42 100644
--- a/src/dolphincolumnview.cpp
+++ b/src/dolphincolumnview.cpp
@@ -554,4 +554,19 @@ void DolphinColumnView::removeAllColumns()
assureVisibleActiveColumn();
}
+void DolphinColumnView::setModel ( QAbstractItemModel * model )
+{
+ QAbstractItemView::setModel(model);
+ if(m_columns[0]) {
+ m_columns[0]->setModel(model);
+ m_columns[0]->setSelectionModel(selectionModel());
+ }
+}
+void DolphinColumnView::setSelectionModel ( QItemSelectionModel * selectionModel )
+{
+ if(m_columns[0])
+ m_columns[0]->setSelectionModel(selectionModel);
+ QAbstractItemView::setSelectionModel(selectionModel);
+}
+
#include "dolphincolumnview.moc"
diff --git a/src/dolphincolumnview.h b/src/dolphincolumnview.h
index 30ac7ae71..0030c69ce 100644
--- a/src/dolphincolumnview.h
+++ b/src/dolphincolumnview.h
@@ -103,6 +103,8 @@ protected:
virtual void mousePressEvent(QMouseEvent* event);
virtual void resizeEvent(QResizeEvent* event);
+ virtual void setSelectionModel ( QItemSelectionModel * selectionModel );
+ virtual void setModel ( QAbstractItemModel * model );
private slots:
void zoomIn();
diff --git a/src/dolphincolumnwidget.cpp b/src/dolphincolumnwidget.cpp
index 677215972..abd236c7d 100644
--- a/src/dolphincolumnwidget.cpp
+++ b/src/dolphincolumnwidget.cpp
@@ -115,18 +115,16 @@ DolphinColumnWidget::DolphinColumnWidget(QWidget* parent,
m_dirLister->setShowingDotFiles(showHiddenFiles);
connect(m_dirLister, SIGNAL(newItems(const KFileItemList&)),
this, SLOT(generatePreviews(const KFileItemList&)));
+}
- m_dolphinModel = new DolphinModel(this);
- m_dolphinModel->setDirLister(m_dirLister);
- m_dolphinModel->setDropsAllowed(DolphinModel::DropOnDirectory);
-
- m_proxyModel = new DolphinSortFilterProxyModel(this);
- m_proxyModel->setSourceModel(m_dolphinModel);
-
- setModel(m_proxyModel);
+void DolphinColumnWidget::setModel ( QAbstractItemModel * model )
+{
+ m_proxyModel = dynamic_cast<DolphinSortFilterProxyModel *>(model);
+ if(m_proxyModel)
+ m_dolphinModel = dynamic_cast<DolphinModel *>(m_proxyModel->sourceModel());
new KMimeTypeResolver(this, m_dolphinModel);
-
- m_dirLister->openUrl(url, KDirLister::NoFlags);
+ m_dirLister->openUrl(m_url, KDirLister::NoFlags);
+ QListView::setModel(m_proxyModel);
}
DolphinColumnWidget::~DolphinColumnWidget()
diff --git a/src/dolphincolumnwidget.h b/src/dolphincolumnwidget.h
index e8fea3bf5..14b4c8751 100644
--- a/src/dolphincolumnwidget.h
+++ b/src/dolphincolumnwidget.h
@@ -89,6 +89,7 @@ public:
* which contain the given filter string will be shown.
*/
void setNameFilter(const QString& nameFilter);
+ virtual void setModel ( QAbstractItemModel * model );
protected:
virtual QStyleOptionViewItem viewOptions() const;