X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/b7bfa46353f8c7e0f20cea4374b990174c35164d..0abbaf9e11d166da461bb33bc6abeb5ddfb5fa2c:/src/treeviewcontextmenu.cpp diff --git a/src/treeviewcontextmenu.cpp b/src/treeviewcontextmenu.cpp index 290b6ec6c..ec6d32200 100644 --- a/src/treeviewcontextmenu.cpp +++ b/src/treeviewcontextmenu.cpp @@ -21,14 +21,17 @@ #include "treeviewcontextmenu.h" #include +#include #include #include #include #include #include -#include -#include +#include "renamedialog.h" + +#include +#include TreeViewContextMenu::TreeViewContextMenu(QWidget* parent, KFileItem* fileInfo) : @@ -66,7 +69,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); @@ -79,8 +82,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; } @@ -92,9 +94,9 @@ void TreeViewContextMenu::open() popup->addSeparator(); - // insert 'Properties...' entry - QAction* propertiesAction = new QAction(i18n("Properties..."), this); - connect(this, SIGNAL(triggered()), this, SLOT(showProperties())); + // insert 'Properties' entry + QAction* propertiesAction = new QAction(i18n("Properties"), this); + connect(propertiesAction, SIGNAL(triggered()), this, SLOT(showProperties())); popup->addAction(propertiesAction); popup->exec(QCursor::pos()); @@ -129,30 +131,39 @@ 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() { - new KPropertiesDialog(m_fileInfo->url()); + KPropertiesDialog dialog(m_fileInfo->url()); + dialog.exec(); } #include "treeviewcontextmenu.moc"