From a61976ae91d1f41abd0b280c362d8b37ddb65f73 Mon Sep 17 00:00:00 2001 From: Fushan Wen Date: Sat, 22 Jul 2023 23:54:11 +0800 Subject: [PATCH] Allow to drag image from image delegate --- src/qml/Component/Timeline/ImageDelegate.qml | 26 ++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/qml/Component/Timeline/ImageDelegate.qml b/src/qml/Component/Timeline/ImageDelegate.qml index 6e88fb5f8..43f816a99 100644 --- a/src/qml/Component/Timeline/ImageDelegate.qml +++ b/src/qml/Component/Timeline/ImageDelegate.qml @@ -105,6 +105,10 @@ TimelineContainer { Layout.preferredHeight: imageHeight source: root.mediaInfo.source + Drag.active: dragHandler.active + Drag.dragType: Drag.Automatic + Drag.supportedActions: Qt.CopyAction + Image { anchors.fill: parent source: root.mediaInfo.tempInfo.source @@ -141,6 +145,28 @@ TimelineContainer { } } + Item { + anchors.fill: parent + + DragHandler { + id: dragHandler + enabled: img.status === Image.Ready + + onActiveChanged: { + if (active) { + img.grabToImage((result) => { + img.Drag.mimeData = { + "image/png": result.image, + }; + img.Drag.active = dragHandler.active; + }); + } else { + img.Drag.active = false; + } + } + } + } + TapHandler { acceptedButtons: Qt.LeftButton onTapped: {