From: Harald Sitter Date: Tue, 3 May 2022 11:57:09 +0000 (+0200) Subject: portalize drag urls X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/8d7e600f63a1961294dfe2c278a710b4ce0716e9?ds=sidebyside portalize drag urls this enables sandboxed application to receive drop events --- diff --git a/src/kitemviews/kitemlistcontroller.cpp b/src/kitemviews/kitemlistcontroller.cpp index 72227a1e1..3d83bc914 100644 --- a/src/kitemviews/kitemlistcontroller.cpp +++ b/src/kitemviews/kitemlistcontroller.cpp @@ -17,6 +17,7 @@ #include #include +#include #include #include @@ -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(). diff --git a/src/panels/folders/treeviewcontextmenu.cpp b/src/panels/folders/treeviewcontextmenu.cpp index f4181d064..df96b9f25 100644 --- a/src/panels/folders/treeviewcontextmenu.cpp +++ b/src/panels/folders/treeviewcontextmenu.cpp @@ -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); } diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp index ccff1256a..5e7c63e82 100644 --- a/src/views/dolphinview.cpp +++ b/src/views/dolphinview.cpp @@ -45,6 +45,7 @@ #include #include #include +#include #include #include @@ -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); }