aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--room.cpp8
-rw-r--r--room.h1
2 files changed, 9 insertions, 0 deletions
diff --git a/room.cpp b/room.cpp
index c5b674ae..bf3477e3 100644
--- a/room.cpp
+++ b/room.cpp
@@ -59,6 +59,7 @@ class Room::Private: public QObject
int notificationCount;
QList<User*> users;
QList<User*> usersTyping;
+ QList<User*> membersLeft;
QHash<User*, QString> lastReadEvent;
QString prevBatch;
bool gettingNewContent;
@@ -194,6 +195,11 @@ QList< User* > Room::usersTyping() const
return d->usersTyping;
}
+QList< User* > Room::membersLeft() const
+{
+ return d->membersLeft;
+}
+
QList< User* > Room::users() const
{
return d->users;
@@ -336,6 +342,8 @@ void Room::processStateEvent(Event* event)
and d->users.contains(u) )
{
d->users.removeAll(u);
+ if ( !d->membersLeft.contains(u) )
+ d->membersLeft.append(u);
emit userRemoved(u);
}
}
diff --git a/room.h b/room.h
index c4993f7a..fd49f2ef 100644
--- a/room.h
+++ b/room.h
@@ -49,6 +49,7 @@ namespace QMatrixClient
Q_INVOKABLE QString topic() const;
Q_INVOKABLE JoinState joinState() const;
Q_INVOKABLE QList<User*> usersTyping() const;
+ QList<User*> membersLeft() const;
Q_INVOKABLE QList<User*> users() const;