moment/src/qml/Chat/Timeline/EventImage.qml

52 lines
1.5 KiB
QML
Raw Normal View History

import QtQuick 2.12
import "../../Base"
import "../../utils.js" as Utils
HMxcImage {
id: image
2019-10-28 04:26:00 +11:00
horizontalAlignment: Image.AlignLeft
sourceSize.width: 640 // FIXME
sourceSize.height: 480 // FIXME
animated: loader.singleMediaInfo.media_mime === "image/gif" ||
Utils.urlExtension(loader.mediaUrl) === "gif"
clientUserId: chatPage.userId
thumbnail: ! animated
2019-11-05 01:46:06 +11:00
mxc: thumbnail ?
(loader.thumbnailMxc || loader.mediaUrl) :
(loader.mediaUrl || loader.thumbnailMxc)
cryptDict: thumbnail && loader.thumbnailMxc ?
loader.singleMediaInfo.thumbnail_crypt_dict :
loader.singleMediaInfo.media_crypt_dict
property EventMediaLoader loader
readonly property bool isEncrypted: ! Utils.isEmptyObject(cryptDict)
readonly property string openUrl: isEncrypted ? cachedPath : image.httpUrl
TapHandler {
onTapped: if (! image.animated) Qt.openUrlExternally(openUrl)
onDoubleTapped: Qt.openUrlExternally(openUrl)
}
HoverHandler {
id: hover
2019-09-07 07:21:41 +10:00
onHoveredChanged:
eventDelegate.hoveredMediaTypeUrl =
hovered ? [EventDelegate.Media.Image, openUrl] : []
}
EventImageTextBubble {
anchors.left: parent.left
anchors.top: parent.top
text: loader.showSender
textFormat: Text.StyledText
}
EventImageTextBubble {
anchors.right: parent.right
anchors.bottom: parent.bottom
text: loader.showDate
}
}