From bab3dbca983fd92f98c6a03d13e32b0ce6f6fad0 Mon Sep 17 00:00:00 2001 From: adelikat Date: Sat, 21 Dec 2019 12:45:28 -0600 Subject: [PATCH] cleanup PlatformChooser and don't use globals --- BizHawk.Client.EmuHawk/MainForm.cs | 2 +- BizHawk.Client.EmuHawk/PlatformChooser.cs | 46 +++++++++-------------- 2 files changed, 18 insertions(+), 30 deletions(-) diff --git a/BizHawk.Client.EmuHawk/MainForm.cs b/BizHawk.Client.EmuHawk/MainForm.cs index 5b51f947c0..a4122d9787 100644 --- a/BizHawk.Client.EmuHawk/MainForm.cs +++ b/BizHawk.Client.EmuHawk/MainForm.cs @@ -3604,7 +3604,7 @@ namespace BizHawk.Client.EmuHawk private string ChoosePlatformForRom(RomGame rom) { - using var platformChooser = new PlatformChooser + using var platformChooser = new PlatformChooser(Config) { RomGame = rom }; diff --git a/BizHawk.Client.EmuHawk/PlatformChooser.cs b/BizHawk.Client.EmuHawk/PlatformChooser.cs index 806071c570..d755208f46 100644 --- a/BizHawk.Client.EmuHawk/PlatformChooser.cs +++ b/BizHawk.Client.EmuHawk/PlatformChooser.cs @@ -1,10 +1,7 @@ using System; using System.Collections.Generic; -using System.ComponentModel; -using System.Data; using System.Drawing; using System.Linq; -using System.Text; using System.Windows.Forms; using BizHawk.Emulation.Common; @@ -14,41 +11,32 @@ namespace BizHawk.Client.EmuHawk { public partial class PlatformChooser : Form { + private readonly Config _config; + private readonly List _availableSystems = new SystemLookup().AllSystems.ToList(); + + + public PlatformChooser(Config config) + { + _config = config; + InitializeComponent(); + } + public RomGame RomGame { get; set; } public string PlatformChoice { get; set; } - private RadioButton SelectedRadio - { - get - { - return PlatformsGroupBox.Controls.OfType().FirstOrDefault(x => x.Checked); - } - } - - public PlatformChooser() - { - InitializeComponent(); - AvailableSystems = new SystemLookup().AllSystems.ToList(); - } - - private readonly List AvailableSystems; + private RadioButton SelectedRadio => PlatformsGroupBox.Controls.OfType().FirstOrDefault(x => x.Checked); private void PlatformChooser_Load(object sender, EventArgs e) { - if (RomGame.RomData.Length > 10 * 1024 * 1024) // If 10mb, show in megabytes - { - RomSizeLabel.Text = $"{RomGame.RomData.Length / 1024 / 1024:n0}mb"; - } - else - { - RomSizeLabel.Text = $"{RomGame.RomData.Length / 1024:n0}kb"; - } + RomSizeLabel.Text = RomGame.RomData.Length > 10 * 1024 * 1024 + ? $"{RomGame.RomData.Length / 1024 / 1024:n0}mb" + : $"{RomGame.RomData.Length / 1024:n0}kb"; ExtensionLabel.Text = RomGame.Extension.ToLower(); HashBox.Text = RomGame.GameInfo.Hash; int count = 0; int spacing = 25; - foreach (var platform in AvailableSystems) + foreach (var platform in _availableSystems) { var radio = new RadioButton { @@ -75,11 +63,11 @@ namespace BizHawk.Client.EmuHawk private void OkBtn_Click(object sender, EventArgs e) { var selectedValue = SelectedRadio != null ? SelectedRadio.Text : ""; - PlatformChoice = AvailableSystems.FirstOrDefault(x => x.FullName == selectedValue).SystemId; + PlatformChoice = _availableSystems.First(x => x.FullName == selectedValue).SystemId; if (AlwaysCheckbox.Checked) { - Global.Config.PreferredPlatformsForExtensions[RomGame.Extension.ToLower()] = PlatformChoice; + _config.PreferredPlatformsForExtensions[RomGame.Extension.ToLower()] = PlatformChoice; } Close();