diff options
author | Kitsune Ral <Kitsune-Ral@users.sf.net> | 2020-07-26 09:26:19 +0200 |
---|---|---|
committer | Kitsune Ral <Kitsune-Ral@users.sf.net> | 2020-07-26 09:26:19 +0200 |
commit | 176b260bfaf8f575560bfe3fb520ee3fa0ad3a7a (patch) | |
tree | 82fc4851e6a3704527756434877fbbe2dde895a4 /lib/events | |
parent | 55d8d9c073b732e296c72bc8a747bbd691931209 (diff) | |
download | libquotient-176b260bfaf8f575560bfe3fb520ee3fa0ad3a7a.tar.gz libquotient-176b260bfaf8f575560bfe3fb520ee3fa0ad3a7a.zip |
RoomAvatarEvent: add constructors from content
So that room avatar events could also be sent, not only received.
Diffstat (limited to 'lib/events')
-rw-r--r-- | lib/events/eventcontent.h | 2 | ||||
-rw-r--r-- | lib/events/roomavatarevent.h | 12 |
2 files changed, 14 insertions, 0 deletions
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 <typename InfoT> class UrlWithThumbnailContent : public UrlBasedContent<InfoT> { public: + // NB: when using inherited constructors, thumbnail has to be + // initialised separately using UrlBasedContent<InfoT>::UrlBasedContent; explicit UrlWithThumbnailContent(const QJsonObject& json) : UrlBasedContent<InfoT>(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) |