From 4d3c423f15a11d33dc28a141b05dae4ef46d61a1 Mon Sep 17 00:00:00 2001 From: adelikat Date: Fri, 13 Dec 2019 16:06:12 -0600 Subject: [PATCH] setup another a7800 config dialog to pass in dependencies --- BizHawk.Client.EmuHawk/MainForm.Events.cs | 7 +++++-- BizHawk.Client.EmuHawk/MainForm.cs | 1 + .../config/A7800/A7800ControllerSettings.cs | 2 -- .../config/A7800/A7800FilterSettings.cs | 18 +++++++++--------- 4 files changed, 15 insertions(+), 13 deletions(-) diff --git a/BizHawk.Client.EmuHawk/MainForm.Events.cs b/BizHawk.Client.EmuHawk/MainForm.Events.cs index aa9265a654..68cab77a84 100644 --- a/BizHawk.Client.EmuHawk/MainForm.Events.cs +++ b/BizHawk.Client.EmuHawk/MainForm.Events.cs @@ -2048,8 +2048,11 @@ namespace BizHawk.Client.EmuHawk private void A7800FilterSettingsToolStripMenuItem_Click(object sender, EventArgs e) { - using var form = new A7800FilterSettings(); - form.ShowDialog(); + if (Emulator is A7800Hawk atari7800Hawk) + { + using var form = new A7800FilterSettings(this, atari7800Hawk.GetSyncSettings().Clone()); + form.ShowDialog(); + } } #endregion diff --git a/BizHawk.Client.EmuHawk/MainForm.cs b/BizHawk.Client.EmuHawk/MainForm.cs index 9cd42aa3a4..a8a63e79e2 100644 --- a/BizHawk.Client.EmuHawk/MainForm.cs +++ b/BizHawk.Client.EmuHawk/MainForm.cs @@ -2365,6 +2365,7 @@ namespace BizHawk.Client.EmuHawk } } + // TODO: Get/Put settings/sync settings methods could become a service we instantiate and use and pass to other forms /// /// send core sync settings to emu, setting reboot flag if needed /// diff --git a/BizHawk.Client.EmuHawk/config/A7800/A7800ControllerSettings.cs b/BizHawk.Client.EmuHawk/config/A7800/A7800ControllerSettings.cs index 2cd6825dde..73b468c710 100644 --- a/BizHawk.Client.EmuHawk/config/A7800/A7800ControllerSettings.cs +++ b/BizHawk.Client.EmuHawk/config/A7800/A7800ControllerSettings.cs @@ -1,8 +1,6 @@ using System; using System.Linq; using System.Windows.Forms; - -using BizHawk.Client.Common; using BizHawk.Emulation.Cores.Atari.A7800Hawk; namespace BizHawk.Client.EmuHawk diff --git a/BizHawk.Client.EmuHawk/config/A7800/A7800FilterSettings.cs b/BizHawk.Client.EmuHawk/config/A7800/A7800FilterSettings.cs index d833f96787..c0732ca002 100644 --- a/BizHawk.Client.EmuHawk/config/A7800/A7800FilterSettings.cs +++ b/BizHawk.Client.EmuHawk/config/A7800/A7800FilterSettings.cs @@ -1,25 +1,26 @@ using System; using System.Linq; using System.Windows.Forms; - -using BizHawk.Client.Common; using BizHawk.Emulation.Cores.Atari.A7800Hawk; namespace BizHawk.Client.EmuHawk { public partial class A7800FilterSettings : Form { - private A7800Hawk.A7800SyncSettings _syncSettings; + private readonly MainForm _mainForm; + private readonly A7800Hawk.A7800SyncSettings _syncSettings; - public A7800FilterSettings() + public A7800FilterSettings( + MainForm mainForm, + A7800Hawk.A7800SyncSettings syncSettings) { + _mainForm = mainForm; + _syncSettings = syncSettings; InitializeComponent(); } private void A7800FilterSettings_Load(object sender, EventArgs e) { - _syncSettings = ((A7800Hawk)Global.Emulator).GetSyncSettings().Clone(); - var possibleFilters = A7800Hawk.ValidFilterTypes.Select(t => t.Key); foreach (var val in possibleFilters) @@ -37,8 +38,7 @@ namespace BizHawk.Client.EmuHawk if (changed) { _syncSettings.Filter = Port1ComboBox.SelectedItem.ToString(); - - GlobalWin.MainForm.PutCoreSyncSettings(_syncSettings); + _mainForm.PutCoreSyncSettings(_syncSettings); } DialogResult = DialogResult.OK; @@ -47,7 +47,7 @@ namespace BizHawk.Client.EmuHawk private void CancelBtn_Click(object sender, EventArgs e) { - GlobalWin.OSD.AddMessage("Filter settings aborted"); + _mainForm.AddOnScreenMessage("Filter settings aborted"); DialogResult = DialogResult.Cancel; Close(); }