aboutsummaryrefslogtreecommitdiff
path: root/room.cpp
diff options
context:
space:
mode:
authorKitsune Ral <Kitsune-Ral@users.sf.net>2016-04-10 18:08:29 +0900
committerKitsune Ral <Kitsune-Ral@users.sf.net>2016-05-02 19:11:08 +0900
commit107b6fc4fc91d2cde3fc3d6ac4c532f1ef986e89 (patch)
treec09aff5984d506260c533f23658d3dbf2ef0924e /room.cpp
parentfb45e26b8ba9b5495e723cded3b6420b20b39b37 (diff)
downloadlibquotient-107b6fc4fc91d2cde3fc3d6ac4c532f1ef986e89.tar.gz
libquotient-107b6fc4fc91d2cde3fc3d6ac4c532f1ef986e89.zip
Store left room members as well.
In particular, this will be needed to render room names according to the CS spec.
Diffstat (limited to 'room.cpp')
-rw-r--r--room.cpp8
1 files changed, 8 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);
}
}