|
@@ -20,12 +20,29 @@ import Cocoa
|
|
|
var rightToolbarItemView: NSView!
|
|
|
|
|
|
private var homeVC: KMHomeViewController?
|
|
|
+
|
|
|
+ deinit {
|
|
|
+ KMPrint("KMBrowserWindowController deinit...")
|
|
|
+
|
|
|
+// self.removeObserverForAppearanceChange()
|
|
|
+ DistributedNotificationCenter.default().removeObserver(self)
|
|
|
+ NotificationCenter.default.removeObserver(self)
|
|
|
+ }
|
|
|
+
|
|
|
+ override func loadWindow() {
|
|
|
+ super.loadWindow()
|
|
|
+
|
|
|
+// self.window?.titlebarAppearsTransparent = true
|
|
|
+ }
|
|
|
|
|
|
override func windowDidLoad() {
|
|
|
super.windowDidLoad()
|
|
|
|
|
|
NSImage.makeTextAlignImages()
|
|
|
window?.backgroundColor = NSColor.km_init(hex: "#DFE1E5")
|
|
|
+ self.window?.appearance = NSApp.appearance
|
|
|
+ self.window?.titlebarAppearsTransparent = true
|
|
|
+// self.window?.standardWindowButton(.closeButton)?.superview?.needsLayout = true
|
|
|
|
|
|
// window?.setFrameAutosaveName("")
|
|
|
rightTabStripView_.delete = self
|
|
@@ -35,12 +52,13 @@ import Cocoa
|
|
|
homeRightTabStripView_.homeRightSearchField.delegate = self
|
|
|
|
|
|
isMultiTabMode = true
|
|
|
- addObserverForAppearanceChange()
|
|
|
+// self.addObserverForAppearanceChange()
|
|
|
|
|
|
refreshToolBar(homeToolState: .Home)
|
|
|
|
|
|
NotificationCenter.default.addObserver(self, selector: #selector(closeAllTabs(_:)), name: NSNotification.Name.init(rawValue: "KMTabControllerCloseAllTabs"), object: nil)
|
|
|
NotificationCenter.default.addObserver(self, selector: #selector(openNewWindow(_:)), name: NSNotification.Name.init(rawValue: "KMTabControllerOpenNewWindow"), object: nil)
|
|
|
+ DistributedNotificationCenter.default().addObserver(self, selector: #selector(_themeChanged), name: NSApplication.interfaceThemeChangedNotification, object: nil)
|
|
|
|
|
|
// if (KMWelcomeWindowController.welcomeHasShow() == false) {
|
|
|
// //AI 版本禁掉首次开启帮助文档
|
|
@@ -101,30 +119,62 @@ import Cocoa
|
|
|
override func layoutSubviews() {
|
|
|
super.layoutSubviews()
|
|
|
|
|
|
- if let button = (self.window as? CTBrowserWindow)?.standardWindowButton(.closeButton) {
|
|
|
- button.frame = NSMakeRect(button.frame.minX, 0, button.frame.width, button.frame.height)
|
|
|
- }
|
|
|
- if let button = (self.window as? CTBrowserWindow)?.standardWindowButton(.zoomButton) {
|
|
|
- button.frame = NSMakeRect(button.frame.minX, 0, button.frame.width, button.frame.height)
|
|
|
- }
|
|
|
- if let button = (self.window as? CTBrowserWindow)?.standardWindowButton(.miniaturizeButton) {
|
|
|
- button.frame = NSMakeRect(button.frame.minX, 0, button.frame.width, button.frame.height)
|
|
|
- }
|
|
|
+// if let button = (self.window as? CTBrowserWindow)?.standardWindowButton(.closeButton) {
|
|
|
+// button.frame = NSMakeRect(button.frame.minX, 0, button.frame.width, button.frame.height)
|
|
|
+// }
|
|
|
+// if let button = (self.window as? CTBrowserWindow)?.standardWindowButton(.zoomButton) {
|
|
|
+// button.frame = NSMakeRect(button.frame.minX, 0, button.frame.width, button.frame.height)
|
|
|
+// }
|
|
|
+// if let button = (self.window as? CTBrowserWindow)?.standardWindowButton(.miniaturizeButton) {
|
|
|
+// button.frame = NSMakeRect(button.frame.minX, 0, button.frame.width, button.frame.height)
|
|
|
+// }
|
|
|
}
|
|
|
|
|
|
// MARK: Dark&Light
|
|
|
|
|
|
- func addObserverForAppearanceChange() -> Void {
|
|
|
- window?.contentView!.addObserver(self, forKeyPath: "effectiveAppearance", options: .new, context: nil)
|
|
|
- }
|
|
|
+// func addObserverForAppearanceChange() -> Void {
|
|
|
+// window?.contentView?.addObserver(self, forKeyPath: "effectiveAppearance", options: .new, context: nil)
|
|
|
+// }
|
|
|
|
|
|
- func removeObserverForAppearanceChange() -> Void {
|
|
|
- window?.contentView!.removeObserver(self, forKeyPath: "effectiveAppearance")
|
|
|
- }
|
|
|
+// func removeObserverForAppearanceChange() -> Void {
|
|
|
+// window?.contentView?.removeObserver(self, forKeyPath: "effectiveAppearance")
|
|
|
+// }
|
|
|
|
|
|
- override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
|
|
|
- if keyPath == "effectiveAppearance" {
|
|
|
- updateViewColor()
|
|
|
+// override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
|
|
|
+// if keyPath == "effectiveAppearance" {
|
|
|
+// self.updateViewColor()
|
|
|
+// }
|
|
|
+// }
|
|
|
+
|
|
|
+ @objc private func _themeChanged(_ sender: Notification) {
|
|
|
+ if let data = self.window?.appearance?.name, data == .darkAqua {
|
|
|
+ self.window?.appearance = .init(named: .aqua)
|
|
|
+ } else {
|
|
|
+ self.window?.appearance = .init(named: .darkAqua)
|
|
|
+ }
|
|
|
+
|
|
|
+ Task { @MainActor in
|
|
|
+// self.interfaceThemeDidChanged(self.window?.appearance?.name ?? .aqua)
|
|
|
+ self.updateViewColor()
|
|
|
+
|
|
|
+// _themeChanged
|
|
|
+// let selector = NSSelectorFromString("_themeChanged:")
|
|
|
+// let mainWindow = self.window
|
|
|
+// var responder = mainWindow?.firstResponder
|
|
|
+//
|
|
|
+// while (responder != nil) {
|
|
|
+// KMPrint("res: \(responder)")
|
|
|
+//
|
|
|
+// if self.isEqual(to: responder) {
|
|
|
+// responder = responder?.nextResponder
|
|
|
+// continue
|
|
|
+// }
|
|
|
+// if let res = responder?.responds(to: selector), res {
|
|
|
+// responder?.perform(selector, with: sender)
|
|
|
+// }
|
|
|
+//
|
|
|
+// responder = responder!.nextResponder
|
|
|
+// }
|
|
|
}
|
|
|
}
|
|
|
|