From 6a03615413ef90e378df80fa1e3bc4ef031d5ea6 Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Sun, 23 Apr 2023 20:55:28 +0200 Subject: Copy image to clipboard Fixes #599 --- resources/icons/ui/copy.svg | 1 + resources/qml/dialogs/ImageOverlay.qml | 36 ++++++++++++++++++++++++++++++++++ resources/res.qrc | 1 + 3 files changed, 38 insertions(+) create mode 100644 resources/icons/ui/copy.svg (limited to 'resources') diff --git a/resources/icons/ui/copy.svg b/resources/icons/ui/copy.svg new file mode 100644 index 00000000..ae358603 --- /dev/null +++ b/resources/icons/ui/copy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/qml/dialogs/ImageOverlay.qml b/resources/qml/dialogs/ImageOverlay.qml index 6f56e79a..fa874529 100644 --- a/resources/qml/dialogs/ImageOverlay.qml +++ b/resources/qml/dialogs/ImageOverlay.qml @@ -29,6 +29,17 @@ Window { onActivated: imageOverlay.close() } + Shortcut { + sequence: StandardKey.Copy + onActivated: { + if (room) { + room.copyMedia(eventId); + } else { + TimelineManager.copyImage(url); + } + } + } + TapHandler { onSingleTapped: imageOverlay.close(); } @@ -107,14 +118,37 @@ Window { anchors.margins: Nheko.paddingLarge spacing: Nheko.paddingMedium + ImageButton { + height: 48 + width: 48 + hoverEnabled: true + image: ":/icons/icons/ui/copy.svg" + + //ToolTip.visible: hovered + //ToolTip.delay: Nheko.tooltipDelay + //ToolTip.text: qsTr("Copy to clipboard") + + onClicked: { + imageOverlay.hide(); + if (room) { + room.copyMedia(eventId); + } else { + TimelineManager.copyImage(url); + } + imageOverlay.close(); + } + } + ImageButton { height: 48 width: 48 hoverEnabled: true image: ":/icons/icons/ui/download.svg" + //ToolTip.visible: hovered //ToolTip.delay: Nheko.tooltipDelay //ToolTip.text: qsTr("Download") + onClicked: { imageOverlay.hide(); if (room) { @@ -130,9 +164,11 @@ Window { width: 48 hoverEnabled: true image: ":/icons/icons/ui/dismiss.svg" + //ToolTip.visible: hovered //ToolTip.delay: Nheko.tooltipDelay //ToolTip.text: qsTr("Close") + onClicked: imageOverlay.close() } } diff --git a/resources/res.qrc b/resources/res.qrc index 3f1b2b65..412cdb83 100644 --- a/resources/res.qrc +++ b/resources/res.qrc @@ -9,6 +9,7 @@ icons/ui/checkmark.svg icons/ui/clock.svg icons/ui/collapsed.svg + icons/ui/copy.svg icons/ui/delete.svg icons/ui/dismiss.svg icons/ui/dismiss_edit.svg -- cgit 1.5.1