Browse Source

Move traffic lights logic into one place.

pull/10265/head
Steven Kirk 4 years ago
parent
commit
6a1910172c
  1. 4
      native/Avalonia.Native/src/OSX/AvnWindow.mm
  2. 15
      native/Avalonia.Native/src/OSX/WindowImpl.mm

4
native/Avalonia.Native/src/OSX/AvnWindow.mm

@ -274,10 +274,6 @@
-(void) setEnabled:(bool)enable -(void) setEnabled:(bool)enable
{ {
_isEnabled = enable; _isEnabled = enable;
[[self standardWindowButton:NSWindowCloseButton] setEnabled:enable];
[[self standardWindowButton:NSWindowMiniaturizeButton] setEnabled:enable];
[[self standardWindowButton:NSWindowZoomButton] setEnabled:enable];
} }
-(void)becomeKeyWindow -(void)becomeKeyWindow

15
native/Avalonia.Native/src/OSX/WindowImpl.mm

@ -599,9 +599,14 @@ void WindowImpl::UpdateStyle() {
bool wantsChrome = (_extendClientHints & AvnSystemChrome) || (_extendClientHints & AvnPreferSystemChrome); bool wantsChrome = (_extendClientHints & AvnSystemChrome) || (_extendClientHints & AvnPreferSystemChrome);
bool hasTrafficLights = _isClientAreaExtended ? wantsChrome : _decorations == SystemDecorationsFull; bool hasTrafficLights = _isClientAreaExtended ? wantsChrome : _decorations == SystemDecorationsFull;
[[Window standardWindowButton:NSWindowCloseButton] setHidden:!hasTrafficLights]; NSButton* closeButton = [Window standardWindowButton:NSWindowCloseButton];
[[Window standardWindowButton:NSWindowMiniaturizeButton] setHidden:!hasTrafficLights]; NSButton* miniaturizeButton = [Window standardWindowButton:NSWindowMiniaturizeButton];
[[Window standardWindowButton:NSWindowZoomButton] setHidden:!hasTrafficLights]; NSButton* zoomButton = [Window standardWindowButton:NSWindowZoomButton];
[[Window standardWindowButton:NSWindowZoomButton] setEnabled:_canResize];
}
[closeButton setHidden:!hasTrafficLights];
[closeButton setEnabled:_isEnabled];
[miniaturizeButton setHidden:!hasTrafficLights];
[miniaturizeButton setEnabled:_isEnabled];
[zoomButton setHidden:!hasTrafficLights];
[zoomButton setEnabled:_isEnabled && _canResize];
}

Loading…
Cancel
Save