Support encrypted file reading & caching
Also don't convert palette images to JPEG when creating thumbnails.
This commit is contained in:
@@ -21,6 +21,7 @@ HImage {
|
||||
property string mxc
|
||||
property string sourceOverride: ""
|
||||
property bool thumbnail: true
|
||||
property var cryptDict: ({})
|
||||
|
||||
property bool show: false
|
||||
property string cachedPath: ""
|
||||
@@ -45,7 +46,8 @@ HImage {
|
||||
}
|
||||
|
||||
let method = image.thumbnail ? "get_thumbnail" : "get_media"
|
||||
let args = image.thumbnail ? [image.mxc, w, h] : [image.mxc]
|
||||
let args = image.thumbnail ?
|
||||
[image.mxc, w, h, cryptDict] : [image.mxc, cryptDict]
|
||||
|
||||
py.callClientCoro(
|
||||
clientUserId, "media_cache." + method, args, path => {
|
||||
|
@@ -36,14 +36,14 @@ Column {
|
||||
|
||||
readonly property bool smallAvatar:
|
||||
eventList.canCombine(model, nextItem) &&
|
||||
(model.event_type == "RoomMessageEmote" ||
|
||||
(model.event_type === "RoomMessageEmote" ||
|
||||
! model.event_type.startsWith("RoomMessage"))
|
||||
|
||||
readonly property bool collapseAvatar: combine
|
||||
readonly property bool hideAvatar: onRight
|
||||
|
||||
readonly property bool hideNameLine:
|
||||
model.event_type == "RoomMessageEmote" ||
|
||||
model.event_type === "RoomMessageEmote" ||
|
||||
! model.event_type.startsWith("RoomMessage") ||
|
||||
onRight ||
|
||||
combine
|
||||
|
@@ -14,6 +14,9 @@ HMxcImage {
|
||||
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
|
||||
|
@@ -71,6 +71,7 @@ HTileDelegate {
|
||||
|
||||
let ev = model.data.last_event
|
||||
|
||||
// If it's an emote or non-message/media event
|
||||
if (ev.event_type === "RoomMessageEmote" ||
|
||||
! ev.event_type.startsWith("RoomMessage")) {
|
||||
return Utils.processedEventText(ev)
|
||||
|
@@ -109,6 +109,7 @@ function processedEventText(ev) {
|
||||
}
|
||||
|
||||
if (ev.event_type.startsWith("RoomMessage")) { return ev.content }
|
||||
if (ev.event_type.startsWith("RoomEncrypted")) { return ev.content }
|
||||
|
||||
let text = qsTr(ev.content).arg(
|
||||
coloredNameHtml(ev.sender_name, ev.sender_id)
|
||||
|
Reference in New Issue
Block a user