- property var imageMxcUri: imageFile.url || event.content.url
- property var imageSha256: imageFile.hashes ? imageFile.hashes.sha256 : ""
- property var imageKey: imageFile.key ? imageFile.key.k : ""
- property var imageIv: imageFile.iv || ""
- property var imageUri: thumbnailMxcUri ? matrixSdk.mxcUriToHttp(imageMxcUri) : kazvIOManager.cacheFile(matrixSdk.mxcUriToHttp(imageMxcUri), imageMxcUri.split('/')[3], imageSha256, imageKey, imageIv) // If there are no thumbnail, cache the image
property var imageWidth: imageInfo.w
property var imageHeight: imageInfo.h
- property var previewUri: thumbnailMxcUri ? thumbnailUri : imageUri // Uri for source of Image QML type
- property var mediaId: previewUri.toString().split('/').slice(-1)[0]
+ property var imageMxcUri: fileHandler.encryptedFileMxcUri || fileHandler.unencryptedFileMxcUri
+ property var mediaId: imageMxcUri.toString().split('/').slice(-1)[0]
property var innerContentWidth: upper.contentMaxWidth - bubble.bubbleSpacing
- property var kazvIOJob
+ property var jobManager: kazvIOManager
+ property var mtxSdk: matrixSdk
+
+ Kazv.FileHandler {
+ id: fileHandler
+ eventContent: event.content
+ autoCache: true
+ kazvIOManager: upper.jobManager
+ matrixSdk: upper.mtxSdk
+ }
Types.MediaBubble {
id: bubble
- eventId: event.eventId
- serverUrl: upper.imageUri
- fileName: body
- hash: imageSha256
- key: upper.imageKey
- iv: upper.imageIv
+ eventContent: event.content
+ mediaId: upper.mediaId
property var label: Kazv.SelectableText {
Layout.fillWidth: true
wrapMode: Text.Wrap
text: l10n.get('event-message-image-sent', { gender, body })