tastudio: fix seek progressbar not to disappear on (every other) middle-click and || button

mainform: show pause icon first, even if we're seeking, because seeking is mostly a tastudio feature and its status is reported by tastudio already. fixes #1456
This commit is contained in:
feos 2019-06-10 23:34:03 +03:00
parent 9b1eaca7be
commit b90e4b9838
2 changed files with 15 additions and 12 deletions

View File

@ -1911,7 +1911,13 @@ namespace BizHawk.Client.EmuHawk
private void SetPauseStatusbarIcon()
{
if (IsTurboSeeking)
if (EmulatorPaused)
{
PauseStatusButton.Image = Properties.Resources.Pause;
PauseStatusButton.Visible = true;
PauseStatusButton.ToolTipText = "Emulator Paused";
}
else if (IsTurboSeeking)
{
PauseStatusButton.Image = Properties.Resources.Lightning;
PauseStatusButton.Visible = true;
@ -1923,12 +1929,6 @@ namespace BizHawk.Client.EmuHawk
PauseStatusButton.Visible = true;
PauseStatusButton.ToolTipText = $"Emulator is playing to frame {PauseOnFrame.Value} click to stop seek";
}
else if (EmulatorPaused)
{
PauseStatusButton.Image = Properties.Resources.Pause;
PauseStatusButton.Visible = true;
PauseStatusButton.ToolTipText = "Emulator Paused";
}
else
{
PauseStatusButton.Image = Properties.Resources.Blank;

View File

@ -76,19 +76,22 @@ namespace BizHawk.Client.EmuHawk
}
}
private void StartSeeking(int? frame)
private void StartSeeking(int? frame, bool fromMiddleClick = false)
{
if (!frame.HasValue)
{
return;
}
if (Mainform.PauseOnFrame != null)
if (!fromMiddleClick)
{
StopSeeking(true); // don't restore rec mode just yet, as with heavy editing checkbox updating causes lag
if (Mainform.PauseOnFrame != null)
{
StopSeeking(true); // don't restore rec mode just yet, as with heavy editing checkbox updating causes lag
}
_seekStartFrame = Emulator.Frame;
}
_seekStartFrame = Emulator.Frame;
Mainform.PauseOnFrame = frame.Value;
int? diff = Mainform.PauseOnFrame - _seekStartFrame;
@ -510,7 +513,7 @@ namespace BizHawk.Client.EmuHawk
TasMovieRecord record = CurrentTasMovie[LastPositionFrame];
if (!record.Lagged.HasValue && LastPositionFrame > Emulator.Frame)
{
StartSeeking(LastPositionFrame);
StartSeeking(LastPositionFrame, true);
}
else
{