diff --git a/src/BizHawk.Client.EmuHawk/Extensions/ControlExtensions.cs b/src/BizHawk.Client.EmuHawk/Extensions/ControlExtensions.cs index 58d49da574..b95887b613 100644 --- a/src/BizHawk.Client.EmuHawk/Extensions/ControlExtensions.cs +++ b/src/BizHawk.Client.EmuHawk/Extensions/ControlExtensions.cs @@ -159,6 +159,9 @@ namespace BizHawk.Client.EmuHawk dialogController.StartSound(); return ret; } + + public static DialogResult ShowDialogAsChild(this IDialogParent dialogParent, Form dialog) + => dialog.ShowDialog(dialogParent.SelfAsHandle); } public static class ListViewExtensions diff --git a/src/BizHawk.Client.EmuHawk/IDialogController.cs b/src/BizHawk.Client.EmuHawk/IDialogController.cs index 97033dde1e..73cf00702c 100644 --- a/src/BizHawk.Client.EmuHawk/IDialogController.cs +++ b/src/BizHawk.Client.EmuHawk/IDialogController.cs @@ -1,13 +1,9 @@ #nullable enable -using System.Windows.Forms; - namespace BizHawk.Client.EmuHawk { public interface IDialogController { - DialogResult ShowDialogAsChild(Form dialog); - void StartSound(); void StopSound(); diff --git a/src/BizHawk.Client.EmuHawk/IMainFormForConfig.cs b/src/BizHawk.Client.EmuHawk/IMainFormForConfig.cs index fdacd42cd7..b4a4bd2d13 100644 --- a/src/BizHawk.Client.EmuHawk/IMainFormForConfig.cs +++ b/src/BizHawk.Client.EmuHawk/IMainFormForConfig.cs @@ -1,11 +1,9 @@ -using System.Windows.Forms; - using BizHawk.Client.Common; using BizHawk.Emulation.Common; namespace BizHawk.Client.EmuHawk { - public interface IMainFormForConfig : IDialogController + public interface IMainFormForConfig : IDialogController, IDialogParent { /// only referenced from IEmulator Emulator { get; } diff --git a/src/BizHawk.Client.EmuHawk/IMainFormForTools.cs b/src/BizHawk.Client.EmuHawk/IMainFormForTools.cs index 711bab718e..30985239cb 100644 --- a/src/BizHawk.Client.EmuHawk/IMainFormForTools.cs +++ b/src/BizHawk.Client.EmuHawk/IMainFormForTools.cs @@ -1,5 +1,4 @@ using System; -using System.Windows.Forms; using BizHawk.Bizware.BizwareGL; using BizHawk.Client.Common; @@ -7,7 +6,7 @@ using BizHawk.Emulation.Common; namespace BizHawk.Client.EmuHawk { - public interface IMainFormForTools : IDialogController + public interface IMainFormForTools : IDialogController, IDialogParent { CheatCollection CheatList { get; } diff --git a/src/BizHawk.Client.EmuHawk/MainForm.cs b/src/BizHawk.Client.EmuHawk/MainForm.cs index 6127d64212..347c708bde 100644 --- a/src/BizHawk.Client.EmuHawk/MainForm.cs +++ b/src/BizHawk.Client.EmuHawk/MainForm.cs @@ -3464,7 +3464,7 @@ namespace BizHawk.Client.EmuHawk private int? LoadArchiveChooser(HawkFile file) { using var ac = new ArchiveChooser(file); - if (ShowDialogAsChild(ac).IsOk()) + if (this.ShowDialogAsChild(ac).IsOk()) { return ac.SelectedMemberIndex; } @@ -4495,8 +4495,6 @@ namespace BizHawk.Client.EmuHawk public IWin32Window SelfAsHandle => this; - public DialogResult ShowDialogAsChild(Form dialog) => dialog.ShowDialog(this); - public void StartSound() => Sound.StartSound(); public void StopSound() => Sound.StopSound(); }