From a9486ec89616a1e944d325c99d87173742a2de33 Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Mon, 21 Mar 2022 05:49:12 +0100 Subject: Fix thumbnails for encrypted files and factor upload box out --- src/EventAccessors.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src/EventAccessors.cpp') diff --git a/src/EventAccessors.cpp b/src/EventAccessors.cpp index 00cea86e..e4dfe92e 100644 --- a/src/EventAccessors.cpp +++ b/src/EventAccessors.cpp @@ -139,6 +139,19 @@ struct EventFile } }; +struct EventThumbnailFile +{ + template + using file_t = decltype(Content::info.thumbnail_file); + template + std::optional operator()(const mtx::events::Event &e) + { + if constexpr (is_detected::value) + return e.content.info.thumbnail_file; + return std::nullopt; + } +}; + struct EventUrl { template @@ -163,6 +176,8 @@ struct EventThumbnailUrl std::string operator()(const mtx::events::Event &e) { if constexpr (is_detected::value) { + if (auto file = EventThumbnailFile{}(e)) + return file->url; return e.content.info.thumbnail_url; } return ""; @@ -424,6 +439,12 @@ mtx::accessors::file(const mtx::events::collections::TimelineEvents &event) return std::visit(EventFile{}, event); } +std::optional +mtx::accessors::thumbnail_file(const mtx::events::collections::TimelineEvents &event) +{ + return std::visit(EventThumbnailFile{}, event); +} + std::string mtx::accessors::url(const mtx::events::collections::TimelineEvents &event) { -- cgit 1.5.1