Skip to content

Commit

Permalink
fix: respect minimizable/closable for customButtonsOnHover
Browse files Browse the repository at this point in the history
  • Loading branch information
codebytere committed May 28, 2019
1 parent 14b62b2 commit 859fd0a
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 7 deletions.
2 changes: 1 addition & 1 deletion atom/browser/native_window_mac.h
Expand Up @@ -167,7 +167,7 @@ class NativeWindowMac : public NativeWindow {

private:
// Add custom layers to the content view.
void AddContentViewLayers();
void AddContentViewLayers(bool minimizable, bool closable);

void InternalSetParentWindow(NativeWindow* parent, bool attach);
void SetForwardMouseMessages(bool forward);
Expand Down
20 changes: 14 additions & 6 deletions atom/browser/native_window_mac.mm
Expand Up @@ -73,9 +73,11 @@ - (id)initWithFrame:(NSRect)frame {
NSButton* close_button =
[NSWindow standardWindowButton:NSWindowCloseButton
forStyleMask:NSWindowStyleMaskTitled];
[close_button setTag:1];
NSButton* miniaturize_button =
[NSWindow standardWindowButton:NSWindowMiniaturizeButton
forStyleMask:NSWindowStyleMaskTitled];
[miniaturize_button setTag:2];

CGFloat x = 0;
const CGFloat space_between = 20;
Expand Down Expand Up @@ -459,7 +461,7 @@ void ViewDidMoveToSuperview(NSView* self, SEL _cmd) {

// Default content view.
SetContentView(new views::View());
AddContentViewLayers();
AddContentViewLayers(minimizable, closable);

original_frame_ = [window_ frame];
original_level_ = [window_ level];
Expand Down Expand Up @@ -851,9 +853,9 @@ void ViewDidMoveToSuperview(NSView* self, SEL _cmd) {
if (newLevel >= minWindowLevel && newLevel <= maxWindowLevel) {
[window_ setLevel:newLevel];
} else {
*error = std::string([
[NSString stringWithFormat:@"relativeLevel must be between %d and %d",
minWindowLevel, maxWindowLevel] UTF8String]);
*error = std::string([[NSString
stringWithFormat:@"relativeLevel must be between %d and %d",
minWindowLevel, maxWindowLevel] UTF8String]);
}
}

Expand Down Expand Up @@ -1102,7 +1104,7 @@ void ViewDidMoveToSuperview(NSView* self, SEL _cmd) {
}

[view->GetInspectableWebContentsView()->GetNativeView().GetNativeNSView()
removeFromSuperview];
removeFromSuperview];
remove_browser_view(view);

[CATransaction commit];
Expand Down Expand Up @@ -1424,6 +1426,12 @@ void ViewDidMoveToSuperview(NSView* self, SEL _cmd) {
[[CustomWindowButtonView alloc] initWithFrame:NSZeroRect]);
// NSWindowStyleMaskFullSizeContentView does not work with zoom button
SetFullScreenable(false);

if (!minimizable)
[[buttons_view_ viewWithTag:2] removeFromSuperview];
if (!closable)
[[buttons_view_ viewWithTag:1] removeFromSuperview];

[[window_ contentView] addSubview:buttons_view_];
} else {
if (title_bar_style_ != NORMAL)
Expand Down Expand Up @@ -1480,7 +1488,7 @@ void ViewDidMoveToSuperview(NSView* self, SEL _cmd) {
setAutoresizingMask:NSViewWidthSizable | NSViewHeightSizable];
[container_view_ setFrame:[[[window_ contentView] superview] bounds]];
[window_ setContentView:container_view_];
AddContentViewLayers();
AddContentViewLayers(IsMinimizable(), IsClosable());
}

void NativeWindowMac::SetStyleMask(bool on, NSUInteger flag) {
Expand Down

0 comments on commit 859fd0a

Please sign in to comment.