mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-07-05 21:13:55 -07:00
[Messages] Exclude Moderator/Admin from non-buddy ignore filter
Moderator and Admin messages should not be filtered out when the 'Ignore private messages from non-buddies' setting is enabled, to ensure that important warnings from server staff reach users.
This commit is contained in:
parent
849d652547
commit
3c5a891b45
1 changed files with 6 additions and 4 deletions
|
|
@ -1012,10 +1012,6 @@ void TabSupervisor::processUserMessageEvent(const Event_UserMessage &event)
|
|||
tab = messageTabs.value(QString::fromStdString(event.receiver_name()));
|
||||
}
|
||||
if (!tab) {
|
||||
if (SettingsCache::instance().getIgnoreNonBuddyUserMessages() && !userListManager->isUserBuddy(senderName)) {
|
||||
// When he is not a buddy and the settings are set to block non friend messages
|
||||
return;
|
||||
}
|
||||
const ServerInfo_User *onlineUserInfo = userListManager->getOnlineUser(senderName);
|
||||
if (onlineUserInfo) {
|
||||
auto userLevel = UserLevelFlags(onlineUserInfo->user_level());
|
||||
|
|
@ -1023,6 +1019,12 @@ void TabSupervisor::processUserMessageEvent(const Event_UserMessage &event)
|
|||
!userLevel.testFlag(ServerInfo_User::IsRegistered)) {
|
||||
// Flags are additive, so reg/mod/admin are all IsRegistered
|
||||
return;
|
||||
} else if (SettingsCache::instance().getIgnoreNonBuddyUserMessages() &&
|
||||
!userListManager->isUserBuddy(senderName) && !userLevel.testFlag(ServerInfo_User::IsModerator) &&
|
||||
!userLevel.testFlag(ServerInfo_User::IsAdmin)) {
|
||||
// Ignore private messages from non-buddies
|
||||
// Moderator/Admin messages are exempt to ensure warnings reach users
|
||||
return;
|
||||
}
|
||||
}
|
||||
tab = addMessageTab(QString::fromStdString(event.sender_name()), false);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue