diff --git a/src/BizHawk.Client.EmuHawk/MainForm.Events.cs b/src/BizHawk.Client.EmuHawk/MainForm.Events.cs index b63e698446..3eaacb2d28 100644 --- a/src/BizHawk.Client.EmuHawk/MainForm.Events.cs +++ b/src/BizHawk.Client.EmuHawk/MainForm.Events.cs @@ -1185,7 +1185,7 @@ namespace BizHawk.Client.EmuHawk private void ExternalToolMenuItem_DropDownOpening(object sender, EventArgs e) { ExternalToolMenuItem.DropDownItems.Clear(); - ExternalToolMenuItem.DropDownItems.AddRange(ExtToolManager.ToolStripMenu.Cast().ToArray()); + ExternalToolMenuItem.DropDownItems.AddRange(ExtToolManager.ToolStripItems.ToArray()); if (ExternalToolMenuItem.DropDownItems.Count == 0) { ExternalToolMenuItem.DropDownItems.Add("None"); diff --git a/src/BizHawk.Client.EmuHawk/MainForm.cs b/src/BizHawk.Client.EmuHawk/MainForm.cs index dd61367f55..de299c793d 100644 --- a/src/BizHawk.Client.EmuHawk/MainForm.cs +++ b/src/BizHawk.Client.EmuHawk/MainForm.cs @@ -186,7 +186,7 @@ namespace BizHawk.Client.EmuHawk var requestedExtToolDll = _argParser.openExtToolDll; if (requestedExtToolDll != null) { - var found = ExtToolManager.ToolStripMenu.Where(static item => item.Enabled) + var found = ExtToolManager.ToolStripItems.Where(static item => item.Enabled) .Select(static item => (ExternalToolManager.MenuItemInfo) item.Tag) .FirstOrNull(info => info.AsmFilename == requestedExtToolDll || Path.GetFileName(info.AsmFilename) == requestedExtToolDll diff --git a/src/BizHawk.Client.EmuHawk/tools/ExternalToolManager.cs b/src/BizHawk.Client.EmuHawk/tools/ExternalToolManager.cs index e268fe632e..4e4a5e8844 100644 --- a/src/BizHawk.Client.EmuHawk/tools/ExternalToolManager.cs +++ b/src/BizHawk.Client.EmuHawk/tools/ExternalToolManager.cs @@ -57,9 +57,6 @@ namespace BizHawk.Client.EmuHawk private readonly Func _loadCallback; - private PathEntryCollection _paths - => _config.PathEntries; - private FileSystemWatcher DirectoryMonitor; private readonly List MenuItems = new List(); @@ -84,7 +81,7 @@ namespace BizHawk.Client.EmuHawk DirectoryMonitor.Created -= DirectoryMonitor_Created; DirectoryMonitor.Dispose(); } - var path = _paths[PathEntryCollection.GLOBAL, "External Tools"].Path; + var path = _config.PathEntries[PathEntryCollection.GLOBAL, "External Tools"].Path; if (Directory.Exists(path)) { DirectoryMonitor = new FileSystemWatcher(path, "*.dll") @@ -110,10 +107,7 @@ namespace BizHawk.Client.EmuHawk } /// Generates a from an assembly at containing an external tool. - /// - /// a with its containing a ; - /// the first is the assembly path () and the second is the of the entry point form's type - /// + /// a with its containing a private ToolStripMenuItem GenerateToolTipFromFileName(string fileName) { if (fileName == null) throw new Exception(); @@ -138,7 +132,7 @@ namespace BizHawk.Client.EmuHawk var toolAttribute = allAttrs.OfType().First(); if (toolAttribute.LoadAssemblyFiles != null) { - foreach (var depFilename in toolAttribute.LoadAssemblyFiles) Assembly.LoadFrom($"{_paths[PathEntryCollection.GLOBAL, "External Tools"].Path}/{depFilename}"); + foreach (var depFilename in toolAttribute.LoadAssemblyFiles) Assembly.LoadFrom($"{_config.PathEntries[PathEntryCollection.GLOBAL, "External Tools"].Path}/{depFilename}"); } item.Image = null; // no errors, remove error icon @@ -157,7 +151,7 @@ namespace BizHawk.Client.EmuHawk item.Tag = menuItemInfo; item.Click += (_, _) => menuItemInfo.TryLoad(); PossibleExtToolTypeNames.Add(entryPoint.AssemblyQualifiedName); - if (applicabilityAttrs.Count == 1) + if (applicabilityAttrs.Count is 1) { var (system, loadedRomHash) = _getLoadedRomInfoCallback(); if (applicabilityAttrs[0].NotApplicableTo(system)) @@ -210,10 +204,7 @@ namespace BizHawk.Client.EmuHawk MenuItems.Add(GenerateToolTipFromFileName(e.FullPath)); } - /// - /// Gets a prebuild - /// This list auto-updated by the itself - /// - public IEnumerable ToolStripMenu => MenuItems; + public IReadOnlyCollection ToolStripItems + => MenuItems; } }