Minor refactor to debug menu
This commit is contained in:
parent
5a913ac2a4
commit
c490d8baa2
|
@ -36,11 +36,11 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
private sealed class DebugVSystemMenuItem : ToolStripMenuItemEx
|
||||
{
|
||||
public readonly IReadOnlyCollection<string> ExtraSysIDs;
|
||||
public readonly IReadOnlyCollection<string> SysIDs;
|
||||
|
||||
public DebugVSystemMenuItem(string labelText, IReadOnlyCollection<string>? extraSysIDs = null)
|
||||
public DebugVSystemMenuItem(string labelText, params string[] extraSysIDs)
|
||||
{
|
||||
ExtraSysIDs = extraSysIDs ?? Array.Empty<string>();
|
||||
SysIDs = new[] { labelText }.Concat(extraSysIDs).ToHashSet();
|
||||
Text = labelText;
|
||||
}
|
||||
}
|
||||
|
@ -187,7 +187,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
Text = "Firmware",
|
||||
},
|
||||
new ToolStripSeparatorEx(),
|
||||
new DebugVSystemMenuItem("GB")
|
||||
new DebugVSystemMenuItem(VSystemID.Raw.GB, VSystemID.Raw.GBC)
|
||||
{
|
||||
DropDownItems =
|
||||
{
|
||||
|
@ -199,7 +199,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
},
|
||||
},
|
||||
},
|
||||
new DebugVSystemMenuItem("GBA")
|
||||
new DebugVSystemMenuItem(VSystemID.Raw.GBA)
|
||||
{
|
||||
DropDownItems =
|
||||
{
|
||||
|
@ -211,7 +211,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
},
|
||||
},
|
||||
},
|
||||
new DebugVSystemMenuItem("N64")
|
||||
new DebugVSystemMenuItem(VSystemID.Raw.N64)
|
||||
{
|
||||
DropDownItems =
|
||||
{
|
||||
|
@ -228,7 +228,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
var coreName = Emulator.Attributes().CoreName;
|
||||
foreach (var item in ((ToolStripMenuItemEx) ddoSender).DropDownItems.OfType<DebugVSystemMenuItem>())
|
||||
{
|
||||
var groupEnabled = item.Text == sysID || item.ExtraSysIDs.Contains(sysID);
|
||||
var groupEnabled = item.SysIDs.Contains(sysID);
|
||||
foreach (var child in item.DropDownItems.Cast<DebugVSystemChildItem>().Where(static child => child.RequiresLoadedRom)) // RequiresLoadedRom == false => leave Enabled as default true
|
||||
{
|
||||
child.Enabled = groupEnabled && (child.RequiresCore is null || child.RequiresCore == coreName);
|
||||
|
|
Loading…
Reference in New Issue