Allow multiple marker selection, and multiple marker deletion, also dejunkify some hack workarounds that aren't needed anymore, and fix focus issues on input roll
This commit is contained in:
parent
05c5148610
commit
b101df8235
|
@ -85,6 +85,10 @@ namespace BizHawk.Client.EmuHawk
|
||||||
SetStyle(ControlStyles.Opaque, true);
|
SetStyle(ControlStyles.Opaque, true);
|
||||||
SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
|
SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
|
||||||
|
|
||||||
|
// Deep in the bowels of winform documentation we discover these are necessary if you want your control to be able to have focus
|
||||||
|
SetStyle(ControlStyles.Selectable, true);
|
||||||
|
SetStyle(ControlStyles.UserMouse, true);
|
||||||
|
|
||||||
_renderer = new GdiPlusRenderer(Font);
|
_renderer = new GdiPlusRenderer(Font);
|
||||||
|
|
||||||
UpdateCellSize();
|
UpdateCellSize();
|
||||||
|
|
|
@ -176,7 +176,7 @@
|
||||||
this.MarkerView.LagFramesToHide = 0;
|
this.MarkerView.LagFramesToHide = 0;
|
||||||
this.MarkerView.LetKeysModifySelection = false;
|
this.MarkerView.LetKeysModifySelection = false;
|
||||||
this.MarkerView.Location = new System.Drawing.Point(6, 19);
|
this.MarkerView.Location = new System.Drawing.Point(6, 19);
|
||||||
this.MarkerView.MultiSelect = false;
|
this.MarkerView.MultiSelect = true;
|
||||||
this.MarkerView.Name = "MarkerView";
|
this.MarkerView.Name = "MarkerView";
|
||||||
this.MarkerView.RowCount = 0;
|
this.MarkerView.RowCount = 0;
|
||||||
this.MarkerView.ScrollSpeed = 1;
|
this.MarkerView.ScrollSpeed = 1;
|
||||||
|
@ -185,7 +185,6 @@
|
||||||
this.MarkerView.TabIndex = 0;
|
this.MarkerView.TabIndex = 0;
|
||||||
this.MarkerView.TabStop = false;
|
this.MarkerView.TabStop = false;
|
||||||
this.MarkerView.SelectedIndexChanged += new System.EventHandler(this.MarkerView_SelectedIndexChanged);
|
this.MarkerView.SelectedIndexChanged += new System.EventHandler(this.MarkerView_SelectedIndexChanged);
|
||||||
this.MarkerView.MouseClick += new System.Windows.Forms.MouseEventHandler(this.MarkerView_MouseClick);
|
|
||||||
this.MarkerView.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.MarkerView_MouseDoubleClick);
|
this.MarkerView.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.MarkerView_MouseDoubleClick);
|
||||||
//
|
//
|
||||||
// MarkersGroupBox
|
// MarkersGroupBox
|
||||||
|
|
|
@ -167,26 +167,14 @@ namespace BizHawk.Client.EmuHawk
|
||||||
if (MarkerView.AnyRowsSelected)
|
if (MarkerView.AnyRowsSelected)
|
||||||
{
|
{
|
||||||
SelectedMarkers.ForEach(i => Markers.Remove(i));
|
SelectedMarkers.ForEach(i => Markers.Remove(i));
|
||||||
ShrinkSelection();
|
MarkerView.RowCount = Markers.Count;
|
||||||
Tastudio.RefreshDialog();
|
Tastudio.RefreshDialog();
|
||||||
MarkerView_SelectedIndexChanged(null, null);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// feos: not the same as InputRoll.TruncateSelection(), since multiple selection of markers is forbidden
|
public void UpdateMarkerCount()
|
||||||
// moreover, when the last marker is removed, we need its selection to move to the previous marker
|
|
||||||
// still iterate, so things don't break if multiple selection is allowed someday
|
|
||||||
public void ShrinkSelection()
|
|
||||||
{
|
{
|
||||||
if (MarkerView.AnyRowsSelected)
|
MarkerView.RowCount = Markers.Count;
|
||||||
{
|
|
||||||
while (MarkerView.SelectedRows.Last() > Markers.Count - 1)
|
|
||||||
{
|
|
||||||
MarkerView.SelectRow(Markers.Count, false);
|
|
||||||
MarkerView.SelectRow(Markers.Count - 1, true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AddMarker(bool editText = false, int? frame = null)
|
public void AddMarker(bool editText = false, int? frame = null)
|
||||||
|
@ -327,10 +315,5 @@ namespace BizHawk.Client.EmuHawk
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void MarkerView_MouseClick(object sender, MouseEventArgs e)
|
|
||||||
{
|
|
||||||
MarkerContextMenu.Close();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -739,7 +739,7 @@ namespace BizHawk.Client.EmuHawk
|
||||||
private void RemoveMarkersMenuItem_Click(object sender, EventArgs e)
|
private void RemoveMarkersMenuItem_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
CurrentTasMovie.Markers.RemoveAll(m => TasView.SelectedRows.Contains(m.Frame));
|
CurrentTasMovie.Markers.RemoveAll(m => TasView.SelectedRows.Contains(m.Frame));
|
||||||
MarkerControl.ShrinkSelection();
|
MarkerControl.UpdateMarkerCount();
|
||||||
RefreshDialog();
|
RefreshDialog();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue