mirror of
https://invent.kde.org/system/dolphin
synced 2024-08-21 09:20:13 +00:00
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:
parent
0ce1c983b5
commit
9bf03a3c48
|
@ -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));
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue