+ itemView()->selectionModel()->clear();
+}
+
+QList<KFileItem> DolphinView::selectedItems() const
+{
+ const QAbstractItemView* view = itemView();
+
+ // Our view has a selection, we will map them back to the DirModel
+ // and then fill the KFileItemList.
+ Q_ASSERT((view != 0) && (view->selectionModel() != 0));
+
+ const QItemSelection selection = m_proxyModel->mapSelectionToSource(view->selectionModel()->selection());
+ QList<KFileItem> itemList;
+
+ const QModelIndexList indexList = selection.indexes();
+ foreach (QModelIndex index, indexList) {
+ KFileItem item = m_dirModel->itemForIndex(index);
+ if (!item.isNull()) {
+ itemList.append(item);
+ }
+ }
+
+ return itemList;
+}
+
+KUrl::List DolphinView::selectedUrls() const
+{
+ KUrl::List urls;
+ const QList<KFileItem> list = selectedItems();
+ for ( QList<KFileItem>::const_iterator it = list.begin(), end = list.end();
+ it != end; ++it ) {
+ urls.append((*it).url());
+ }
+ return urls;
+}
+
+KFileItem DolphinView::fileItem(const QModelIndex& index) const
+{
+ const QModelIndex dirModelIndex = m_proxyModel->mapToSource(index);
+ return m_dirModel->itemForIndex(dirModelIndex);
+}
+
+void DolphinView::setContentsPosition(int x, int y)
+{
+ QAbstractItemView* view = itemView();
+ view->horizontalScrollBar()->setValue(x);
+ view->verticalScrollBar()->setValue(y);
+
+ m_loadingDirectory = false;
+}
+
+QPoint DolphinView::contentsPosition() const
+{
+ const int x = itemView()->horizontalScrollBar()->value();
+ const int y = itemView()->verticalScrollBar()->value();
+ return QPoint(x, y);