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
This commit is contained in:
David Faure 2014-10-21 20:44:37 +02:00
parent 0ce1c983b5
commit 9bf03a3c48
3 changed files with 19 additions and 8 deletions

View file

@ -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));

View file

@ -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);

View file

@ -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)