1
0
mirror of https://invent.kde.org/system/dolphin synced 2024-07-04 17:30:55 +00:00

portalize drag urls

this enables sandboxed application to receive drop events
This commit is contained in:
Harald Sitter 2022-05-03 13:57:09 +02:00
parent 7fdd9f22d8
commit 8d7e600f63
3 changed files with 8 additions and 2 deletions

View File

@ -17,6 +17,7 @@
#include <KTwoFingerSwipe>
#include <KTwoFingerTap>
#include <KUrlMimeData>
#include <QAccessible>
#include <QApplication>
@ -1318,10 +1319,11 @@ void KItemListController::startDragging()
return;
}
QMimeData* data = m_model->createMimeData(selectedItems);
QMimeData *data = m_model->createMimeData(selectedItems);
if (!data) {
return;
}
KUrlMimeData::exportUrlsToPortal(data);
// The created drag object will be owned and deleted
// by QApplication::activeWindow().

View File

@ -162,6 +162,7 @@ void TreeViewContextMenu::populateMimeData(QMimeData* mimeData, bool cut)
bool dummy;
mostLocalUrls.append(m_fileItem.mostLocalUrl(&dummy));
KIO::setClipboardDataCut(mimeData, cut);
KUrlMimeData::exportUrlsToPortal(mimeData);
KUrlMimeData::setUrls(kdeUrls, mostLocalUrls, mimeData);
}

View File

@ -45,6 +45,7 @@
#include <KLocalizedString>
#include <KMessageBox>
#include <KProtocolManager>
#include <KUrlMimeData>
#include <QAbstractItemView>
#include <QActionGroup>
@ -757,12 +758,14 @@ void DolphinView::cutSelectedItemsToClipboard()
{
QMimeData* mimeData = selectionMimeData();
KIO::setClipboardDataCut(mimeData, true);
KUrlMimeData::exportUrlsToPortal(mimeData);
QApplication::clipboard()->setMimeData(mimeData);
}
void DolphinView::copySelectedItemsToClipboard()
{
QMimeData* mimeData = selectionMimeData();
QMimeData *mimeData = selectionMimeData();
KUrlMimeData::exportUrlsToPortal(mimeData);
QApplication::clipboard()->setMimeData(mimeData);
}