From 0d78318fa171ac66862a2f8d0b82f7f06472507c Mon Sep 17 00:00:00 2001 From: adelikat Date: Mon, 16 Dec 2019 19:33:14 -0600 Subject: [PATCH] HotkeyConfig - pass in dependencies --- BizHawk.Client.EmuHawk/MainForm.Events.cs | 7 ++++- BizHawk.Client.EmuHawk/config/HotkeyConfig.cs | 26 +++++++++---------- 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/BizHawk.Client.EmuHawk/MainForm.Events.cs b/BizHawk.Client.EmuHawk/MainForm.Events.cs index 78f8b91330..3b82989b44 100644 --- a/BizHawk.Client.EmuHawk/MainForm.Events.cs +++ b/BizHawk.Client.EmuHawk/MainForm.Events.cs @@ -959,12 +959,17 @@ namespace BizHawk.Client.EmuHawk private void HotkeysMenuItem_Click(object sender, EventArgs e) { - using var hotkeyConfig = new HotkeyConfig(); + using var hotkeyConfig = new HotkeyConfig(Global.Config); if (hotkeyConfig.ShowDialog() == DialogResult.OK) { + AddOnScreenMessage("Hotkey settings saved"); InitControls(); InputManager.SyncControls(); } + else + { + AddOnScreenMessage("Hotkey config aborted"); + } } private void FirmwaresMenuItem_Click(object sender, EventArgs e) diff --git a/BizHawk.Client.EmuHawk/config/HotkeyConfig.cs b/BizHawk.Client.EmuHawk/config/HotkeyConfig.cs index 79ee9abc29..06bb7a83d5 100644 --- a/BizHawk.Client.EmuHawk/config/HotkeyConfig.cs +++ b/BizHawk.Client.EmuHawk/config/HotkeyConfig.cs @@ -10,10 +10,12 @@ namespace BizHawk.Client.EmuHawk { public partial class HotkeyConfig : Form { - public HotkeyConfig() - { - InitializeComponent(); + private readonly Config _config; + public HotkeyConfig(Config config) + { + _config = config; + InitializeComponent(); tabPage1.Focus(); } @@ -32,12 +34,12 @@ namespace BizHawk.Client.EmuHawk private void HotkeyConfig_Load(object sender, EventArgs e) { var source = new AutoCompleteStringCollection(); - source.AddRange(Global.Config.HotkeyBindings.Select(x => x.DisplayName).ToArray()); + source.AddRange(_config.HotkeyBindings.Select(x => x.DisplayName).ToArray()); SearchBox.AutoCompleteCustomSource = source; SearchBox.AutoCompleteSource = AutoCompleteSource.CustomSource; - AutoTabCheckBox.Checked = Global.Config.HotkeyConfigAutoTab; + AutoTabCheckBox.Checked = _config.HotkeyConfigAutoTab; DoTabs(); DoFocus(); } @@ -49,14 +51,12 @@ namespace BizHawk.Client.EmuHawk private void IDB_CANCEL_Click(object sender, EventArgs e) { - GlobalWin.OSD.AddMessage("Hotkey config aborted"); Close(); } private void IDB_SAVE_Click(object sender, EventArgs e) { Save(); - GlobalWin.OSD.AddMessage("Hotkey settings saved"); DialogResult = DialogResult.OK; Close(); } @@ -68,11 +68,11 @@ namespace BizHawk.Client.EmuHawk private void Save() { - Global.Config.HotkeyConfigAutoTab = AutoTabCheckBox.Checked; + _config.HotkeyConfigAutoTab = AutoTabCheckBox.Checked; foreach (var w in InputWidgets) { - var b = Global.Config.HotkeyBindings.First(x => x.DisplayName == w.WidgetName); + var b = _config.HotkeyBindings.First(x => x.DisplayName == w.WidgetName); b.Bindings = w.Bindings; } } @@ -86,12 +86,12 @@ namespace BizHawk.Client.EmuHawk HotkeyTabControl.TabPages.Clear(); // Buckets - var tabs = Global.Config.HotkeyBindings.Select(x => x.TabGroup).Distinct(); + var tabs = _config.HotkeyBindings.Select(x => x.TabGroup).Distinct(); foreach (var tab in tabs) { var tb = new TabPage { Name = tab, Text = tab }; - var bindings = Global.Config.HotkeyBindings.Where(n => n.TabGroup == tab).OrderBy(n => n.Ordinal).ThenBy(n => n.DisplayName); + var bindings = _config.HotkeyBindings.Where(n => n.TabGroup == tab).OrderBy(n => n.Ordinal).ThenBy(n => n.DisplayName); int x = UIHelper.ScaleX(6); int y = UIHelper.ScaleY(14); int iwOffsetX = UIHelper.ScaleX(110); @@ -154,7 +154,7 @@ namespace BizHawk.Client.EmuHawk { foreach (var w in InputWidgets) { - var b = Global.Config.HotkeyBindings.FirstOrDefault(x => x.DisplayName == w.WidgetName); + var b = _config.HotkeyBindings.FirstOrDefault(x => x.DisplayName == w.WidgetName); if (b != null) { w.Bindings = b.DefaultBinding; @@ -211,7 +211,7 @@ namespace BizHawk.Client.EmuHawk if (!e.Control && !e.Alt && !e.Shift && (e.KeyCode == Keys.Enter || e.KeyCode == Keys.Tab)) { - var b = Global.Config.HotkeyBindings.FirstOrDefault(x => string.Compare(x.DisplayName, SearchBox.Text, true) == 0); + var b = _config.HotkeyBindings.FirstOrDefault(x => string.Compare(x.DisplayName, SearchBox.Text, true) == 0); // Found if (b != null)