Refactor `MainForm.HandleToggleLightAndLink`

This commit is contained in:
YoshiRulz 2024-09-06 02:28:24 +10:00
parent 234c7dda6b
commit 6d05b9874c
No known key found for this signature in database
GPG Key ID: C4DE31C245353FB7
1 changed files with 20 additions and 41 deletions

View File

@ -2674,49 +2674,28 @@ namespace BizHawk.Client.EmuHawk
private void HandleToggleLightAndLink()
{
if (MainStatusBar.Visible)
if (!MainStatusBar.Visible) return;
if (Emulator.HasDriveLight() && Emulator.AsDriveLight() is { DriveLightEnabled: true } diskLEDCore)
{
var hasDriveLight = Emulator.HasDriveLight() && Emulator.AsDriveLight().DriveLightEnabled;
LedLightStatusLabel.Image = diskLEDCore.DriveLightOn ? _statusBarDiskLightOnImage : _statusBarDiskLightOffImage;
LedLightStatusLabel.Visible = true;
}
else
{
LedLightStatusLabel.Visible = false;
}
if (hasDriveLight)
{
if (!LedLightStatusLabel.Visible)
{
LedLightStatusLabel.Visible = true;
}
LedLightStatusLabel.Image = Emulator.AsDriveLight().DriveLightOn
? _statusBarDiskLightOnImage
: _statusBarDiskLightOffImage;
}
else
{
if (LedLightStatusLabel.Visible)
{
LedLightStatusLabel.Visible = false;
}
}
if (Emulator.UsesLinkCable())
{
if (!LinkConnectStatusBarButton.Visible)
{
LinkConnectStatusBarButton.Visible = true;
}
LinkConnectStatusBarButton.Image = Emulator.AsLinkable().LinkConnected
? _linkCableOn
: _linkCableOff;
LinkConnectStatusBarButton.ToolTipText = $"Link connection is currently {(Emulator.AsLinkable().LinkConnected ? "enabled" : "disabled")}";
}
else
{
if (LinkConnectStatusBarButton.Visible)
{
LinkConnectStatusBarButton.Visible = false;
}
}
if (Emulator.UsesLinkCable())
{
var linkableCore = Emulator.AsLinkable();
LinkConnectStatusBarButton.Image = linkableCore.LinkConnected ? _linkCableOn : _linkCableOff;
LinkConnectStatusBarButton.ToolTipText = $"Link connection is currently {(linkableCore.LinkConnected ? "enabled" : "disabled")}";
LinkConnectStatusBarButton.Visible = true;
}
else
{
LinkConnectStatusBarButton.Visible = false;
}
}