diff options
| author | David Faure <[email protected]> | 2007-11-17 00:08:54 +0000 |
|---|---|---|
| committer | David Faure <[email protected]> | 2007-11-17 00:08:54 +0000 |
| commit | 8578ad1e751d218b40c49a601934a23d8ecd027d (patch) | |
| tree | 9d486cf3620757d56f320dcefe80d99440d6e752 /src/dolphinview.cpp | |
| parent | 3a1d98a8eb1c758859152a27c7bb697d8d0162e9 (diff) | |
Fix "delete" and "move to trash" actions in dolphinpart; moved all logic for those out of konqueror.
Inside dolphin, the usual: moving code to DolphinView.
Pressing shift while clicking on "Move to Trash" in konq (dolphinpart) offers to delete, as in kde3 (this bit of logic might be good for dolphin itself too? see DolphinPart::slotTrashActivated)
CCMAIL: [email protected]
svn path=/trunk/KDE/kdebase/apps/; revision=737682
Diffstat (limited to 'src/dolphinview.cpp')
| -rw-r--r-- | src/dolphinview.cpp | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/dolphinview.cpp b/src/dolphinview.cpp index 30b07ce42..51e2a0a57 100644 --- a/src/dolphinview.cpp +++ b/src/dolphinview.cpp @@ -36,6 +36,7 @@ #include <kfileitemdelegate.h> #include <klocale.h> #include <kiconeffect.h> +#include <kio/deletejob.h> #include <kio/netaccess.h> #include <kio/previewjob.h> #include <kmimetyperesolver.h> @@ -1067,6 +1068,36 @@ void DolphinView::renameSelectedItems() } } +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(); @@ -1156,4 +1187,30 @@ QPair<bool, QString> DolphinView::pasteInfo() const 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" |
