From 176b260bfaf8f575560bfe3fb520ee3fa0ad3a7a Mon Sep 17 00:00:00 2001 From: Kitsune Ral Date: Sun, 26 Jul 2020 09:26:19 +0200 Subject: RoomAvatarEvent: add constructors from content So that room avatar events could also be sent, not only received. --- lib/events/eventcontent.h | 2 ++ lib/events/roomavatarevent.h | 12 ++++++++++++ 2 files changed, 14 insertions(+) (limited to 'lib/events') diff --git a/lib/events/eventcontent.h b/lib/events/eventcontent.h index e7656de5..0d4c047e 100644 --- a/lib/events/eventcontent.h +++ b/lib/events/eventcontent.h @@ -214,6 +214,8 @@ namespace EventContent { template class UrlWithThumbnailContent : public UrlBasedContent { public: + // NB: when using inherited constructors, thumbnail has to be + // initialised separately using UrlBasedContent::UrlBasedContent; explicit UrlWithThumbnailContent(const QJsonObject& json) : UrlBasedContent(json), thumbnail(InfoT::originalInfoJson) diff --git a/lib/events/roomavatarevent.h b/lib/events/roomavatarevent.h index 4013773c..c2100eaa 100644 --- a/lib/events/roomavatarevent.h +++ b/lib/events/roomavatarevent.h @@ -31,6 +31,18 @@ public: DEFINE_EVENT_TYPEID("m.room.avatar", RoomAvatarEvent) explicit RoomAvatarEvent(const QJsonObject& obj) : StateEvent(typeId(), obj) {} + explicit RoomAvatarEvent(const EventContent::ImageContent& avatar) + : StateEvent(typeId(), matrixTypeId(), QString(), avatar) + {} + // A replica of EventContent::ImageInfo constructor + explicit RoomAvatarEvent(const QUrl& u, qint64 fileSize = -1, + QMimeType mimeType = {}, + const QSize& imageSize = {}, + const QString& originalFilename = {}) + : RoomAvatarEvent(EventContent::ImageContent { + u, fileSize, mimeType, imageSize, originalFilename }) + {} + QUrl url() const { return content().url; } }; REGISTER_EVENT_TYPE(RoomAvatarEvent) -- cgit v1.2.3