-
Notifications
You must be signed in to change notification settings - Fork 15k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: add panel support for BrowserWindow (#34665)
* feat: add NSPanel support for BrowserWindow * change header guard to satisfy linter * change panel wording in browser-window * Revert "change panel wording in browser-window" This reverts commit 6f3f80f. * change wording in browser-window * Update shell/browser/ui/cocoa/electron_native_widget_mac.mm Co-authored-by: Cheng Zhao <github@zcbenz.com> * Update shell/browser/ui/cocoa/electron_native_widget_mac.h Co-authored-by: Cheng Zhao <github@zcbenz.com> * Changed ScopedDisableResize class to allow for nesting Co-authored-by: andreiisaila <andreiisaila@microsoft.com> Co-authored-by: isailaandrei <isailaandrei.i@gmail.com> Co-authored-by: Cheng Zhao <github@zcbenz.com>
- Loading branch information
1 parent
46d609f
commit c48e0b8
Showing
9 changed files
with
92 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
// Copyright (c) 2022 Microsoft, Inc. | ||
// Use of this source code is governed by the MIT license that can be | ||
// found in the LICENSE file. | ||
|
||
#ifndef ELECTRON_SHELL_BROWSER_UI_COCOA_ELECTRON_NS_PANEL_H_ | ||
#define ELECTRON_SHELL_BROWSER_UI_COCOA_ELECTRON_NS_PANEL_H_ | ||
|
||
#include "shell/browser/ui/cocoa/electron_ns_window.h" | ||
|
||
@interface ElectronNSPanel : ElectronNSWindow | ||
@property NSWindowStyleMask styleMask; | ||
@property NSWindowStyleMask originalStyleMask; | ||
- (id)initWithShell:(electron::NativeWindowMac*)shell | ||
styleMask:(NSUInteger)styleMask; | ||
@end | ||
|
||
#endif // ELECTRON_SHELL_BROWSER_UI_COCOA_ELECTRON_NS_PANEL_H_ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
// Copyright (c) 2022 Microsoft, Inc. | ||
// Use of this source code is governed by the MIT license that can be | ||
// found in the LICENSE file. | ||
|
||
#include "shell/browser/ui/cocoa/electron_ns_panel.h" | ||
|
||
@implementation ElectronNSPanel | ||
|
||
@synthesize originalStyleMask; | ||
|
||
- (id)initWithShell:(electron::NativeWindowMac*)shell | ||
styleMask:(NSUInteger)styleMask { | ||
if (self = [super initWithShell:shell styleMask:styleMask]) { | ||
originalStyleMask = styleMask; | ||
} | ||
return self; | ||
} | ||
|
||
@dynamic styleMask; | ||
// The Nonactivating mask is reserverd for NSPanel, | ||
// but we can use this workaround to add it at runtime | ||
- (NSWindowStyleMask)styleMask { | ||
return originalStyleMask | NSWindowStyleMaskNonactivatingPanel; | ||
} | ||
|
||
- (void)setStyleMask:(NSWindowStyleMask)styleMask { | ||
originalStyleMask = styleMask; | ||
// Notify change of style mask. | ||
[super setStyleMask:styleMask]; | ||
} | ||
|
||
- (void)setCollectionBehavior:(NSWindowCollectionBehavior)collectionBehavior { | ||
NSWindowCollectionBehavior panelBehavior = | ||
(NSWindowCollectionBehaviorCanJoinAllSpaces | | ||
NSWindowCollectionBehaviorFullScreenAuxiliary); | ||
[super setCollectionBehavior:collectionBehavior | panelBehavior]; | ||
} | ||
|
||
@end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters