summary refs log tree commit diff
path: root/resources
diff options
context:
space:
mode:
authorNicolas Werner <nicolas.werner@hotmail.de>2024-08-21 00:14:34 +0200
committerNicolas Werner <nicolas.werner@hotmail.de>2024-08-21 00:29:11 +0200
commitd1eb35197546a491ce3503c7c2582980e90b6c52 (patch)
treef563e0a6d99e423970d9bfd954f24123bb8608ed /resources
parentWarn about room name and topic not being encrypted (diff)
downloadnheko-d1eb35197546a491ce3503c7c2582980e90b6c52.tar.xz
Allow loading image only after explicit interactions
Diffstat (limited to 'resources')
-rw-r--r--resources/qml/delegates/ImageMessage.qml19
1 files changed, 16 insertions, 3 deletions
diff --git a/resources/qml/delegates/ImageMessage.qml b/resources/qml/delegates/ImageMessage.qml

index f75ad7b7..a97ba9f7 100644 --- a/resources/qml/delegates/ImageMessage.qml +++ b/resources/qml/delegates/ImageMessage.qml
@@ -20,6 +20,8 @@ AbstractButton { required property int containerHeight property double divisor: EventDelegateChooser.isReply ? 10 : 4 + property bool showImage: room.showImage() + EventDelegateChooser.keepAspectRatio: true EventDelegateChooser.maxWidth: originalWidth EventDelegateChooser.maxHeight: containerHeight / divisor @@ -113,7 +115,7 @@ AbstractButton { visible: !mxcimage.loaded anchors.fill: parent - source: url != "" ? (url.replace("mxc://", "image://MxcImage/") + "?scale") : "" + source: (url != "" && showImage) ? (url.replace("mxc://", "image://MxcImage/") + "?scale") : "" asynchronous: true fillMode: Image.PreserveAspectFit horizontalAlignment: Image.AlignLeft @@ -130,7 +132,7 @@ AbstractButton { visible: loaded roomm: room play: !Settings.animateImagesOnHover || parent.hovered - eventId: parent.eventId + eventId: showImage ? parent.eventId : "" anchors.fill: parent } @@ -147,7 +149,9 @@ AbstractButton { anchors.fill: parent } - onClicked: Settings.openImageExternal ? room.openMedia(eventId) : TimelineManager.openImageOverlay(room, url, eventId, originalWidth, proportionalHeight); + onClicked: { + Settings.openImageExternal ? room.openMedia(eventId) : TimelineManager.openImageOverlay(room, url, eventId, originalWidth, proportionalHeight); + } Item { id: overlay @@ -180,4 +184,13 @@ AbstractButton { } + Button { + anchors.centerIn: parent + visible: !showImage && !parent.EventDelegateChooser.isReply + enabled: visible + text: qsTr("Show") + onClicked: { + showImage = true; + } + } }