diff options
author | n-peugnet <n.peugnet@free.fr> | 2022-10-06 19:27:24 +0200 |
---|---|---|
committer | n-peugnet <n.peugnet@free.fr> | 2022-10-06 19:27:24 +0200 |
commit | 08632625e1a04257b5c7d4a9db2246ac07436748 (patch) | |
tree | 9ddadf219a7e352ddd3549ad1683282c944adfb6 /lib/events/stickerevent.h | |
parent | e9c2e2a26d3711e755aa5eb8a8478917c71d612b (diff) | |
parent | d911b207f49e936b3e992200796110f0749ed150 (diff) | |
download | libquotient-08632625e1a04257b5c7d4a9db2246ac07436748.tar.gz libquotient-08632625e1a04257b5c7d4a9db2246ac07436748.zip |
Update upstream source from tag 'upstream/0.7.0'
Update to upstream version '0.7.0'
with Debian dir 30dcb77a77433e4a54eab77c0b82ae925dead2d8
Diffstat (limited to 'lib/events/stickerevent.h')
-rw-r--r-- | lib/events/stickerevent.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/lib/events/stickerevent.h b/lib/events/stickerevent.h new file mode 100644 index 00000000..67905481 --- /dev/null +++ b/lib/events/stickerevent.h @@ -0,0 +1,48 @@ +// 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 QUOTIENT_API StickerEvent : public RoomEvent +{ +public: + QUO_EVENT(StickerEvent, "m.sticker") + + explicit StickerEvent(const QJsonObject& obj) + : RoomEvent(TypeId, obj) + , m_imageContent( + EventContent::ImageContent(obj["content"_ls].toObject())) + {} + + /// \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. + QUO_CONTENT_GETTER(QString, body) + + /// \brief Metadata about the image referred to in url including a + /// thumbnail representation. + const EventContent::ImageContent& image() const + { + return m_imageContent; + } + + /// \brief The URL to the sticker image. This must be a valid mxc:// URI. + QUrl url() const + { + return m_imageContent.url(); + } + +private: + EventContent::ImageContent m_imageContent; +}; +} // namespace Quotient |