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: {