mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-11-12 21:10:01 -08:00
Update tab_supervisor.cpp
This commit is contained in:
parent
486690408d
commit
1b37757583
1 changed files with 31 additions and 6 deletions
|
|
@ -365,13 +365,13 @@ TabMessage *TabSupervisor::addMessageTab(const QString &receiverName, bool focus
|
||||||
if (receiverName == QString::fromStdString(userInfo->name()))
|
if (receiverName == QString::fromStdString(userInfo->name()))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
ServerInfo_User otherUser;
|
ServerInfo_User Self;
|
||||||
UserListTWI *twi = tabUserLists->getAllUsersList()->getUsers().value(receiverName);
|
UserListTWI *twi = tabUserLists->getAllUsersList()->getUsers().value(receiverName);
|
||||||
if (twi)
|
if (twi)
|
||||||
otherUser = twi->getUserInfo();
|
Self = twi->getUserInfo();
|
||||||
else
|
else
|
||||||
otherUser.set_name(receiverName.toStdString());
|
Self.set_name(receiverName.toStdString());
|
||||||
TabMessage *tab = new TabMessage(this, client, *userInfo, otherUser);
|
TabMessage *tab = new TabMessage(this, client, *userInfo, Self);
|
||||||
connect(tab, SIGNAL(talkClosing(TabMessage *)), this, SLOT(talkLeft(TabMessage *)));
|
connect(tab, SIGNAL(talkClosing(TabMessage *)), this, SLOT(talkLeft(TabMessage *)));
|
||||||
int tabIndex = myAddTab(tab);
|
int tabIndex = myAddTab(tab);
|
||||||
addCloseButtonToTab(tab, tabIndex);
|
addCloseButtonToTab(tab, tabIndex);
|
||||||
|
|
@ -446,11 +446,36 @@ void TabSupervisor::processGameEventContainer(const GameEventContainer &cont)
|
||||||
|
|
||||||
void TabSupervisor::processUserMessageEvent(const Event_UserMessage &event)
|
void TabSupervisor::processUserMessageEvent(const Event_UserMessage &event)
|
||||||
{
|
{
|
||||||
TabMessage *tab = messageTabs.value(QString::fromStdString(event.sender_name()));
|
QString senderName = QString::fromStdString(event.sender_name());
|
||||||
|
|
||||||
|
UserListTWI *twi = tabUserLists->getAllUsersList()->getUsers().value(senderName);
|
||||||
|
|
||||||
|
ServerInfo_User Self;
|
||||||
|
|
||||||
|
if (twi)
|
||||||
|
Self = twi->getUserInfo();
|
||||||
|
else
|
||||||
|
Self.set_name(senderName.toStdString());
|
||||||
|
|
||||||
|
UserLevelFlags SelfLevel = UserLevelFlags(Self.user_level());
|
||||||
|
|
||||||
|
if (settingsCache->getIgnoreUnregisteredUsers() && !SelfLevel.testFlag(ServerInfo_User::IsUnegistered))
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (settingsCache->getIgnoreUnregisteredUsers() && !SelfLevel.testFlag(ServerInfo_User::IsRegistered))
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (settingsCache->getIgnoreUnregisteredUsers() && !SelfLevel.testFlag(ServerInfo_User::IsModerator))
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (settingsCache->getIgnoreUnregisteredUsers() && !SelfLevel.testFlag(ServerInfo_User::IsAdministrator))
|
||||||
|
return;
|
||||||
|
|
||||||
|
TabMessage *tab = messageTabs.value(senderName);
|
||||||
if (!tab)
|
if (!tab)
|
||||||
tab = messageTabs.value(QString::fromStdString(event.receiver_name()));
|
tab = messageTabs.value(QString::fromStdString(event.receiver_name()));
|
||||||
if (!tab)
|
if (!tab)
|
||||||
tab = addMessageTab(QString::fromStdString(event.sender_name()), false);
|
tab = addMessageTab(senderName, false);
|
||||||
if (!tab)
|
if (!tab)
|
||||||
return;
|
return;
|
||||||
tab->processUserMessageEvent(event);
|
tab->processUserMessageEvent(event);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue