#include <kfileitemdelegate.h>
#include <klocale.h>
#include <kiconeffect.h>
+#include <kio/deletejob.h>
#include <kio/netaccess.h>
#include <kio/previewjob.h>
#include <kmimetyperesolver.h>
m_detailsView(0),
m_columnView(0),
m_fileItemDelegate(0),
+ m_selectionModel(0),
m_dolphinModel(dolphinModel),
m_dirLister(dirLister),
m_proxyModel(proxyModel)
const KUrl viewPropsUrl = viewPropertiesUrl();
ViewProperties props(viewPropsUrl);
props.setViewMode(m_mode);
-
createView();
// the file item delegate has been recreated, apply the current
emit categorizedSortingChanged();
}
- loadDirectory(viewPropsUrl);
-
emit modeChanged();
}
view->setItemDelegate(m_fileItemDelegate);
view->setModel(m_proxyModel);
+ if(m_selectionModel)
+ view->setSelectionModel(m_selectionModel);
+ else
+ m_selectionModel = view->selectionModel();
+
+ m_selectionModel->setParent(this); //Reparent the selection model. We do not want it to be deleted when we delete the model
+
view->setSelectionMode(QAbstractItemView::ExtendedSelection);
new KMimeTypeResolver(view, m_dolphinModel);
}
}
+void DolphinView::trashSelectedItems()
+{
+ emit doingOperation(KonqFileUndoManager::TRASH);
+ KonqOperations::del(this, KonqOperations::TRASH, selectedUrls());
+}
+
+void DolphinView::deleteSelectedItems()
+{
+ const KUrl::List list = selectedUrls();
+ const bool del = KonqOperations::askDeleteConfirmation(list,
+ KonqOperations::DEL,
+ KonqOperations::DEFAULT_CONFIRMATION,
+ this);
+
+ if (del) {
+ KIO::Job* job = KIO::del(list);
+ connect(job, SIGNAL(result(KJob*)),
+ this, SLOT(slotDeleteFileFinished(KJob*)));
+ }
+}
+
+void DolphinView::slotDeleteFileFinished(KJob* job)
+{
+ if (job->error() == 0) {
+ emit operationCompletedMessage(i18nc("@info:status", "Delete operation completed."));
+ } else {
+ emit errorMessage(job->errorString());
+ }
+}
+
void DolphinView::cutSelectedItems()
{
QMimeData* mimeData = new QMimeData();
return ret;
}
+KAction* DolphinView::createRenameAction(KActionCollection* collection)
+{
+ KAction* rename = collection->addAction("rename");
+ rename->setText(i18nc("@action:inmenu File", "Rename..."));
+ rename->setShortcut(Qt::Key_F2);
+ return rename;
+}
+
+KAction* DolphinView::createMoveToTrashAction(KActionCollection* collection)
+{
+ KAction* moveToTrash = collection->addAction("move_to_trash");
+ moveToTrash->setText(i18nc("@action:inmenu File", "Move to Trash"));
+ moveToTrash->setIcon(KIcon("user-trash"));
+ moveToTrash->setShortcut(QKeySequence::Delete);
+ return moveToTrash;
+}
+
+KAction* DolphinView::createDeleteAction(KActionCollection* collection)
+{
+ KAction* deleteAction = collection->addAction("delete");
+ deleteAction->setIcon(KIcon("edit-delete"));
+ deleteAction->setText(i18nc("@action:inmenu File", "Delete"));
+ deleteAction->setShortcut(Qt::SHIFT | Qt::Key_Delete);
+ return deleteAction;
+}
+
#include "dolphinview.moc"