diff options
author | Carl Schwan <carl@carlschwan.eu> | 2020-12-28 18:22:29 +0100 |
---|---|---|
committer | Carl Schwan <carl@carlschwan.eu> | 2020-12-28 18:22:29 +0100 |
commit | e5bf7c2fa64716de0b75a67acc5f8620e8dc1704 (patch) | |
tree | 1ce57ba6971d0066ba112e84700bf928cee1eaf0 /lib/events/stickerevent.h | |
parent | 95343a29f141f7d2b231a41615bc0e57acb890fe (diff) | |
download | libquotient-e5bf7c2fa64716de0b75a67acc5f8620e8dc1704.tar.gz libquotient-e5bf7c2fa64716de0b75a67acc5f8620e8dc1704.zip |
Add support for sticker events
Diffstat (limited to 'lib/events/stickerevent.h')
-rw-r--r-- | lib/events/stickerevent.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/lib/events/stickerevent.h b/lib/events/stickerevent.h new file mode 100644 index 00000000..93671086 --- /dev/null +++ b/lib/events/stickerevent.h @@ -0,0 +1,38 @@ +// SDPX-FileCopyrightText: 2020 Carl Schwan <carlschwan@kde.org> +// SPDX-License-Identifier: LGPL-2.1-or-later + +#pragma once + +#include "roomevent.h" +#include "eventcontent.h" + +namespace Quotient { + +/// Sticker messages are specialised image messages that are displayed without +/// controls (e.g. no "download" link, or light-box view on click, as would be +/// displayed for for m.image events). +class StickerEvent : public RoomEvent +{ +public: + DEFINE_EVENT_TYPEID("m.sticker", StickerEvent) + + explicit StickerEvent(const QJsonObject &obj); + + /// \brief A textual representation or associated description of the + /// sticker image. + /// + /// This could be the alt text of the original image, or a message to + /// accompany and further describe the sticker. + QString body() const; + + /// \brief Metadata about the image referred to in url including a + /// thumbnail representation. + const EventContent::ImageContent &image() const; + + /// \brief The URL to the sticker image. This must be a valid mxc:// URI. + QUrl url() const; +private: + EventContent::ImageContent m_imageContent; +}; +REGISTER_EVENT_TYPE(StickerEvent) +} // namespace Quotient |