X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/8f9baef848c3056cd1df772f0774decad509cff3..6b50b873ec8a9fb0fac84fc4d77f6cdf31a9df9a:/src/treeviewcontextmenu.cpp diff --git a/src/treeviewcontextmenu.cpp b/src/treeviewcontextmenu.cpp index c04fc746e..0c64677fa 100644 --- a/src/treeviewcontextmenu.cpp +++ b/src/treeviewcontextmenu.cpp @@ -21,12 +21,15 @@ #include "treeviewcontextmenu.h" #include +#include #include #include #include #include #include +#include "renamedialog.h" + #include #include @@ -55,11 +58,9 @@ void TreeViewContextMenu::open() connect(copyAction, SIGNAL(triggered()), this, SLOT(copy())); QAction* pasteAction = new QAction(KIcon("edit-paste"), i18n("Paste"), this); - - QClipboard* clipboard = QApplication::clipboard(); - const QMimeData* mimeData = clipboard->mimeData(); - const KUrl::List sourceUrls = KUrl::List::fromMimeData(mimeData); - pasteAction->setEnabled(sourceUrls.isEmpty()); + const QMimeData* mimeData = QApplication::clipboard()->mimeData(); + const KUrl::List pasteData = KUrl::List::fromMimeData(mimeData); + pasteAction->setEnabled(!pasteData.isEmpty()); connect(pasteAction, SIGNAL(triggered()), this, SLOT(paste())); popup->addAction(cutAction); @@ -139,17 +140,33 @@ void TreeViewContextMenu::paste() void TreeViewContextMenu::rename() { - // TODO + const KUrl& oldUrl = m_fileInfo->url(); + RenameDialog dialog(oldUrl); + if (dialog.exec() == QDialog::Accepted) { + const QString& newName = dialog.newName(); + if (!newName.isEmpty()) { + KUrl newUrl = oldUrl.upUrl(); + newUrl.addPath(newName); + KonqOperations::rename(m_parent, oldUrl, newUrl); + } + } } void TreeViewContextMenu::moveToTrash() { - // TODO + KonqOperations::del(m_parent, KonqOperations::TRASH, m_fileInfo->url()); } void TreeViewContextMenu::deleteItem() { - // TODO + const KUrl& url = m_fileInfo->url(); + const bool del = KonqOperations::askDeleteConfirmation(url, + KonqOperations::DEL, + KonqOperations::FORCE_CONFIRMATION, + m_parent); + if (del) { + KIO::del(url); + } } void TreeViewContextMenu::showProperties()