Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -53,11 +53,16 @@ extension NSRect {

public class WindowManager: NSObject, NSWindowDelegate {
public var onEvent:((String) -> Void)?

private var registrar: FlutterPluginRegistrar?

private var _mainWindow: NSWindow?
public var mainWindow: NSWindow {
get {
return _mainWindow!
if let window = _mainWindow {
return window
}
return (registrar?.view?.window)!
}
set {

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tell me if I am wrong but this setter does not seem to be relevant anymore. We should remove it and also remove _mainWindow attribute

_mainWindow = newValue
Expand All @@ -68,8 +73,9 @@ public class WindowManager: NSObject, NSWindowDelegate {
private var _isPreventClose: Bool = false
private var _isMaximized: Bool = false
private var _isMaximizable: Bool = true

override public init() {

public init(_ registrar: FlutterPluginRegistrar) {
self.registrar = registrar
super.init()
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,25 +16,21 @@ public class WindowManagerPlugin: NSObject, FlutterPlugin {
return (self.registrar.view?.window)!;
}
}

private var _inited: Bool = false
private var windowManager: WindowManager = WindowManager()

private var windowManager: WindowManager

public init(_ registrar: FlutterPluginRegistrar, _ channel: FlutterMethodChannel) {
super.init()
self.registrar = registrar
self.channel = channel
self.windowManager = WindowManager(registrar)
self.windowManager.onEvent = {
(eventName: String) in
self._emitEvent(eventName)
}
}

private func ensureInitialized() {
if (!_inited) {
windowManager.mainWindow = mainWindow
windowManager.onEvent = {
(eventName: String) in
self._emitEvent(eventName)
}
_inited = true
}
}

public func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
Expand Down
Loading