From b62149fdb0b5c247c075a1070bf4b75c1a3d057e Mon Sep 17 00:00:00 2001 From: Josip Delic Date: Fri, 1 Sep 2017 20:59:15 +0200 Subject: Add Connection::leftRoom signal --- connection.cpp | 5 ++++- connection.h | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/connection.cpp b/connection.cpp index f9f1490c..7920125d 100644 --- a/connection.cpp +++ b/connection.cpp @@ -207,7 +207,10 @@ JoinRoomJob* Connection::joinRoom(const QString& roomAlias) void Connection::leaveRoom(Room* room) { - callApi(room->id()); + auto job = callApi(room->id()); + connect( job, &BaseJob::success, [=] () { + emit leftRoom(room); + }); } RoomMessagesJob* Connection::getMessages(Room* room, const QString& from) const diff --git a/connection.h b/connection.h index e3f33155..0b8500b9 100644 --- a/connection.h +++ b/connection.h @@ -105,6 +105,7 @@ namespace QMatrixClient void syncDone(); void newRoom(Room* room); void joinedRoom(Room* room); + void leftRoom(Room* room); void loginError(QString error); void networkError(size_t nextAttempt, int inMilliseconds); -- cgit v1.2.3 From c0bd6c511b54eb9154e8f42427a62f5ac202cb4a Mon Sep 17 00:00:00 2001 From: Kitsune Ral Date: Tue, 5 Sep 2017 18:34:58 +0900 Subject: Room: memberCount(); slight optimization and reformatting --- room.cpp | 12 ++++++++---- room.h | 1 + 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/room.cpp b/room.cpp index 992411c0..547b74c4 100644 --- a/room.cpp +++ b/room.cpp @@ -371,16 +371,20 @@ QList< User* > Room::users() const return d->membersMap.values(); } -QStringList Room::memberNames() const { +QStringList Room::memberNames() const +{ QStringList res; - - for (auto u : d->membersMap.values()) { + for (auto u : d->membersMap) res.append( this->roomMembername(u) ); - } return res; } +int Room::memberCount() const +{ + return d->membersMap.size(); +} + void Room::Private::insertMemberIntoMap(User *u) { auto namesakes = membersMap.values(u->name()); diff --git a/room.h b/room.h index a3eb189c..23a1412d 100644 --- a/room.h +++ b/room.h @@ -94,6 +94,7 @@ namespace QMatrixClient Q_INVOKABLE QList users() const; Q_INVOKABLE QStringList memberNames() const; + Q_INVOKABLE int memberCount() const; /** * @brief Produces a disambiguated name for a given user in -- cgit v1.2.3