Add rewind indicator to status bar (resolves #2308)

This commit is contained in:
YoshiRulz 2025-04-09 21:12:19 +10:00
parent 1d6583e42d
commit eb7296dcd5
No known key found for this signature in database
GPG Key ID: C4DE31C245353FB7
3 changed files with 16 additions and 0 deletions

View File

@ -57,6 +57,12 @@ namespace BizHawk.Client.EmuHawk
private readonly ToolStripMenuItemEx NullHawkVSysSubmenu = new() { Enabled = false, Text = "—" };
private readonly StatusLabelEx StatusBarRewindIndicator = new()
{
Image = Properties.Resources.RewindRecord,
ToolTipText = "Rewinder is capturing states",
};
private void MainForm_Load(object sender, EventArgs e)
{
UpdateWindowTitle();
@ -177,6 +183,11 @@ namespace BizHawk.Client.EmuHawk
// Hide Status bar icons and general StatusBar prep
MainStatusBar.Padding = new Padding(MainStatusBar.Padding.Left, MainStatusBar.Padding.Top, MainStatusBar.Padding.Left, MainStatusBar.Padding.Bottom); // Workaround to remove extra padding on right
PlayRecordStatusButton.Visible = false;
StatusBarRewindIndicator.Click += RewindOptionsMenuItem_Click;
MainStatusBar.Items.InsertAfter(PlayRecordStatusButton, insert: StatusBarRewindIndicator);
UpdateStatusBarRewindIndicator();
AVStatusLabel.Visible = false;
SetPauseStatusBarIcon();
Tools.UpdateCheatRelatedTools(null, null);
@ -1189,6 +1200,7 @@ namespace BizHawk.Client.EmuHawk
? new ZeldaWinder(Emulator.AsStatable(), Config.Rewind)
: new Zwinder(Emulator.AsStatable(), Config.Rewind)
: null;
UpdateStatusBarRewindIndicator();
AddOnScreenMessage(Rewinder?.Active == true ? "Rewind started" : "Rewind disabled");
}
@ -2810,6 +2822,9 @@ namespace BizHawk.Client.EmuHawk
}
}
private void UpdateStatusBarRewindIndicator()
=> StatusBarRewindIndicator.Visible = Rewinder?.Active is true;
private void UpdateKeyPriorityIcon()
{
switch (Config.InputHotkeyOverrideOptions)

View File

@ -165,6 +165,7 @@ namespace BizHawk.Client.EmuHawk.Properties
internal static readonly Bitmap Refresh = ReadEmbeddedBitmap("Refresh");
internal static readonly Bitmap Restart = ReadEmbeddedBitmap("restart");
internal static readonly Bitmap RetroQuestion = ReadEmbeddedBitmap("RetroQuestion");
internal static readonly Bitmap RewindRecord = ReadEmbeddedBitmap("RewindRecord");
internal static readonly Bitmap Save = ReadEmbeddedBitmap("Save");
internal static readonly Bitmap SaveAs = ReadEmbeddedBitmap("SaveAs");
internal static readonly Bitmap SaveConfig = ReadEmbeddedBitmap("SaveConfig");

Binary file not shown.

After

Width:  |  Height:  |  Size: 848 B