diff --git a/src/qml/Chat/Timeline/EventImage.qml b/src/qml/Chat/Timeline/EventImage.qml index e1270327..78183f35 100644 --- a/src/qml/Chat/Timeline/EventImage.qml +++ b/src/qml/Chat/Timeline/EventImage.qml @@ -24,10 +24,13 @@ HMxcImage { readonly property bool isEncrypted: ! Utils.isEmptyObject(cryptDict) readonly property string openUrl: isEncrypted ? cachedPath : image.httpUrl + readonly property real maxHeight: + theme.chat.message.thumbnailMaxHeightRatio + readonly property size fitSize: Utils.fitSize( // Minimum display size - 192, - 192, + theme.chat.message.thumbnailMinSize.width, + theme.chat.message.thumbnailMinSize.height, // Real size loader.singleMediaInfo.thumbnail_width || @@ -41,8 +44,8 @@ HMxcImage { 600, // Maximum display size - Math.min(eventList.height / 3, eventContent.messageBodyWidth), - eventList.height / 3, + Math.min(eventList.height * maxHeight, eventContent.messageBodyWidth), + eventList.height * maxHeight, ) diff --git a/src/themes/Default.qpl b/src/themes/Default.qpl index f6801c23..52faf6f2 100644 --- a/src/themes/Default.qpl +++ b/src/themes/Default.qpl @@ -352,11 +352,16 @@ chat: string styleInclude: '\n' - // TODO rename + // Prefered minimum width of file messages int fileMinWidth: 256 - int thumbnailWidth: 256 - int videoWidth: 640 - int audioWidth: 320 + + // Don't scale down thumbnails below this size in pixels, if + // the becomes too small to show it at normal size. + size thumbnailMinSize: Qt.size(192, 192) + + // How much of the chat height thumbnails can take at most, + // by default 0.3 for 30%. + real thumbnailMaxHeightRatio: 0.3 daybreak: color background: colors.strongBackground