summary refs log tree commit diff
path: root/src/InviteesModel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/InviteesModel.cpp')
-rw-r--r--src/InviteesModel.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/InviteesModel.cpp b/src/InviteesModel.cpp

index e045581a..ad99c847 100644 --- a/src/InviteesModel.cpp +++ b/src/InviteesModel.cpp
@@ -16,6 +16,10 @@ InviteesModel::InviteesModel(QObject *parent) void InviteesModel::addUser(QString mxid) { + for (const auto &invitee : invitees_) + if (invitee->mxid_ == mxid) + return; + beginInsertRows(QModelIndex(), invitees_.count(), invitees_.count()); auto invitee = new Invitee{mxid, this}; @@ -30,6 +34,20 @@ InviteesModel::addUser(QString mxid) emit countChanged(); } +void +InviteesModel::removeUser(QString mxid) +{ + for (int i = 0; i < invitees_.length(); ++i) { + if (invitees_[i]->mxid_ == mxid) { + beginRemoveRows(QModelIndex(), i, i); + invitees_.removeAt(i); + endRemoveRows(); + emit countChanged(); + break; + } + } +} + QHash<int, QByteArray> InviteesModel::roleNames() const {