Newer
Older
// SPDX-FileCopyrightText: Nheko Contributors
#ifndef INVITEESMODEL_H
#define INVITEESMODEL_H
#include <QAbstractListModel>
#include <QQmlEngine>
class Invitee final : public QObject
Invitee(QString mxid,
QString displayName = "",
QString avatarUrl = "",
QObject *parent = nullptr);
const QString mxid_;
QString displayName_;
QString avatarUrl_;
class InviteesModel final : public QAbstractListModel
QML_ELEMENT
QML_UNCREATABLE("")
Q_PROPERTY(int count READ rowCount NOTIFY countChanged)
enum Roles
{
Mxid,
DisplayName,
AvatarUrl,
};
InviteesModel(TimelineModel *room, QObject *parent = nullptr);
TimelineModel *room() const { return room_; }
Q_INVOKABLE void addUser(QString mxid, QString displayName = "", QString avatarUrl = "");
Q_INVOKABLE void removeUser(QString mxid);
[[nodiscard]] QHash<int, QByteArray> roleNames() const override;
[[nodiscard]] int rowCount(const QModelIndex & = QModelIndex()) const override
[[nodiscard]] QVariant
data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
TimelineModel *room_;