Add "Clear in Visible Columns" to TAStudio (resolves #2349)

This commit is contained in:
YoshiRulz 2025-02-15 04:09:52 +10:00
parent 5d6b35e2c9
commit 702445f4a8
No known key found for this signature in database
GPG Key ID: C4DE31C245353FB7
1 changed files with 27 additions and 0 deletions

View File

@ -139,6 +139,33 @@ namespace BizHawk.Client.EmuHawk
EditSubMenu.DropDownItems.Insert(
EditSubMenu.DropDownItems.IndexOf(ReselectClipboardMenuItem) + 1,
goToFrameMenuItem);
void clearVisibleMenuItem_Click(object sender, EventArgs args)
{
//TODO batch for undo?
foreach (var col in TasView.VisibleColumns) switch (col.Type)
{
case ColumnType.Boolean:
foreach (var frame in TasView.SelectedRows) //TODO group contiguous?
{
CurrentTasMovie.SetBoolState(frame, col.Name, val: false);
}
break;
case ColumnType.Axis:
var neutralValue = ControllerType.Axes[col.Name].Neutral;
foreach (var frame in TasView.SelectedRows) //TODO group contiguous?
{
CurrentTasMovie.SetAxisState(frame: frame, buttonName: col.Name, val: neutralValue);
}
break;
}
RefreshDialog();
}
ToolStripMenuItemEx clearVisibleMenuItem = new() { Text = "Clear in Visible Columns" };
clearVisibleMenuItem.Click += clearVisibleMenuItem_Click;
EditSubMenu.DropDownItems.Insert(EditSubMenu.DropDownItems.IndexOf(ClearFramesMenuItem), clearVisibleMenuItem);
ToolStripMenuItemEx clearVisibleCtxMenuItem = new() { Text = "Clear in Visible Columns" };
clearVisibleCtxMenuItem.Click += clearVisibleMenuItem_Click;
RightClickMenu.Items.Insert(RightClickMenu.Items.IndexOf(ClearContextMenuItem), clearVisibleCtxMenuItem);
RecentSubMenu.Image = Resources.Recent;
recentMacrosToolStripMenuItem.Image = Resources.Recent;