Tastudio - rework DefaultGrezoneSettings to only depend on a settings object and a savecallback

This commit is contained in:
adelikat 2020-08-01 17:19:30 -05:00
parent 369b7830a5
commit 07429a4640
2 changed files with 9 additions and 6 deletions

View File

@ -7,21 +7,22 @@ namespace BizHawk.Client.EmuHawk
{
public partial class DefaultGreenzoneSettings : Form
{
private readonly MovieConfig _movieSettings;
private readonly Action<TasStateManagerSettings> _saveSettings;
private TasStateManagerSettings _settings;
public DefaultGreenzoneSettings(MovieConfig movieSettings)
public DefaultGreenzoneSettings(TasStateManagerSettings settings, Action<TasStateManagerSettings> saveSettings)
{
InitializeComponent();
Icon = Properties.Resources.TAStudioIcon;
_movieSettings = movieSettings;
_settings = new TasStateManagerSettings(movieSettings.DefaultTasStateManagerSettings);
_saveSettings = saveSettings;
_settings = settings;
SettingsPropertyGrid.SelectedObject = _settings;
}
private void OkBtn_Click(object sender, EventArgs e)
{
_movieSettings.DefaultTasStateManagerSettings = _settings;
_saveSettings(_settings);
Close();
}

View File

@ -1023,7 +1023,9 @@ namespace BizHawk.Client.EmuHawk
private void DefaultStateSettingsMenuItem_Click(object sender, EventArgs e)
{
new DefaultGreenzoneSettings(Config.Movies)
new DefaultGreenzoneSettings(
new TasStateManagerSettings(Config.Movies.DefaultTasStateManagerSettings),
s => { Config.Movies.DefaultTasStateManagerSettings = s; })
{
Location = this.ChildPointToScreen(TasView)
}.ShowDialog();