X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/3e5ff13f929165f180111485fc00cb2276bca3bf..d47557dcd17a028596c4e0e7b0aabc5db4847bed:/src/panels/folders/treeviewcontextmenu.cpp diff --git a/src/panels/folders/treeviewcontextmenu.cpp b/src/panels/folders/treeviewcontextmenu.cpp index 932d102b8..35e39c14a 100644 --- a/src/panels/folders/treeviewcontextmenu.cpp +++ b/src/panels/folders/treeviewcontextmenu.cpp @@ -22,9 +22,12 @@ #include #include +#include #include +#include #include -#include +#include +#include #include #include #include @@ -32,6 +35,7 @@ #include #include #include +#include #include #include "folderspanel.h" @@ -60,15 +64,15 @@ void TreeViewContextMenu::open() KFileItemListProperties capabilities(KFileItemList() << m_fileItem); // insert 'Cut', 'Copy' and 'Paste' - QAction* cutAction = new QAction(KIcon("edit-cut"), i18nc("@action:inmenu", "Cut"), this); + QAction* cutAction = new QAction(QIcon::fromTheme("edit-cut"), i18nc("@action:inmenu", "Cut"), this); cutAction->setEnabled(capabilities.supportsMoving()); connect(cutAction, &QAction::triggered, this, &TreeViewContextMenu::cut); - QAction* copyAction = new QAction(KIcon("edit-copy"), i18nc("@action:inmenu", "Copy"), this); + QAction* copyAction = new QAction(QIcon::fromTheme("edit-copy"), i18nc("@action:inmenu", "Copy"), this); connect(copyAction, &QAction::triggered, this, &TreeViewContextMenu::copy); const QPair pasteInfo = KonqOperations::pasteInfo(m_fileItem.url()); - QAction* pasteAction = new QAction(KIcon("edit-paste"), pasteInfo.second, this); + QAction* pasteAction = new QAction(QIcon::fromTheme("edit-paste"), pasteInfo.second, this); connect(pasteAction, &QAction::triggered, this, &TreeViewContextMenu::paste); pasteAction->setEnabled(pasteInfo.first); @@ -80,7 +84,7 @@ void TreeViewContextMenu::open() // insert 'Rename' QAction* renameAction = new QAction(i18nc("@action:inmenu", "Rename..."), this); renameAction->setEnabled(capabilities.supportsMoving()); - renameAction->setIcon(KIcon("edit-rename")); + renameAction->setIcon(QIcon::fromTheme("edit-rename")); connect(renameAction, &QAction::triggered, this, &TreeViewContextMenu::rename); popup->addAction(renameAction); @@ -91,7 +95,7 @@ void TreeViewContextMenu::open() const KUrl url = m_fileItem.url(); if (url.isLocalFile()) { - QAction* moveToTrashAction = new QAction(KIcon("user-trash"), + QAction* moveToTrashAction = new QAction(QIcon::fromTheme("user-trash"), i18nc("@action:inmenu", "Move to Trash"), this); const bool enableMoveToTrash = capabilities.isLocal() && capabilities.supportsMoving(); moveToTrashAction->setEnabled(enableMoveToTrash); @@ -102,7 +106,7 @@ void TreeViewContextMenu::open() } if (showDeleteCommand) { - QAction* deleteAction = new QAction(KIcon("edit-delete"), i18nc("@action:inmenu", "Delete"), this); + QAction* deleteAction = new QAction(QIcon::fromTheme("edit-delete"), i18nc("@action:inmenu", "Delete"), this); deleteAction->setEnabled(capabilities.supportsDeleting()); connect(deleteAction, &QAction::triggered, this, &TreeViewContextMenu::deleteItem); popup->addAction(deleteAction); @@ -130,7 +134,7 @@ void TreeViewContextMenu::open() if (!m_fileItem.isNull()) { // insert 'Properties' entry QAction* propertiesAction = new QAction(i18nc("@action:inmenu", "Properties"), this); - propertiesAction->setIcon(KIcon("document-properties")); + propertiesAction->setIcon(QIcon::fromTheme("document-properties")); connect(propertiesAction, &QAction::triggered, this, &TreeViewContextMenu::showProperties); popup->addAction(propertiesAction); } @@ -187,12 +191,27 @@ void TreeViewContextMenu::rename() void TreeViewContextMenu::moveToTrash() { - KonqOperations::del(m_parent, KonqOperations::TRASH, KUrl::List() << m_fileItem.url()); + KUrl::List list = KUrl::List() << m_fileItem.url(); + KIO::JobUiDelegate uiDelegate; + uiDelegate.setWindow(m_parent); + if (uiDelegate.askDeleteConfirmation(list, KIO::JobUiDelegate::Trash, KIO::JobUiDelegate::DefaultConfirmation)) { + KIO::Job* job = KIO::trash(list); + KIO::FileUndoManager::self()->recordJob(KIO::FileUndoManager::Trash, list, KUrl("trash:/"), job); + KJobWidgets::setWindow(job, m_parent); + job->ui()->setAutoErrorHandlingEnabled(true); + } } void TreeViewContextMenu::deleteItem() { - KonqOperations::del(m_parent, KonqOperations::DEL, KUrl::List() << m_fileItem.url()); + KUrl::List list = KUrl::List() << m_fileItem.url(); + KIO::JobUiDelegate uiDelegate; + uiDelegate.setWindow(m_parent); + if (uiDelegate.askDeleteConfirmation(list, KIO::JobUiDelegate::Delete, KIO::JobUiDelegate::DefaultConfirmation)) { + KIO::Job* job = KIO::del(list); + KJobWidgets::setWindow(job, m_parent); + job->ui()->setAutoErrorHandlingEnabled(true); + } } void TreeViewContextMenu::showProperties()