diff options
-rw-r--r-- | events/eventcontent.h | 4 | ||||
-rw-r--r-- | events/roommessageevent.cpp | 5 | ||||
-rw-r--r-- | events/roommessageevent.h | 1 |
3 files changed, 10 insertions, 0 deletions
diff --git a/events/eventcontent.h b/events/eventcontent.h index 4afbaff3..9d44aec0 100644 --- a/events/eventcontent.h +++ b/events/eventcontent.h @@ -200,6 +200,7 @@ namespace QMatrixClient explicit TypedBase(const QJsonObject& o = {}) : Base(o) { } virtual QMimeType type() const = 0; virtual const FileInfo* fileInfo() const { return nullptr; } + virtual const Thumbnail* thumbnailInfo() const { return nullptr; } }; /** @@ -256,6 +257,9 @@ namespace QMatrixClient "thumbnailMediaId", thumbnail.mediaId()); } + const Thumbnail* thumbnailInfo() const override + { return &thumbnail; } + public: Thumbnail thumbnail; diff --git a/events/roommessageevent.cpp b/events/roommessageevent.cpp index 8c088f21..dec0ca50 100644 --- a/events/roommessageevent.cpp +++ b/events/roommessageevent.cpp @@ -128,6 +128,11 @@ bool RoomMessageEvent::hasFileContent() const return content() && content()->fileInfo(); } +bool RoomMessageEvent::hasThumbnail() const +{ + return content() && content()->thumbnailInfo(); +} + QJsonObject RoomMessageEvent::toJson() const { QJsonObject obj = _content ? _content->toJson() : QJsonObject(); diff --git a/events/roommessageevent.h b/events/roommessageevent.h index 2a5eeb7e..a55564ed 100644 --- a/events/roommessageevent.h +++ b/events/roommessageevent.h @@ -61,6 +61,7 @@ namespace QMatrixClient QMimeType mimeType() const; bool hasTextContent() const; bool hasFileContent() const; + bool hasThumbnail() const; QJsonObject toJson() const; |