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
{
|