#include "treeviewcontextmenu.h"
#include <kiconloader.h>
+#include <kio/deletejob.h>
#include <kmenu.h>
#include <konqmimedata.h>
#include <konq_operations.h>
#include <klocale.h>
#include <kpropertiesdialog.h>
+#include "renamedialog.h"
+
#include <QApplication>
#include <QClipboard>
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()
{
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);
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);
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;
}
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()