Show inline path thumbnails for stickers.

This commit is contained in:
John Preston
2021-07-02 13:13:48 +03:00
parent f09b91ebb5
commit 4124c2eb57
21 changed files with 355 additions and 38 deletions
@@ -172,7 +172,7 @@ void DocumentMedia::setGoodThumbnail(QImage thumbnail) {
}
Image *DocumentMedia::thumbnailInline() const {
if (!_inlineThumbnail) {
if (!_inlineThumbnail && !_owner->inlineThumbnailIsPath()) {
const auto bytes = _owner->inlineThumbnailBytes();
if (!bytes.isEmpty()) {
auto image = Images::FromInlineBytes(bytes);
@@ -186,6 +186,19 @@ Image *DocumentMedia::thumbnailInline() const {
return _inlineThumbnail.get();
}
const QPainterPath &DocumentMedia::thumbnailPath() const {
if (_pathThumbnail.isEmpty() && _owner->inlineThumbnailIsPath()) {
const auto bytes = _owner->inlineThumbnailBytes();
if (!bytes.isEmpty()) {
_pathThumbnail = Images::PathFromInlineBytes(bytes);
if (_pathThumbnail.isEmpty()) {
_owner->clearInlineThumbnailBytes();
}
}
}
return _pathThumbnail;
}
Image *DocumentMedia::thumbnail() const {
return _thumbnail.get();
}