aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKitsune Ral <Kitsune-Ral@users.sf.net>2020-03-09 17:20:17 +0100
committerGitHub <noreply@github.com>2020-03-09 17:20:17 +0100
commitef81c79c4e7d24d63d1520ddefef347c11052235 (patch)
treeb2333184bf54f031a35704069c650599a9909d24
parentd3ca82b9d7477a35e7580f2d6ce579dcbf791d07 (diff)
parent4f027cf952e2458d2301236d43b4c9fbcdba345b (diff)
downloadlibquotient-ef81c79c4e7d24d63d1520ddefef347c11052235.tar.gz
libquotient-ef81c79c4e7d24d63d1520ddefef347c11052235.zip
Merge pull request #320 from krkk/roommemberevent-types
RoomMemberEvent: add isRejectedInvite(), isBan() and isUnban()
-rw-r--r--lib/events/roommemberevent.cpp20
-rw-r--r--lib/events/roommemberevent.h3
2 files changed, 22 insertions, 1 deletions
diff --git a/lib/events/roommemberevent.cpp b/lib/events/roommemberevent.cpp
index d4b2be45..35cbdb3a 100644
--- a/lib/events/roommemberevent.cpp
+++ b/lib/events/roommemberevent.cpp
@@ -79,6 +79,12 @@ bool RoomMemberEvent::isInvite() const
return membership() == MembershipType::Invite && changesMembership();
}
+bool RoomMemberEvent::isRejectedInvite() const
+{
+ return membership() == MembershipType::Leave && prevContent()
+ && prevContent()->membership == MembershipType::Invite;
+}
+
bool RoomMemberEvent::isJoin() const
{
return membership() == MembershipType::Join && changesMembership();
@@ -88,7 +94,19 @@ bool RoomMemberEvent::isLeave() const
{
return membership() == MembershipType::Leave && prevContent()
&& prevContent()->membership != membership()
- && prevContent()->membership != MembershipType::Ban;
+ && prevContent()->membership != MembershipType::Ban
+ && prevContent()->membership != MembershipType::Invite;
+}
+
+bool RoomMemberEvent::isBan() const
+{
+ return membership() == MembershipType::Ban && changesMembership();
+}
+
+bool RoomMemberEvent::isUnban() const
+{
+ return membership() == MembershipType::Leave && prevContent()
+ && prevContent()->membership == MembershipType::Ban;
}
bool RoomMemberEvent::isRename() const
diff --git a/lib/events/roommemberevent.h b/lib/events/roommemberevent.h
index 0ca439e1..783b8207 100644
--- a/lib/events/roommemberevent.h
+++ b/lib/events/roommemberevent.h
@@ -88,7 +88,10 @@ public:
QUrl avatarUrl() const { return content().avatarUrl; }
QString reason() const { return content().reason; }
bool changesMembership() const;
+ bool isBan() const;
+ bool isUnban() const;
bool isInvite() const;
+ bool isRejectedInvite() const;
bool isJoin() const;
bool isLeave() const;
bool isRename() const;