From 4d8f67df6ab8fe7c2caef0e3a2383d26580e917b Mon Sep 17 00:00:00 2001 From: Ninja Ferret Date: Tue, 20 Jan 2015 19:31:16 -0500 Subject: [PATCH] Initial Commit for unregistered user PMs client-side block option --- cockatrice/src/tab_supervisor.cpp | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/cockatrice/src/tab_supervisor.cpp b/cockatrice/src/tab_supervisor.cpp index 166a766ab..24ce990d0 100644 --- a/cockatrice/src/tab_supervisor.cpp +++ b/cockatrice/src/tab_supervisor.cpp @@ -446,9 +446,26 @@ void TabSupervisor::processGameEventContainer(const GameEventContainer &cont) void TabSupervisor::processUserMessageEvent(const Event_UserMessage &event) { + QString receiverName = QString::fromStdString(event.receiver_name()); + + UserListTWI *twi = tabUserLists->getAllUsersList()->getUsers().value(receiverName); + + ServerInfo_User otherUser; + + if (twi) + otherUser = twi->getUserInfo(); + else + otherUser.set_name(receiverName.toStdString()); + + UserLevelFlags otherUserLevel = UserLevelFlags(otherUser.user_level()); + + if (settingsCache->getIgnoreUnregisteredUsers() && !otherUserLevel.testFlag(ServerInfo_User::IsRegistered)) + return; + TabMessage *tab = messageTabs.value(QString::fromStdString(event.sender_name())); + if (!tab) - tab = messageTabs.value(QString::fromStdString(event.receiver_name())); + tab = messageTabs.value(receiverName); if (!tab) tab = addMessageTab(QString::fromStdString(event.sender_name()), false); if (!tab)