From a904047a162c4c7cba036ad7b648680319d04901 Mon Sep 17 00:00:00 2001 From: Caleb Anderson Date: Fri, 15 Oct 2010 00:04:03 -0500 Subject: [PATCH] Toggle-able teamchat on shift-enter --- OpenRA.Game/GameRules/Settings.cs | 3 +++ OpenRA.Game/Widgets/ChatEntryWidget.cs | 9 ++++++++- OpenRA.Game/Widgets/Delegates/SettingsMenuDelegate.cs | 10 +++++++++- mods/cnc/chrome/settings.yaml | 9 ++++++++- mods/ra/chrome/settings.yaml | 9 ++++++++- 5 files changed, 36 insertions(+), 4 deletions(-) mode change 100644 => 100755 OpenRA.Game/Widgets/ChatEntryWidget.cs mode change 100644 => 100755 OpenRA.Game/Widgets/Delegates/SettingsMenuDelegate.cs diff --git a/OpenRA.Game/GameRules/Settings.cs b/OpenRA.Game/GameRules/Settings.cs index 8ddf215057..4a6dd48e6b 100755 --- a/OpenRA.Game/GameRules/Settings.cs +++ b/OpenRA.Game/GameRules/Settings.cs @@ -66,6 +66,9 @@ namespace OpenRA.GameRules public string[] Mods = { "ra" }; public bool MatchTimer = true; + // Chat settings + public bool TeamChatToggle = false; + // Behaviour settings public bool ViewportEdgeScroll = true; public bool InverseDragScroll = false; diff --git a/OpenRA.Game/Widgets/ChatEntryWidget.cs b/OpenRA.Game/Widgets/ChatEntryWidget.cs old mode 100644 new mode 100755 index 98c04451eb..884c2ece6c --- a/OpenRA.Game/Widgets/ChatEntryWidget.cs +++ b/OpenRA.Game/Widgets/ChatEntryWidget.cs @@ -81,7 +81,14 @@ namespace OpenRA.Widgets { TakeFocus(new MouseInput()); composing = true; - teamChat ^= e.Modifiers.HasModifier(Modifiers.Shift); + if (Game.Settings.Game.TeamChatToggle) + { + teamChat ^= e.Modifiers.HasModifier(Modifiers.Shift); + } + else + { + teamChat = e.Modifiers.HasModifier(Modifiers.Shift); + } return true; } } diff --git a/OpenRA.Game/Widgets/Delegates/SettingsMenuDelegate.cs b/OpenRA.Game/Widgets/Delegates/SettingsMenuDelegate.cs old mode 100644 new mode 100755 index 87a12175e7..801f98e796 --- a/OpenRA.Game/Widgets/Delegates/SettingsMenuDelegate.cs +++ b/OpenRA.Game/Widgets/Delegates/SettingsMenuDelegate.cs @@ -70,7 +70,15 @@ namespace OpenRA.Widgets.Delegates Game.Settings.Game.InverseDragScroll ^= true; return true; }; - + + var teamChatToggle = general.GetWidget("TEAMCHAT_TOGGLE"); + teamChatToggle.Checked = () => Game.Settings.Game.TeamChatToggle; + teamChatToggle.OnMouseDown = mi => + { + Game.Settings.Game.TeamChatToggle ^= true; + return true; + }; + // Audio var audio = bg.GetWidget("AUDIO_PANE"); diff --git a/mods/cnc/chrome/settings.yaml b/mods/cnc/chrome/settings.yaml index 0b59a884e6..633ac47b0e 100644 --- a/mods/cnc/chrome/settings.yaml +++ b/mods/cnc/chrome/settings.yaml @@ -106,10 +106,17 @@ Background@SETTINGS_MENU: Checkbox@INVERSE_SCROLL: Id:INVERSE_SCROLL X:0 - Y:120 + Y:90 Width:200 Height:20 Text: Invert Mouse Drag Scrolling + Checkbox@TEAMCHAT_TOGGLE: + Id:TEAMCHAT_TOGGLE + X:0 + Y:120 + Width:200 + Height:20 + Text: Shift-Enter Toggles Team Chat Container@AUDIO_PANE: Id:AUDIO_PANE X:37 diff --git a/mods/ra/chrome/settings.yaml b/mods/ra/chrome/settings.yaml index 48e441f7c1..ee748b5a15 100644 --- a/mods/ra/chrome/settings.yaml +++ b/mods/ra/chrome/settings.yaml @@ -107,10 +107,17 @@ Background@SETTINGS_MENU: Checkbox@INVERSE_SCROLL: Id:INVERSE_SCROLL X:0 - Y:120 + Y:90 Width:200 Height:20 Text: Invert Mouse Drag Scrolling + Checkbox@TEAMCHAT_TOGGLE: + Id:TEAMCHAT_TOGGLE + X:0 + Y:120 + Width:200 + Height:20 + Text: Shift-Enter Toggles Team Chat Container@AUDIO_PANE: Id:AUDIO_PANE X:37