tastudio: break the keys menu into 2 dropdowns

WIP
This commit is contained in:
feos 2018-09-09 19:46:55 +03:00
parent 0893d96a7e
commit 1b6d6988fc
1 changed files with 16 additions and 1 deletions

View File

@ -1206,6 +1206,7 @@ namespace BizHawk.Client.EmuHawk
.Where(x => x.Name != "FrameColumn");
ToolStripMenuItem keysMenu = new ToolStripMenuItem("Keys");
ToolStripMenuItem keysMenuExtra = new ToolStripMenuItem("Extra Keys");
ToolStripMenuItem[] playerMenus = new ToolStripMenuItem[Emulator.ControllerDefinition.PlayerCount + 1];
playerMenus[0] = ColumnsSubMenu;
@ -1214,6 +1215,8 @@ namespace BizHawk.Client.EmuHawk
playerMenus[i] = new ToolStripMenuItem("Player " + i);
}
int rowCount = Screen.FromControl(this).WorkingArea.Height / (keysMenu.Height + 4);
foreach (InputRoll.RollColumn column in columns)
{
ToolStripMenuItem menuItem = new ToolStripMenuItem
@ -1237,7 +1240,14 @@ namespace BizHawk.Client.EmuHawk
if (column.Name.StartsWith("Key "))
{
keysMenu.DropDownItems.Add(menuItem);
if (keysMenu.DropDownItems.Count < rowCount)
{
keysMenu.DropDownItems.Add(menuItem);
}
else
{
keysMenuExtra.DropDownItems.Add(menuItem);
}
}
else
{
@ -1261,6 +1271,11 @@ namespace BizHawk.Client.EmuHawk
ColumnsSubMenu.DropDownItems.Add(keysMenu);
}
if (keysMenuExtra.DropDownItems.Count > 0)
{
ColumnsSubMenu.DropDownItems.Add(keysMenuExtra);
}
for (int i = 1; i < playerMenus.Length; i++)
{
if (playerMenus[i].DropDownItems.Count > 0)