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()
// TODO: remove this code when the issue #160611 is solved in Qt 4.4
const QModelIndex index = indexAt(event->pos());
setDirtyRegion(m_dropRect);
- if (itemForIndex(index).isDir()) {
- m_dropRect = visualRect(index);
- } else {
- m_dropRect.setSize(QSize()); // set as invalid
+
+ m_dropRect.setSize(QSize()); // set as invalid
+ if (index.isValid()) {
+ const KFileItem item = itemForIndex(index);
+ if (!item.isNull() && item.isDir()) {
+ m_dropRect = visualRect(index);
+ }
}
setDirtyRegion(m_dropRect);
}