Browse Source
Merge pull request #10575 from AvaloniaUI/fixes/macos-no-resize-zoom
macOS: Don't allow window zoom when CanResize=false.
gh-readonly-queue/master/pr-10572-4d7e453d584c5197d53c7549fe4359325154a3c0
Dan Walmsley
3 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with
6 additions and
2 deletions
-
native/Avalonia.Native/src/OSX/AvnWindow.mm
-
native/Avalonia.Native/src/OSX/WindowBaseImpl.h
-
native/Avalonia.Native/src/OSX/WindowImpl.h
-
native/Avalonia.Native/src/OSX/WindowImpl.mm
|
|
|
@ -394,7 +394,7 @@ |
|
|
|
|
|
|
|
- (BOOL)windowShouldZoom:(NSWindow *_Nonnull)window toFrame:(NSRect)newFrame |
|
|
|
{ |
|
|
|
return true; |
|
|
|
return _parent->CanZoom(); |
|
|
|
} |
|
|
|
|
|
|
|
-(void)windowDidResignKey:(NSNotification *)notification |
|
|
|
|
|
|
|
@ -107,6 +107,8 @@ BEGIN_INTERFACE_MAP() |
|
|
|
|
|
|
|
virtual HRESULT GetInputMethod(IAvnTextInputMethod **retOut) override; |
|
|
|
|
|
|
|
virtual bool CanZoom() { return false; } |
|
|
|
|
|
|
|
protected: |
|
|
|
virtual NSWindowStyleMask CalculateStyleMask() = 0; |
|
|
|
virtual void UpdateStyle(); |
|
|
|
|
|
|
|
@ -97,6 +97,8 @@ BEGIN_INTERFACE_MAP() |
|
|
|
|
|
|
|
bool CanBecomeKeyWindow (); |
|
|
|
|
|
|
|
bool CanZoom() override { return _isEnabled && _canResize; } |
|
|
|
|
|
|
|
protected: |
|
|
|
virtual NSWindowStyleMask CalculateStyleMask() override; |
|
|
|
void UpdateStyle () override; |
|
|
|
|
|
|
|
@ -622,5 +622,5 @@ void WindowImpl::UpdateStyle() { |
|
|
|
[miniaturizeButton setHidden:!hasTrafficLights]; |
|
|
|
[miniaturizeButton setEnabled:_isEnabled]; |
|
|
|
[zoomButton setHidden:!hasTrafficLights]; |
|
|
|
[zoomButton setEnabled:_isEnabled && _canResize]; |
|
|
|
[zoomButton setEnabled:CanZoom()]; |
|
|
|
} |
|
|
|
|