tastudio: ignore inputroll hotkeys and numeric branch hotkeys during float editing mode.

This commit is contained in:
feos 2016-05-07 15:04:42 +03:00
parent a7f03d4c2c
commit 53c7f4e5be
3 changed files with 98 additions and 72 deletions

View File

@ -45,6 +45,7 @@ namespace BizHawk.Client.EmuHawk
public bool denoteMarkersWithBGColor { get; set; }
public bool allowRightClickSelecton { get; set; }
public bool letKeysModifySelection { get; set; }
public bool suspendHotkeys { get; set; }
private IntPtr RotatedFont;
private readonly IntPtr NormalFont;
@ -1262,6 +1263,8 @@ namespace BizHawk.Client.EmuHawk
}
protected override void OnKeyDown(KeyEventArgs e)
{
if (!suspendHotkeys)
{
if (e.Control && !e.Alt && e.Shift && e.KeyCode == Keys.F) // Ctrl+Shift+F
{
@ -1352,6 +1355,7 @@ namespace BizHawk.Client.EmuHawk
Refresh();
}
}
}
base.OnKeyDown(e);
}

View File

@ -276,6 +276,9 @@ namespace BizHawk.Client.EmuHawk
public void LoadBranchExternal(int slot = -1)
{
if (Tastudio.FloatEditingMode)
return;
if (slot != -1)
{
if (GetBranch(slot) != null)
@ -293,6 +296,9 @@ namespace BizHawk.Client.EmuHawk
public void UpdateBranchExternal(int slot = -1)
{
if (Tastudio.FloatEditingMode)
return;
if (slot != -1)
{
if (GetBranch(slot) != null)
@ -315,6 +321,9 @@ namespace BizHawk.Client.EmuHawk
public void SelectBranchExternal(int slot)
{
if (Tastudio.FloatEditingMode)
return;
if (GetBranch(slot) != null)
{
BranchView.SelectRow(slot, true);

View File

@ -25,6 +25,14 @@ namespace BizHawk.Client.EmuHawk
// SuuperW: For editing analog input
private string _floatEditColumn = string.Empty;
private int _floatEditRow = -1;
private int floatEditRow
{
set
{
_floatEditRow = value;
TasView.suspendHotkeys = FloatEditingMode;
}
}
private string _floatTypedValue;
private int _floatEditYPos = -1;
// Right-click dragging
@ -86,6 +94,11 @@ namespace BizHawk.Client.EmuHawk
_seekBackgroundWorker.CancelAsync();
}
public bool FloatEditingMode
{
get { return _floatEditRow != -1; }
}
// public static Color CurrentFrame_FrameCol = Color.FromArgb(0xCFEDFC); Why?
public static Color CurrentFrame_InputLog = Color.FromArgb(0xB5E7F7);
@ -400,7 +413,7 @@ namespace BizHawk.Client.EmuHawk
{
if (_floatEditColumn != buttonName || _floatEditRow != frame)
{
_floatEditRow = -1;
floatEditRow = -1;
RefreshTasView();
}
else
@ -486,12 +499,12 @@ namespace BizHawk.Client.EmuHawk
else // Double-click enters float editing mode
{
if (_floatEditColumn == buttonName && _floatEditRow == frame)
_floatEditRow = -1;
floatEditRow = -1;
else
{
CurrentTasMovie.ChangeLog.BeginNewBatch("Float Edit: " + frame);
_floatEditColumn = buttonName;
_floatEditRow = frame;
floatEditRow = frame;
_floatTypedValue = "";
_floatEditYPos = e.Y;
_triggerAutoRestore = true;
@ -559,7 +572,7 @@ namespace BizHawk.Client.EmuHawk
// Exit float editing if value was changed with cursor
if (_floatEditRow != -1 && _floatPaintState != CurrentTasMovie.GetFloatState(_floatEditRow, _floatEditColumn))
{
_floatEditRow = -1;
floatEditRow = -1;
RefreshDialog();
}
_floatPaintState = 0;
@ -937,7 +950,7 @@ namespace BizHawk.Client.EmuHawk
_floatEditYPos = -1;
CurrentTasMovie.SetFloatState(_floatEditRow, _floatEditColumn, _floatPaintState);
}
_floatEditRow = -1;
floatEditRow = -1;
}
else
{