summary refs log tree commit diff
path: root/src/SingleImagePackModel.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/SingleImagePackModel.h')
-rw-r--r--src/SingleImagePackModel.h131
1 files changed, 64 insertions, 67 deletions
diff --git a/src/SingleImagePackModel.h b/src/SingleImagePackModel.h

index 60138d36..cd8b0547 100644 --- a/src/SingleImagePackModel.h +++ b/src/SingleImagePackModel.h
@@ -14,81 +14,78 @@ class SingleImagePackModel : public QAbstractListModel { - Q_OBJECT - - Q_PROPERTY(QString roomid READ roomid CONSTANT) - Q_PROPERTY(QString statekey READ statekey WRITE setStatekey NOTIFY statekeyChanged) - Q_PROPERTY( - QString attribution READ attribution WRITE setAttribution NOTIFY attributionChanged) - Q_PROPERTY(QString packname READ packname WRITE setPackname NOTIFY packnameChanged) - Q_PROPERTY(QString avatarUrl READ avatarUrl WRITE setAvatarUrl NOTIFY avatarUrlChanged) - Q_PROPERTY( - bool isStickerPack READ isStickerPack WRITE setIsStickerPack NOTIFY isStickerPackChanged) - Q_PROPERTY(bool isEmotePack READ isEmotePack WRITE setIsEmotePack NOTIFY isEmotePackChanged) - Q_PROPERTY(bool isGloballyEnabled READ isGloballyEnabled WRITE setGloballyEnabled NOTIFY - globallyEnabledChanged) - Q_PROPERTY(bool canEdit READ canEdit CONSTANT) + Q_OBJECT + + Q_PROPERTY(QString roomid READ roomid CONSTANT) + Q_PROPERTY(QString statekey READ statekey WRITE setStatekey NOTIFY statekeyChanged) + Q_PROPERTY(QString attribution READ attribution WRITE setAttribution NOTIFY attributionChanged) + Q_PROPERTY(QString packname READ packname WRITE setPackname NOTIFY packnameChanged) + Q_PROPERTY(QString avatarUrl READ avatarUrl WRITE setAvatarUrl NOTIFY avatarUrlChanged) + Q_PROPERTY( + bool isStickerPack READ isStickerPack WRITE setIsStickerPack NOTIFY isStickerPackChanged) + Q_PROPERTY(bool isEmotePack READ isEmotePack WRITE setIsEmotePack NOTIFY isEmotePackChanged) + Q_PROPERTY(bool isGloballyEnabled READ isGloballyEnabled WRITE setGloballyEnabled NOTIFY + globallyEnabledChanged) + Q_PROPERTY(bool canEdit READ canEdit CONSTANT) public: - enum Roles - { - Url = Qt::UserRole, - ShortCode, - Body, - IsEmote, - IsSticker, - }; - Q_ENUM(Roles); - - SingleImagePackModel(ImagePackInfo pack_, QObject *parent = nullptr); - QHash<int, QByteArray> roleNames() const override; - int rowCount(const QModelIndex &parent = QModelIndex()) const override; - QVariant data(const QModelIndex &index, int role) const override; - bool setData(const QModelIndex &index, - const QVariant &value, - int role = Qt::EditRole) override; - - QString roomid() const { return QString::fromStdString(roomid_); } - QString statekey() const { return QString::fromStdString(statekey_); } - QString packname() const { return QString::fromStdString(pack.pack->display_name); } - QString attribution() const { return QString::fromStdString(pack.pack->attribution); } - QString avatarUrl() const { return QString::fromStdString(pack.pack->avatar_url); } - bool isStickerPack() const { return pack.pack->is_sticker(); } - bool isEmotePack() const { return pack.pack->is_emoji(); } - - bool isGloballyEnabled() const; - bool canEdit() const; - void setGloballyEnabled(bool enabled); - - void setPackname(QString val); - void setAttribution(QString val); - void setAvatarUrl(QString val); - void setStatekey(QString val); - void setIsStickerPack(bool val); - void setIsEmotePack(bool val); - - Q_INVOKABLE void save(); - Q_INVOKABLE void addStickers(QList<QUrl> files); - Q_INVOKABLE void remove(int index); + enum Roles + { + Url = Qt::UserRole, + ShortCode, + Body, + IsEmote, + IsSticker, + }; + Q_ENUM(Roles); + + SingleImagePackModel(ImagePackInfo pack_, QObject *parent = nullptr); + QHash<int, QByteArray> roleNames() const override; + int rowCount(const QModelIndex &parent = QModelIndex()) const override; + QVariant data(const QModelIndex &index, int role) const override; + bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override; + + QString roomid() const { return QString::fromStdString(roomid_); } + QString statekey() const { return QString::fromStdString(statekey_); } + QString packname() const { return QString::fromStdString(pack.pack->display_name); } + QString attribution() const { return QString::fromStdString(pack.pack->attribution); } + QString avatarUrl() const { return QString::fromStdString(pack.pack->avatar_url); } + bool isStickerPack() const { return pack.pack->is_sticker(); } + bool isEmotePack() const { return pack.pack->is_emoji(); } + + bool isGloballyEnabled() const; + bool canEdit() const; + void setGloballyEnabled(bool enabled); + + void setPackname(QString val); + void setAttribution(QString val); + void setAvatarUrl(QString val); + void setStatekey(QString val); + void setIsStickerPack(bool val); + void setIsEmotePack(bool val); + + Q_INVOKABLE void save(); + Q_INVOKABLE void addStickers(QList<QUrl> files); + Q_INVOKABLE void remove(int index); signals: - void globallyEnabledChanged(); - void statekeyChanged(); - void attributionChanged(); - void packnameChanged(); - void avatarUrlChanged(); - void isEmotePackChanged(); - void isStickerPackChanged(); + void globallyEnabledChanged(); + void statekeyChanged(); + void attributionChanged(); + void packnameChanged(); + void avatarUrlChanged(); + void isEmotePackChanged(); + void isStickerPackChanged(); - void addImage(std::string uri, std::string filename, mtx::common::ImageInfo info); + void addImage(std::string uri, std::string filename, mtx::common::ImageInfo info); private slots: - void addImageCb(std::string uri, std::string filename, mtx::common::ImageInfo info); + void addImageCb(std::string uri, std::string filename, mtx::common::ImageInfo info); private: - std::string roomid_; - std::string statekey_, old_statekey_; + std::string roomid_; + std::string statekey_, old_statekey_; - mtx::events::msc2545::ImagePack pack; - std::vector<std::string> shortcodes; + mtx::events::msc2545::ImagePack pack; + std::vector<std::string> shortcodes; };