From 0a781774850a95a646fcacfb7aa9382595161917 Mon Sep 17 00:00:00 2001 From: Kelvin Sherlock Date: Mon, 7 Sep 2020 15:01:36 -0400 Subject: [PATCH] Eject button - fix image when enabled status changes and mouseover active. --- Ample/EjectButton.m | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/Ample/EjectButton.m b/Ample/EjectButton.m index a61df9b..32b7d77 100644 --- a/Ample/EjectButton.m +++ b/Ample/EjectButton.m @@ -13,6 +13,7 @@ static NSImage *ejectHoverImage = nil; @implementation EjectButton { NSTrackingRectTag _tracking; + BOOL _mouse; } +(void)initialize { @@ -32,11 +33,22 @@ static NSImage *ejectHoverImage = nil; } -(void)mouseEntered:(NSEvent *)event { + _mouse = YES; if ([self isEnabled]) [self setImage: ejectHoverImage]; } -(void)mouseExited:(NSEvent *)event { - [self setImage: ejectImage]; + _mouse = NO; + if ([self isEnabled]) + [self setImage: ejectImage]; } +-(void)setEnabled:(BOOL)enabled { + [super setEnabled: enabled]; + if (_mouse) { + [self setImage: enabled ? ejectHoverImage : ejectImage]; + } +} + + @end