Tastudio - implement the Select Between Markers menu item
This commit is contained in:
parent
a51c254576
commit
816fac55fa
|
@ -21,7 +21,7 @@ namespace BizHawk.Client.Common
|
|||
{
|
||||
StateManager = new TasStateManager(this);
|
||||
Header[HeaderKeys.MOVIEVERSION] = "BizHawk v2.0 Tasproj v1.0";
|
||||
Markers = new TasMovieMarkerList();
|
||||
Markers = new TasMovieMarkerList(this);
|
||||
Markers.Add(0, StartsFromSavestate ? "Savestate" : "Power on");
|
||||
}
|
||||
|
||||
|
|
|
@ -74,6 +74,13 @@ namespace BizHawk.Client.Common
|
|||
|
||||
public class TasMovieMarkerList : List<TasMovieMarker>
|
||||
{
|
||||
private readonly TasMovie _movie;
|
||||
|
||||
public TasMovieMarkerList(TasMovie movie)
|
||||
{
|
||||
_movie = movie;
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
|
|
|
@ -253,7 +253,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
this.UndoMenuItem.Enabled = false;
|
||||
this.UndoMenuItem.Name = "UndoMenuItem";
|
||||
this.UndoMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Z)));
|
||||
this.UndoMenuItem.Size = new System.Drawing.Size(240, 22);
|
||||
this.UndoMenuItem.Size = new System.Drawing.Size(272, 22);
|
||||
this.UndoMenuItem.Text = "&Undo";
|
||||
//
|
||||
// RedoMenuItem
|
||||
|
@ -261,7 +261,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
this.RedoMenuItem.Enabled = false;
|
||||
this.RedoMenuItem.Name = "RedoMenuItem";
|
||||
this.RedoMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Y)));
|
||||
this.RedoMenuItem.Size = new System.Drawing.Size(240, 22);
|
||||
this.RedoMenuItem.Size = new System.Drawing.Size(272, 22);
|
||||
this.RedoMenuItem.Text = "&Redo";
|
||||
//
|
||||
// SelectionUndoMenuItem
|
||||
|
@ -269,7 +269,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
this.SelectionUndoMenuItem.Enabled = false;
|
||||
this.SelectionUndoMenuItem.Name = "SelectionUndoMenuItem";
|
||||
this.SelectionUndoMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Q)));
|
||||
this.SelectionUndoMenuItem.Size = new System.Drawing.Size(240, 22);
|
||||
this.SelectionUndoMenuItem.Size = new System.Drawing.Size(272, 22);
|
||||
this.SelectionUndoMenuItem.Text = "Selection Undo";
|
||||
//
|
||||
// SelectionRedoMenuItem
|
||||
|
@ -277,18 +277,18 @@ namespace BizHawk.Client.EmuHawk
|
|||
this.SelectionRedoMenuItem.Enabled = false;
|
||||
this.SelectionRedoMenuItem.Name = "SelectionRedoMenuItem";
|
||||
this.SelectionRedoMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.W)));
|
||||
this.SelectionRedoMenuItem.Size = new System.Drawing.Size(240, 22);
|
||||
this.SelectionRedoMenuItem.Size = new System.Drawing.Size(272, 22);
|
||||
this.SelectionRedoMenuItem.Text = "Selection Redo";
|
||||
//
|
||||
// toolStripSeparator5
|
||||
//
|
||||
this.toolStripSeparator5.Name = "toolStripSeparator5";
|
||||
this.toolStripSeparator5.Size = new System.Drawing.Size(237, 6);
|
||||
this.toolStripSeparator5.Size = new System.Drawing.Size(269, 6);
|
||||
//
|
||||
// DeselectMenuItem
|
||||
//
|
||||
this.DeselectMenuItem.Name = "DeselectMenuItem";
|
||||
this.DeselectMenuItem.Size = new System.Drawing.Size(240, 22);
|
||||
this.DeselectMenuItem.Size = new System.Drawing.Size(272, 22);
|
||||
this.DeselectMenuItem.Text = "Deselect";
|
||||
this.DeselectMenuItem.Click += new System.EventHandler(this.DeselectMenuItem_Click);
|
||||
//
|
||||
|
@ -296,36 +296,37 @@ namespace BizHawk.Client.EmuHawk
|
|||
//
|
||||
this.SelectAllMenuItem.Name = "SelectAllMenuItem";
|
||||
this.SelectAllMenuItem.ShortcutKeyDisplayString = "Ctrl+A";
|
||||
this.SelectAllMenuItem.Size = new System.Drawing.Size(240, 22);
|
||||
this.SelectAllMenuItem.Size = new System.Drawing.Size(272, 22);
|
||||
this.SelectAllMenuItem.Text = "Select &All";
|
||||
this.SelectAllMenuItem.Click += new System.EventHandler(this.SelectAllMenuItem_Click);
|
||||
//
|
||||
// SelectBetweenMarkersMenuItem
|
||||
//
|
||||
this.SelectBetweenMarkersMenuItem.Enabled = false;
|
||||
this.SelectBetweenMarkersMenuItem.Name = "SelectBetweenMarkersMenuItem";
|
||||
this.SelectBetweenMarkersMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.A)));
|
||||
this.SelectBetweenMarkersMenuItem.Size = new System.Drawing.Size(240, 22);
|
||||
this.SelectBetweenMarkersMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift)
|
||||
| System.Windows.Forms.Keys.A)));
|
||||
this.SelectBetweenMarkersMenuItem.Size = new System.Drawing.Size(272, 22);
|
||||
this.SelectBetweenMarkersMenuItem.Text = "Select between Markers";
|
||||
this.SelectBetweenMarkersMenuItem.Click += new System.EventHandler(this.SelectBetweenMarkersMenuItem_Click);
|
||||
//
|
||||
// ReselectClipboardMenuItem
|
||||
//
|
||||
this.ReselectClipboardMenuItem.Name = "ReselectClipboardMenuItem";
|
||||
this.ReselectClipboardMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.B)));
|
||||
this.ReselectClipboardMenuItem.Size = new System.Drawing.Size(240, 22);
|
||||
this.ReselectClipboardMenuItem.Size = new System.Drawing.Size(272, 22);
|
||||
this.ReselectClipboardMenuItem.Text = "Reselect Clipboard";
|
||||
this.ReselectClipboardMenuItem.Click += new System.EventHandler(this.ReselectClipboardMenuItem_Click);
|
||||
//
|
||||
// toolStripSeparator7
|
||||
//
|
||||
this.toolStripSeparator7.Name = "toolStripSeparator7";
|
||||
this.toolStripSeparator7.Size = new System.Drawing.Size(237, 6);
|
||||
this.toolStripSeparator7.Size = new System.Drawing.Size(269, 6);
|
||||
//
|
||||
// CopyMenuItem
|
||||
//
|
||||
this.CopyMenuItem.Name = "CopyMenuItem";
|
||||
this.CopyMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.C)));
|
||||
this.CopyMenuItem.Size = new System.Drawing.Size(240, 22);
|
||||
this.CopyMenuItem.Size = new System.Drawing.Size(272, 22);
|
||||
this.CopyMenuItem.Text = "Copy";
|
||||
this.CopyMenuItem.Click += new System.EventHandler(this.CopyMenuItem_Click);
|
||||
//
|
||||
|
@ -333,7 +334,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
//
|
||||
this.PasteMenuItem.Name = "PasteMenuItem";
|
||||
this.PasteMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.V)));
|
||||
this.PasteMenuItem.Size = new System.Drawing.Size(240, 22);
|
||||
this.PasteMenuItem.Size = new System.Drawing.Size(272, 22);
|
||||
this.PasteMenuItem.Text = "&Paste";
|
||||
this.PasteMenuItem.Click += new System.EventHandler(this.PasteMenuItem_Click);
|
||||
//
|
||||
|
@ -342,7 +343,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
this.PasteInsertMenuItem.Name = "PasteInsertMenuItem";
|
||||
this.PasteInsertMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift)
|
||||
| System.Windows.Forms.Keys.V)));
|
||||
this.PasteInsertMenuItem.Size = new System.Drawing.Size(240, 22);
|
||||
this.PasteInsertMenuItem.Size = new System.Drawing.Size(272, 22);
|
||||
this.PasteInsertMenuItem.Text = "&Paste Insert";
|
||||
this.PasteInsertMenuItem.Click += new System.EventHandler(this.PasteInsertMenuItem_Click);
|
||||
//
|
||||
|
@ -350,21 +351,21 @@ namespace BizHawk.Client.EmuHawk
|
|||
//
|
||||
this.CutMenuItem.Name = "CutMenuItem";
|
||||
this.CutMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.X)));
|
||||
this.CutMenuItem.Size = new System.Drawing.Size(240, 22);
|
||||
this.CutMenuItem.Size = new System.Drawing.Size(272, 22);
|
||||
this.CutMenuItem.Text = "&Cut";
|
||||
this.CutMenuItem.Click += new System.EventHandler(this.CutMenuItem_Click);
|
||||
//
|
||||
// toolStripSeparator8
|
||||
//
|
||||
this.toolStripSeparator8.Name = "toolStripSeparator8";
|
||||
this.toolStripSeparator8.Size = new System.Drawing.Size(237, 6);
|
||||
this.toolStripSeparator8.Size = new System.Drawing.Size(269, 6);
|
||||
//
|
||||
// ClearMenuItem
|
||||
//
|
||||
this.ClearMenuItem.Name = "ClearMenuItem";
|
||||
this.ClearMenuItem.ShortcutKeyDisplayString = "";
|
||||
this.ClearMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Delete)));
|
||||
this.ClearMenuItem.Size = new System.Drawing.Size(240, 22);
|
||||
this.ClearMenuItem.Size = new System.Drawing.Size(272, 22);
|
||||
this.ClearMenuItem.Text = "Clear";
|
||||
this.ClearMenuItem.Click += new System.EventHandler(this.ClearMenuItem_Click);
|
||||
//
|
||||
|
@ -372,7 +373,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
//
|
||||
this.DeleteFramesMenuItem.Name = "DeleteFramesMenuItem";
|
||||
this.DeleteFramesMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Delete;
|
||||
this.DeleteFramesMenuItem.Size = new System.Drawing.Size(240, 22);
|
||||
this.DeleteFramesMenuItem.Size = new System.Drawing.Size(272, 22);
|
||||
this.DeleteFramesMenuItem.Text = "&Delete";
|
||||
this.DeleteFramesMenuItem.Click += new System.EventHandler(this.DeleteFramesMenuItem_Click);
|
||||
//
|
||||
|
@ -380,7 +381,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
//
|
||||
this.CloneMenuItem.Name = "CloneMenuItem";
|
||||
this.CloneMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Insert)));
|
||||
this.CloneMenuItem.Size = new System.Drawing.Size(240, 22);
|
||||
this.CloneMenuItem.Size = new System.Drawing.Size(272, 22);
|
||||
this.CloneMenuItem.Text = "&Clone";
|
||||
this.CloneMenuItem.Click += new System.EventHandler(this.CloneMenuItem_Click);
|
||||
//
|
||||
|
@ -389,7 +390,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
this.InsertFrameMenuItem.Name = "InsertFrameMenuItem";
|
||||
this.InsertFrameMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift)
|
||||
| System.Windows.Forms.Keys.Insert)));
|
||||
this.InsertFrameMenuItem.Size = new System.Drawing.Size(240, 22);
|
||||
this.InsertFrameMenuItem.Size = new System.Drawing.Size(272, 22);
|
||||
this.InsertFrameMenuItem.Text = "&Insert";
|
||||
this.InsertFrameMenuItem.Click += new System.EventHandler(this.InsertFrameMenuItem_Click);
|
||||
//
|
||||
|
@ -397,19 +398,19 @@ namespace BizHawk.Client.EmuHawk
|
|||
//
|
||||
this.InsertNumFramesMenuItem.Name = "InsertNumFramesMenuItem";
|
||||
this.InsertNumFramesMenuItem.ShortcutKeyDisplayString = "Ins";
|
||||
this.InsertNumFramesMenuItem.Size = new System.Drawing.Size(240, 22);
|
||||
this.InsertNumFramesMenuItem.Size = new System.Drawing.Size(272, 22);
|
||||
this.InsertNumFramesMenuItem.Text = "Insert # of Frames";
|
||||
this.InsertNumFramesMenuItem.Click += new System.EventHandler(this.InsertNumFramesMenuItem_Click);
|
||||
//
|
||||
// toolStripSeparator6
|
||||
//
|
||||
this.toolStripSeparator6.Name = "toolStripSeparator6";
|
||||
this.toolStripSeparator6.Size = new System.Drawing.Size(237, 6);
|
||||
this.toolStripSeparator6.Size = new System.Drawing.Size(269, 6);
|
||||
//
|
||||
// TruncateMenuItem
|
||||
//
|
||||
this.TruncateMenuItem.Name = "TruncateMenuItem";
|
||||
this.TruncateMenuItem.Size = new System.Drawing.Size(240, 22);
|
||||
this.TruncateMenuItem.Size = new System.Drawing.Size(272, 22);
|
||||
this.TruncateMenuItem.Text = "&Truncate Movie";
|
||||
this.TruncateMenuItem.Click += new System.EventHandler(this.TruncateMenuItem_Click);
|
||||
//
|
||||
|
|
|
@ -449,9 +449,10 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
#region Edit
|
||||
|
||||
private void EditSubMenu_DropDownOpened(object sender, EventArgs e)
|
||||
{
|
||||
private void EditSubMenu_DropDownOpened(object sender, EventArgs e)
|
||||
{
|
||||
DeselectMenuItem.Enabled =
|
||||
SelectBetweenMarkersMenuItem.Enabled =
|
||||
CopyMenuItem.Enabled =
|
||||
CutMenuItem.Enabled =
|
||||
ClearMenuItem.Enabled =
|
||||
|
@ -464,7 +465,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
PasteMenuItem.Enabled =
|
||||
PasteInsertMenuItem.Enabled =
|
||||
_tasClipboard.Any();
|
||||
}
|
||||
}
|
||||
|
||||
private void DeselectMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
@ -476,6 +477,23 @@ namespace BizHawk.Client.EmuHawk
|
|||
TasView.SelectAll();
|
||||
}
|
||||
|
||||
private void SelectBetweenMarkersMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (SelectedIndices.Any())
|
||||
{
|
||||
var prevMarker = _tas.Markers.Previous(LastSelectedIndex);
|
||||
var nextMarker = _tas.Markers.Next(LastSelectedIndex);
|
||||
|
||||
int prev = prevMarker != null ? prevMarker.Frame : 0;
|
||||
int next = nextMarker != null ? nextMarker.Frame : _tas.InputLogLength;
|
||||
|
||||
for (int i = prev; i < next; i++)
|
||||
{
|
||||
TasView.SelectItem(i, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void ReselectClipboardMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
TasView.DeselectAll();
|
||||
|
|
Loading…
Reference in New Issue