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() 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.Image = Properties.Resources.Lightning;
PauseStatusButton.Visible = true; PauseStatusButton.Visible = true;
@ -1923,12 +1929,6 @@ namespace BizHawk.Client.EmuHawk
PauseStatusButton.Visible = true; PauseStatusButton.Visible = true;
PauseStatusButton.ToolTipText = $"Emulator is playing to frame {PauseOnFrame.Value} click to stop seek"; 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 else
{ {
PauseStatusButton.Image = Properties.Resources.Blank; 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) if (!frame.HasValue)
{ {
return; 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; Mainform.PauseOnFrame = frame.Value;
int? diff = Mainform.PauseOnFrame - _seekStartFrame; int? diff = Mainform.PauseOnFrame - _seekStartFrame;
@ -510,7 +513,7 @@ namespace BizHawk.Client.EmuHawk
TasMovieRecord record = CurrentTasMovie[LastPositionFrame]; TasMovieRecord record = CurrentTasMovie[LastPositionFrame];
if (!record.Lagged.HasValue && LastPositionFrame > Emulator.Frame) if (!record.Lagged.HasValue && LastPositionFrame > Emulator.Frame)
{ {
StartSeeking(LastPositionFrame); StartSeeking(LastPositionFrame, true);
} }
else else
{ {