Fix which EventImage url gets opened/copied
This commit is contained in:
parent
fc2fb605e3
commit
25ce08891d
|
@ -7,17 +7,7 @@ HImage {
|
|||
onWidthChanged: Qt.callLater(update)
|
||||
onHeightChanged: Qt.callLater(update)
|
||||
onVisibleChanged: Qt.callLater(update)
|
||||
onMxcChanged: {
|
||||
Qt.callLater(update)
|
||||
|
||||
if (isMxc) {
|
||||
py.callCoro("mxc_to_http", [mxc], http => {
|
||||
image.httpUrl = http || ""
|
||||
})
|
||||
} else {
|
||||
httpUrl = mxc
|
||||
}
|
||||
}
|
||||
onMxcChanged: Qt.callLater(update)
|
||||
|
||||
|
||||
property string mxc
|
||||
|
@ -27,7 +17,6 @@ HImage {
|
|||
|
||||
property bool show: false
|
||||
property string cachedPath: ""
|
||||
property string httpUrl: ""
|
||||
readonly property bool isMxc: mxc.startsWith("mxc://")
|
||||
|
||||
|
||||
|
|
|
@ -21,7 +21,6 @@ HMxcImage {
|
|||
|
||||
property EventMediaLoader loader
|
||||
readonly property bool isEncrypted: ! Utils.isEmptyObject(cryptDict)
|
||||
readonly property string openUrl: isEncrypted ? cachedPath : image.httpUrl
|
||||
|
||||
readonly property real maxHeight:
|
||||
theme.chat.message.thumbnailMaxHeightRatio
|
||||
|
@ -48,16 +47,37 @@ HMxcImage {
|
|||
)
|
||||
|
||||
|
||||
function getOpenUrl(callback) {
|
||||
if (image.isEncrypted) {
|
||||
callback(image.cachedPath)
|
||||
return
|
||||
}
|
||||
|
||||
let toOpen = loader.mediaUrl || loader.thumbnailMxc
|
||||
let isMxc = toOpen.startsWith("mxc://")
|
||||
|
||||
isMxc ?
|
||||
py.callCoro("mxc_to_http", [toOpen], callback) : callback(toOpen)
|
||||
}
|
||||
|
||||
|
||||
TapHandler {
|
||||
onTapped: if (! image.animated) Qt.openUrlExternally(openUrl)
|
||||
onDoubleTapped: Qt.openUrlExternally(openUrl)
|
||||
onTapped: if (! image.animated) getOpenUrl(Qt.openUrlExternally)
|
||||
onDoubleTapped: getOpenUrl(Qt.openUrlExternally)
|
||||
}
|
||||
|
||||
HoverHandler {
|
||||
id: hover
|
||||
onHoveredChanged:
|
||||
onHoveredChanged: {
|
||||
if (hovered) {
|
||||
getOpenUrl(url => {
|
||||
eventDelegate.hoveredMediaTypeUrl =
|
||||
hovered ? [EventDelegate.Media.Image, openUrl] : []
|
||||
[EventDelegate.Media.Image, url]
|
||||
})
|
||||
} else {
|
||||
eventDelegate.hoveredMediaTypeUrl = []
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
EventImageTextBubble {
|
||||
|
|
Loading…
Reference in New Issue
Block a user