56 lines
1.3 KiB
C++
56 lines
1.3 KiB
C++
// SPDX-FileCopyrightText: 2020 Carl Schwan <carlschwan@kde.org>
|
|
// SPDX-License-Identifier: LGPL-2.1-or-later
|
|
|
|
#pragma once
|
|
|
|
#include <events/eventcontent.h>
|
|
#include <events/roomevent.h>
|
|
|
|
namespace Quotient
|
|
{
|
|
/**
|
|
* @class StickerEvent
|
|
*
|
|
* Class to define a sticker event.
|
|
*
|
|
* 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).
|
|
*
|
|
* @sa Quotient::RoomEvent
|
|
*/
|
|
class StickerEvent : public RoomEvent
|
|
{
|
|
public:
|
|
#ifdef QUOTIENT_07
|
|
QUO_EVENT(StickerEvent, "m.sticker")
|
|
#else
|
|
DEFINE_EVENT_TYPEID("m.sticker", StickerEvent)
|
|
#endif
|
|
|
|
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)
|
|
}
|