From 4d8f67df6ab8fe7c2caef0e3a2383d26580e917b Mon Sep 17 00:00:00 2001 From: Ninja Ferret Date: Tue, 20 Jan 2015 19:31:16 -0500 Subject: [PATCH 1/4] 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) From 5c1a8e1d42038102c21cc3bd4c438c09c77e2bdd Mon Sep 17 00:00:00 2001 From: Ninja Ferret Date: Fri, 23 Jan 2015 03:06:21 -0500 Subject: [PATCH 2/4] Switched sender and reciever roles --- cockatrice/src/tab_room.cpp | 22 ++++++++++++++++++++-- cockatrice/src/tab_supervisor.cpp | 13 ++++++------- 2 files changed, 26 insertions(+), 9 deletions(-) diff --git a/cockatrice/src/tab_room.cpp b/cockatrice/src/tab_room.cpp index 2b8ffd873..8be8ba4aa 100644 --- a/cockatrice/src/tab_room.cpp +++ b/cockatrice/src/tab_room.cpp @@ -9,6 +9,8 @@ #include #include #include +#include + #include "tab_supervisor.h" #include "tab_room.h" #include "tab_userlists.h" @@ -98,13 +100,29 @@ TabRoom::TabRoom(TabSupervisor *_tabSupervisor, AbstractClient *_client, ServerI setLayout(hbox); const int userListSize = info.user_list_size(); + for (int i = 0; i < userListSize; ++i) userList->processUserInfo(info.user_list(i), true); + userList->sortItems(); - - const int gameListSize = info.game_list_size(); +const int gameListSize = info.game_list_size(); for (int i = 0; i < gameListSize; ++i) gameSelector->processGameInfo(info.game_list(i)); + + + QChar* alertPrefix = new QChar('@'); + + + QList userNames = tabSupervisor->getUserListsTab()->getAllUsersList()->getUsers().keys(); + for (int i = 0; i < userNames.size(); ++i) { + userNames[i].insert(0,alertPrefix,1); + } + + QCompleter *completer = new QCompleter(userNames, this); + completer->setCompletionMode(QCompleter::InlineCompletion); + completer->setCaseSensitivity(Qt::CaseSensitive); + connect(sayEdit,SIGNAL(cursorPositionChanged(int,int)),completer,SLOT(setCompletionColumn(int))); + sayEdit->setCompleter(completer); } TabRoom::~TabRoom() diff --git a/cockatrice/src/tab_supervisor.cpp b/cockatrice/src/tab_supervisor.cpp index 24ce990d0..48e7cc238 100644 --- a/cockatrice/src/tab_supervisor.cpp +++ b/cockatrice/src/tab_supervisor.cpp @@ -446,28 +446,27 @@ void TabSupervisor::processGameEventContainer(const GameEventContainer &cont) void TabSupervisor::processUserMessageEvent(const Event_UserMessage &event) { - QString receiverName = QString::fromStdString(event.receiver_name()); + QString senderName = QString::fromStdString(event.sender_name()); - UserListTWI *twi = tabUserLists->getAllUsersList()->getUsers().value(receiverName); + UserListTWI *twi = tabUserLists->getAllUsersList()->getUsers().value(senderName); ServerInfo_User otherUser; if (twi) otherUser = twi->getUserInfo(); else - otherUser.set_name(receiverName.toStdString()); + otherUser.set_name(senderName.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())); - + TabMessage *tab = messageTabs.value(senderName); if (!tab) - tab = messageTabs.value(receiverName); + tab = messageTabs.value(QString::fromStdString(event.receiver_name())); if (!tab) - tab = addMessageTab(QString::fromStdString(event.sender_name()), false); + tab = addMessageTab(senderName, false); if (!tab) return; tab->processUserMessageEvent(event); From 9318e74c3b0fc80679d2cf38686f5d388eb764d7 Mon Sep 17 00:00:00 2001 From: Ninja Ferret Date: Fri, 23 Jan 2015 04:23:20 -0500 Subject: [PATCH 3/4] Whitespace change on tab_room.cpp --- cockatrice/src/tab_room.cpp | 24 +++--------------------- 1 file changed, 3 insertions(+), 21 deletions(-) diff --git a/cockatrice/src/tab_room.cpp b/cockatrice/src/tab_room.cpp index 8be8ba4aa..d45066452 100644 --- a/cockatrice/src/tab_room.cpp +++ b/cockatrice/src/tab_room.cpp @@ -9,8 +9,6 @@ #include #include #include -#include - #include "tab_supervisor.h" #include "tab_room.h" #include "tab_userlists.h" @@ -100,29 +98,13 @@ TabRoom::TabRoom(TabSupervisor *_tabSupervisor, AbstractClient *_client, ServerI setLayout(hbox); const int userListSize = info.user_list_size(); - for (int i = 0; i < userListSize; ++i) userList->processUserInfo(info.user_list(i), true); - userList->sortItems(); -const int gameListSize = info.game_list_size(); + + const int gameListSize = info.game_list_size(); for (int i = 0; i < gameListSize; ++i) gameSelector->processGameInfo(info.game_list(i)); - - - QChar* alertPrefix = new QChar('@'); - - - QList userNames = tabSupervisor->getUserListsTab()->getAllUsersList()->getUsers().keys(); - for (int i = 0; i < userNames.size(); ++i) { - userNames[i].insert(0,alertPrefix,1); - } - - QCompleter *completer = new QCompleter(userNames, this); - completer->setCompletionMode(QCompleter::InlineCompletion); - completer->setCaseSensitivity(Qt::CaseSensitive); - connect(sayEdit,SIGNAL(cursorPositionChanged(int,int)),completer,SLOT(setCompletionColumn(int))); - sayEdit->setCompleter(completer); } TabRoom::~TabRoom() @@ -256,4 +238,4 @@ PendingCommand *TabRoom::prepareRoomCommand(const ::google::protobuf::Message &c void TabRoom::sendRoomCommand(PendingCommand *pend) { client->sendCommand(pend); -} +} \ No newline at end of file From 8890dae24ed330f04d3b398affd952798e6a2e62 Mon Sep 17 00:00:00 2001 From: Ninja Ferret Date: Fri, 23 Jan 2015 04:24:23 -0500 Subject: [PATCH 4/4] Whitespace change on tab_room.cpp --- cockatrice/src/tab_room.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cockatrice/src/tab_room.cpp b/cockatrice/src/tab_room.cpp index d45066452..2b8ffd873 100644 --- a/cockatrice/src/tab_room.cpp +++ b/cockatrice/src/tab_room.cpp @@ -238,4 +238,4 @@ PendingCommand *TabRoom::prepareRoomCommand(const ::google::protobuf::Message &c void TabRoom::sendRoomCommand(PendingCommand *pend) { client->sendCommand(pend); -} \ No newline at end of file +}