diff --git a/src/eventhandler.cpp b/src/eventhandler.cpp index af7af654d..599e96eb7 100644 --- a/src/eventhandler.cpp +++ b/src/eventhandler.cpp @@ -3,6 +3,8 @@ #include "eventhandler.h" +#include + #include #include @@ -667,6 +669,9 @@ QVariantMap EventHandler::getMediaInfoFromFileInfo(const EventContent::FileInfo mediaInfo["width"_ls] = castInfo->imageSize.width(); mediaInfo["height"_ls] = castInfo->imageSize.height(); + // TODO: Images in certain formats (e.g. WebP) will be erroneously marked as animated, even if they are static. + mediaInfo["animated"_ls] = QMovie::supportedFormats().contains(mimeType.preferredSuffix().toUtf8()); + if (!isThumbnail) { QVariantMap tempInfo; auto thumbnailInfo = getMediaInfoFromFileInfo(castInfo->thumbnailInfo(), eventId, true); diff --git a/src/models/messageeventmodel.cpp b/src/models/messageeventmodel.cpp index 116f29403..6f9adff69 100644 --- a/src/models/messageeventmodel.cpp +++ b/src/models/messageeventmodel.cpp @@ -14,7 +14,6 @@ #include #include -#include #include #include diff --git a/src/qml/Component/Timeline/ImageDelegate.qml b/src/qml/Component/Timeline/ImageDelegate.qml index 2a051ca18..d2f4ec187 100644 --- a/src/qml/Component/Timeline/ImageDelegate.qml +++ b/src/qml/Component/Timeline/ImageDelegate.qml @@ -73,8 +73,8 @@ TimelineContainer { active: !root.mediaInfo.animated sourceComponent: Image { source: root.mediaInfo.source - sourceSize.width: imageContainer.maxSize.width * Screen.devicePixelRatio - sourceSize.height: imageContainer.maxSize.height * Screen.devicePixelRatio + sourceSize.width: mediaSizeHelper.currentSize.width * Screen.devicePixelRatio + sourceSize.height: mediaSizeHelper.currentSize.height * Screen.devicePixelRatio fillMode: Image.PreserveAspectFit }