┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Faure <[email protected]>2014-10-21 20:44:37 +0200
committerDavid Faure <[email protected]>2014-10-21 21:59:05 +0200
commit9bf03a3c48f4847b5e0417e3529bf071108cbf1e (patch)
tree7a0e06ebb453498a51e69af723527fb63bd177bc
parent0ce1c983b55fb79574fd4764e3ae8355f82ebf20 (diff)
Dolphin: port to KIO::pasteInfoText().
DolphinContextMenu::createPasteAction used to be precise about destination ("Paste To Folder"), while now it's precise about the source (what to paste). It was decided that this was more useful and consistent anyway. REVIEW: 120695
-rw-r--r--src/dolphincontextmenu.cpp14
-rw-r--r--src/panels/folders/treeviewcontextmenu.cpp8
-rw-r--r--src/views/dolphinview.cpp5
3 files changed, 19 insertions, 8 deletions
diff --git a/src/dolphincontextmenu.cpp b/src/dolphincontextmenu.cpp
index b01346985..cb389b19c 100644
--- a/src/dolphincontextmenu.cpp
+++ b/src/dolphincontextmenu.cpp
@@ -34,8 +34,8 @@
#include <KIO/RestoreJob>
#include <KIO/EmptyTrashJob>
#include <KIO/JobUiDelegate>
+#include <KIO/Paste>
#include <KJobWidgets>
-#include <QMenu>
#include <KMimeTypeTrader>
#include <KNewFileMenu>
#include <konq_operations.h>
@@ -44,7 +44,11 @@
#include <KStandardAction>
#include <KToolBar>
+#include <QApplication>
+#include <QClipboard>
#include <QMenuBar>
+#include <QMenu>
+
#include <panels/places/placesitem.h>
#include <panels/places/placesitemmodel.h>
@@ -439,9 +443,11 @@ QAction* DolphinContextMenu::createPasteAction()
QAction* action = 0;
const bool isDir = !m_fileInfo.isNull() && m_fileInfo.isDir();
if (isDir && (m_selectedItems.count() == 1)) {
- const QPair<bool, QString> pasteInfo = KonqOperations::pasteInfo(m_fileInfo.url());
- action = new QAction(QIcon::fromTheme("edit-paste"), i18nc("@action:inmenu", "Paste Into Folder"), this);
- action->setEnabled(pasteInfo.first);
+ const QMimeData *mimeData = QApplication::clipboard()->mimeData();
+ bool canPaste;
+ const QString text = KIO::pasteActionText(mimeData, &canPaste, m_fileInfo);
+ action = new QAction(QIcon::fromTheme("edit-paste"), text, this);
+ action->setEnabled(canPaste);
connect(action, &QAction::triggered, m_mainWindow, &DolphinMainWindow::pasteIntoFolder);
} else {
action = m_mainWindow->actionCollection()->action(KStandardAction::name(KStandardAction::Paste));
diff --git a/src/panels/folders/treeviewcontextmenu.cpp b/src/panels/folders/treeviewcontextmenu.cpp
index 4afe9e8e3..85d1215c6 100644
--- a/src/panels/folders/treeviewcontextmenu.cpp
+++ b/src/panels/folders/treeviewcontextmenu.cpp
@@ -70,10 +70,12 @@ void TreeViewContextMenu::open()
QAction* copyAction = new QAction(QIcon::fromTheme("edit-copy"), i18nc("@action:inmenu", "Copy"), this);
connect(copyAction, &QAction::triggered, this, &TreeViewContextMenu::copy);
- const QPair<bool, QString> pasteInfo = KonqOperations::pasteInfo(m_fileItem.url());
- QAction* pasteAction = new QAction(QIcon::fromTheme("edit-paste"), pasteInfo.second, this);
+ const QMimeData *mimeData = QApplication::clipboard()->mimeData();
+ bool canPaste;
+ const QString text = KIO::pasteActionText(mimeData, &canPaste, m_fileItem);
+ QAction* pasteAction = new QAction(QIcon::fromTheme("edit-paste"), text, this);
connect(pasteAction, &QAction::triggered, this, &TreeViewContextMenu::paste);
- pasteAction->setEnabled(pasteInfo.first);
+ pasteAction->setEnabled(canPaste);
popup->addAction(cutAction);
popup->addAction(copyAction);
diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp
index f35c9e6ca..b330e5f5c 100644
--- a/src/views/dolphinview.cpp
+++ b/src/views/dolphinview.cpp
@@ -1149,7 +1149,10 @@ void DolphinView::updateSortFoldersFirst(bool foldersFirst)
QPair<bool, QString> DolphinView::pasteInfo() const
{
- return KonqOperations::pasteInfo(url());
+ const QMimeData *mimeData = QApplication::clipboard()->mimeData();
+ QPair<bool, QString> info;
+ info.second = KIO::pasteActionText(mimeData, &info.first, rootItem());
+ return info;
}
void DolphinView::setTabsForFilesEnabled(bool tabsForFiles)