diff --git a/BizHawk.Client.EmuHawk/MainForm.Events.cs b/BizHawk.Client.EmuHawk/MainForm.Events.cs index 4c186d9002..cc93e18f3c 100644 --- a/BizHawk.Client.EmuHawk/MainForm.Events.cs +++ b/BizHawk.Client.EmuHawk/MainForm.Events.cs @@ -1100,11 +1100,6 @@ namespace BizHawk.Client.EmuHawk #region Tools - static bool ToolAvailable() - { - return ServiceInjector.IsAvailable(Global.Emulator.ServiceProvider, typeof(T)); - } - private void ToolsSubMenu_DropDownOpened(object sender, EventArgs e) { ToolBoxMenuItem.ShortcutKeyDisplayString = Global.Config.HotkeyBindings["ToolBox"].Bindings; @@ -1116,17 +1111,17 @@ namespace BizHawk.Client.EmuHawk TAStudioMenuItem.ShortcutKeyDisplayString = Global.Config.HotkeyBindings["TAStudio"].Bindings; VirtualPadMenuItem.ShortcutKeyDisplayString = Global.Config.HotkeyBindings["Virtual Pad"].Bindings; TraceLoggerMenuItem.ShortcutKeyDisplayString = Global.Config.HotkeyBindings["Trace Logger"].Bindings; - TraceLoggerMenuItem.Enabled = ToolAvailable(); + TraceLoggerMenuItem.Enabled = GlobalWin.Tools.IsAvailable(); - TAStudioMenuItem.Enabled = ToolAvailable(); + TAStudioMenuItem.Enabled = GlobalWin.Tools.IsAvailable(); - CheatsMenuItem.Enabled = ToolAvailable(); - HexEditorMenuItem.Enabled = ToolAvailable(); - RamSearchMenuItem.Enabled = ToolAvailable(); - RamWatchMenuItem.Enabled = ToolAvailable(); + CheatsMenuItem.Enabled = GlobalWin.Tools.IsAvailable(); + HexEditorMenuItem.Enabled = GlobalWin.Tools.IsAvailable(); + RamSearchMenuItem.Enabled = GlobalWin.Tools.IsAvailable(); + RamWatchMenuItem.Enabled = GlobalWin.Tools.IsAvailable(); DebuggerMenuItem.Visible = VersionInfo.DeveloperBuild; - DebuggerMenuItem.Enabled = ToolAvailable(); + DebuggerMenuItem.Enabled = GlobalWin.Tools.IsAvailable(); batchRunnerToolStripMenuItem.Visible = VersionInfo.DeveloperBuild; } @@ -1213,11 +1208,11 @@ namespace BizHawk.Client.EmuHawk { FDSControlsMenuItem.Enabled = Global.Emulator.BoardName == "FDS"; - NESSoundChannelsMenuItem.Enabled = ToolAvailable(); - MovieSettingsMenuItem.Enabled = ToolAvailable() + NESSoundChannelsMenuItem.Enabled = GlobalWin.Tools.IsAvailable(); + MovieSettingsMenuItem.Enabled = GlobalWin.Tools.IsAvailable() && !Global.MovieSession.Movie.IsActive; - NesControllerSettingsMenuItem.Enabled = ToolAvailable() + NesControllerSettingsMenuItem.Enabled = GlobalWin.Tools.IsAvailable() && !Global.MovieSession.Movie.IsActive; barcodeReaderToolStripMenuItem.Enabled = ServiceInjector.IsAvailable(Global.Emulator.ServiceProvider, typeof(BarcodeEntry)); diff --git a/BizHawk.Client.EmuHawk/tools/ToolManager.cs b/BizHawk.Client.EmuHawk/tools/ToolManager.cs index 6acaf308d5..04447cf0b5 100644 --- a/BizHawk.Client.EmuHawk/tools/ToolManager.cs +++ b/BizHawk.Client.EmuHawk/tools/ToolManager.cs @@ -530,6 +530,11 @@ namespace BizHawk.Client.EmuHawk } } + public bool IsAvailable() + { + return ServiceInjector.IsAvailable(Global.Emulator.ServiceProvider, typeof(T)); + } + // Note: Referencing these properties creates an instance of the tool and persists it. They should be referenced by type if this is not desired #region Tools