+ view->setModel(m_proxyModel);
+ view->setSelectionMode(QAbstractItemView::ExtendedSelection);
+
+ new KMimeTypeResolver(view, m_dirModel);
+ m_topLayout->insertWidget(1, view);
+
+ connect(view->selectionModel(), SIGNAL(selectionChanged(const QItemSelection&, const QItemSelection&)),
+ m_controller, SLOT(indicateSelectionChange()));
+ connect(view->verticalScrollBar(), SIGNAL(valueChanged(int)),
+ this, SLOT(emitContentsMoved()));
+ connect(view->horizontalScrollBar(), SIGNAL(valueChanged(int)),
+ this, SLOT(emitContentsMoved()));
+}
+
+void DolphinView::selectAll(QItemSelectionModel::SelectionFlags flags)
+{
+ QItemSelectionModel* selectionModel = itemView()->selectionModel();
+ const QAbstractItemModel* itemModel = selectionModel->model();
+
+ const QModelIndex topLeft = itemModel->index(0, 0);
+ const QModelIndex bottomRight = itemModel->index(itemModel->rowCount() - 1,
+ itemModel->columnCount() - 1);
+
+ QItemSelection selection(topLeft, bottomRight);
+ selectionModel->select(selection, flags);
+}
+
+QAbstractItemView* DolphinView::itemView() const
+{
+ Q_ASSERT((m_iconsView == 0) || (m_detailsView == 0));
+ if (m_detailsView != 0) {
+ return m_detailsView;
+ }
+ return m_iconsView;
+}
+
+bool DolphinView::isValidNameIndex(const QModelIndex& index) const
+{
+ return index.isValid() && (index.column() == KDirModel::Name);
+}
+
+bool DolphinView::isCutItem(const KFileItem& item) const
+{
+ const QMimeData* mimeData = QApplication::clipboard()->mimeData();
+ const KUrl::List cutUrls = KUrl::List::fromMimeData(mimeData);
+
+ const KUrl& itemUrl = item.url();
+ KUrl::List::const_iterator it = cutUrls.begin();
+ const KUrl::List::const_iterator end = cutUrls.end();
+ while (it != end){
+ if (*it == itemUrl) {
+ return true;
+ }
+ ++it;