X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/8f9baef848c3056cd1df772f0774decad509cff3..d511752c9de4d9adc30a15ddf9bf89efc1924a7b:/src/treeviewcontextmenu.cpp diff --git a/src/treeviewcontextmenu.cpp b/src/treeviewcontextmenu.cpp index c04fc746e..e9963073f 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) : @@ -48,18 +51,16 @@ void TreeViewContextMenu::open() KMenu* popup = new KMenu(m_parent); // insert 'Cut', 'Copy' and 'Paste' - QAction* cutAction = new QAction(KIcon("edit-cut"), i18n("Cut"), this); + QAction* cutAction = new QAction(KIcon("edit-cut"), i18nc("@action:inmenu", "Cut"), this); connect(cutAction, SIGNAL(triggered()), this, SLOT(cut())); - QAction* copyAction = new QAction(KIcon("edit-copy"), i18n("Copy"), this); + QAction* copyAction = new QAction(KIcon("edit-copy"), i18nc("@action:inmenu", "Copy"), this); 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()); + QAction* pasteAction = new QAction(KIcon("edit-paste"), i18nc("@action:inmenu", "Paste"), this); + 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 +69,7 @@ void TreeViewContextMenu::open() popup->addSeparator(); // insert 'Rename' - QAction* renameAction = new QAction(i18n("Rename"), this); + QAction* renameAction = new QAction(i18nc("@action:inmenu", "Rename..."), this); connect(renameAction, SIGNAL(triggered()), this, SLOT(rename())); popup->addAction(renameAction); @@ -78,25 +79,25 @@ void TreeViewContextMenu::open() bool showDeleteCommand = kdeConfig.readEntry("ShowDeleteCommand", false); const KUrl& url = m_fileInfo->url(); if (url.isLocalFile()) { - QAction* moveToTrashAction = new QAction(KIcon("edit-trash"), i18n("Move To Trash"), this); + QAction* moveToTrashAction = new QAction(KIcon("edit-trash"), + i18nc("@action:inmenu", "Move To Trash"), this); connect(moveToTrashAction, SIGNAL(triggered()), this, SLOT(moveToTrash())); popup->addAction(moveToTrashAction); - } - else { + } else { showDeleteCommand = true; } if (showDeleteCommand) { - QAction* deleteAction = new QAction(KIcon("edit-delete"), i18n("Delete"), this); + QAction* deleteAction = new QAction(KIcon("edit-delete"), i18nc("@action:inmenu", "Delete"), this); connect(deleteAction, SIGNAL(triggered()), this, SLOT(deleteItem())); popup->addAction(deleteAction); } 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(i18nc("@action:inmenu", "Properties"), this); + connect(propertiesAction, SIGNAL(triggered()), this, SLOT(showProperties())); popup->addAction(propertiesAction); popup->exec(QCursor::pos()); @@ -131,30 +132,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"