X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/8f9baef848c3056cd1df772f0774decad509cff3..61a4e8691d600a1d105142ce44570c4107600a04:/src/treeviewcontextmenu.cpp diff --git a/src/treeviewcontextmenu.cpp b/src/treeviewcontextmenu.cpp index c04fc746e..9e8809a1f 100644 --- a/src/treeviewcontextmenu.cpp +++ b/src/treeviewcontextmenu.cpp @@ -21,25 +21,26 @@ #include "treeviewcontextmenu.h" #include +#include #include #include #include #include #include +#include "renamedialog.h" + #include #include TreeViewContextMenu::TreeViewContextMenu(QWidget* parent, - KFileItem* fileInfo) : - m_parent(parent), - m_fileInfo(fileInfo) -{ -} + KFileItem* fileInfo) : + m_parent(parent), + m_fileInfo(fileInfo) +{} TreeViewContextMenu::~TreeViewContextMenu() -{ -} +{} void TreeViewContextMenu::open() { @@ -55,11 +56,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); @@ -68,7 +67,7 @@ void TreeViewContextMenu::open() popup->addSeparator(); // insert 'Rename' - QAction* renameAction = new QAction(i18n("Rename"), this); + QAction* renameAction = new QAction(i18n("Rename..."), this); connect(renameAction, SIGNAL(triggered()), this, SLOT(rename())); popup->addAction(renameAction); @@ -81,8 +80,7 @@ void TreeViewContextMenu::open() QAction* moveToTrashAction = new QAction(KIcon("edit-trash"), i18n("Move To Trash"), this); connect(moveToTrashAction, SIGNAL(triggered()), this, SLOT(moveToTrash())); popup->addAction(moveToTrashAction); - } - else { + } else { showDeleteCommand = true; } @@ -94,8 +92,8 @@ void TreeViewContextMenu::open() popup->addSeparator(); - // insert 'Properties...' entry - QAction* propertiesAction = new QAction(i18n("Properties..."), this); + // insert 'Properties' entry + QAction* propertiesAction = new QAction(i18n("Properties"), this); connect(this, SIGNAL(triggered()), this, SLOT(showProperties())); popup->addAction(propertiesAction); @@ -131,25 +129,33 @@ void TreeViewContextMenu::paste() if (KonqMimeData::decodeIsCutSelection(mimeData)) { KonqOperations::copy(m_parent, KonqOperations::MOVE, source, dest); clipboard->clear(); - } - else { + } else { KonqOperations::copy(m_parent, KonqOperations::COPY, source, dest); } } 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; + newUrl.setFileName(newName); + KonqOperations::rename(m_parent, oldUrl, newUrl); + } + } } void TreeViewContextMenu::moveToTrash() { - // TODO + KonqOperations::del(m_parent, KonqOperations::TRASH, m_fileInfo->url()); } void TreeViewContextMenu::deleteItem() { - // TODO + KonqOperations::del(m_parent, KonqOperations::DEL, m_fileInfo->url()); } void TreeViewContextMenu::showProperties()