2019-09-15 07:48:53 +10:00
|
|
|
import QtQuick 2.12
|
|
|
|
import QtQuick.Layouts 1.12
|
|
|
|
import "../../Base"
|
2019-12-17 09:05:09 +11:00
|
|
|
import "../../utils.js" as Utils
|
2019-09-15 07:48:53 +10:00
|
|
|
|
|
|
|
HTile {
|
2019-12-17 09:05:09 +11:00
|
|
|
id: file
|
2019-11-11 20:34:46 +11:00
|
|
|
width: Math.max(
|
|
|
|
Math.min(eventContent.messageBodyWidth,
|
|
|
|
theme.chat.message.fileMinWidth),
|
|
|
|
Math.min(eventContent.messageBodyWidth, implicitWidth),
|
|
|
|
)
|
2019-12-17 09:28:51 +11:00
|
|
|
height: Math.max(theme.chat.message.avatarSize, implicitHeight)
|
2019-11-11 20:34:46 +11:00
|
|
|
|
2019-11-11 20:26:32 +11:00
|
|
|
title.text: loader.singleMediaInfo.media_title || qsTr("Untitled file")
|
2019-09-15 07:48:53 +10:00
|
|
|
title.elide: Text.ElideMiddle
|
2019-11-11 20:26:32 +11:00
|
|
|
subtitle.text: CppUtils.formattedBytes(loader.singleMediaInfo.media_size)
|
2019-09-15 07:48:53 +10:00
|
|
|
|
|
|
|
image: HIcon {
|
|
|
|
svgName: "download"
|
|
|
|
}
|
2019-12-17 09:05:09 +11:00
|
|
|
|
|
|
|
onLeftClicked: download(Qt.openUrlExternally)
|
|
|
|
onRightClicked: eventDelegate.openContextMenu()
|
|
|
|
|
|
|
|
onHoveredChanged: {
|
|
|
|
if (! hovered) {
|
|
|
|
eventDelegate.hoveredMediaTypeUrl = []
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
eventDelegate.hoveredMediaTypeUrl = [
|
|
|
|
EventDelegate.Media.File,
|
2019-12-17 09:22:25 +11:00
|
|
|
loader.downloadedPath.replace(/^file:\/\//, "") || loader.mediaUrl
|
2019-12-17 09:05:09 +11:00
|
|
|
]
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
property EventMediaLoader loader
|
|
|
|
|
|
|
|
readonly property bool cryptDict: loader.singleMediaInfo.media_crypt_dict
|
|
|
|
readonly property bool isEncrypted: ! Utils.isEmptyObject(cryptDict)
|
2019-09-15 07:48:53 +10:00
|
|
|
}
|