1
1
forked from 0ad/0ad

Prevent observers from using the team chat. Patch by trompetin17, fixes #2879.

This was SVN commit r16170.
This commit is contained in:
Nicolas Auvray 2015-01-21 21:18:55 +00:00
parent 76120d888b
commit b65dcaba48
3 changed files with 14 additions and 3 deletions

View File

@ -209,6 +209,8 @@ function openOptions()
function openChat()
{
updateTeamCheckbox(false);
Engine.GetGUIObjectByName("chatInput").focus(); // Grant focus to the input area
Engine.GetGUIObjectByName("chatDialogPanel").hidden = false;
}
@ -220,6 +222,14 @@ function closeChat()
Engine.GetGUIObjectByName("chatDialogPanel").hidden = true;
}
function updateTeamCheckbox(check)
{
Engine.GetGUIObjectByName("toggleTeamChatLabel").hidden = g_IsObserver;
let toggleTeamChat = Engine.GetGUIObjectByName("toggleTeamChat");
toggleTeamChat.hidden = g_IsObserver;
toggleTeamChat.checked = !g_IsObserver && check;
}
function toggleChatWindow(teamChat)
{
var chatWindow = Engine.GetGUIObjectByName("chatDialogPanel");
@ -237,7 +247,7 @@ function toggleChatWindow(teamChat)
chatInput.caption = ""; // Clear chat input
}
Engine.GetGUIObjectByName("toggleTeamChat").checked = teamChat;
updateTeamCheckbox(teamChat);
chatWindow.hidden = !chatWindow.hidden;
}

View File

@ -362,7 +362,8 @@ function submitChatInput()
}
}
if (!isCheat)
// Observers should only send messages to "/all"
if (!isCheat && (!g_IsObserver || text.indexOf("/") == -1 || text.indexOf("/all ") == 0))
{
if (Engine.GetGUIObjectByName("toggleTeamChat").checked)
text = "/team " + text;

View File

@ -205,7 +205,7 @@
</object>
<object name="toggleTeamChat" size="30%+22 100%-36 30%+40 100%-6" type="checkbox" style="ModernTickBox"/>
<object size="30%+40 100%-40 60%+16 100%-12" type="text" style="ModernLeftLabelText">
<object name="toggleTeamChatLabel" size="30%+40 100%-40 60%+16 100%-12" type="text" style="ModernLeftLabelText">
<translatableAttribute id="caption">Team Only</translatableAttribute>
</object>