Browse Source

【综合】暗黑场景设配

tangchao 1 năm trước cách đây
mục cha
commit
90a3e334c8

+ 29 - 23
PDF Office/PDF Master/Class/ChromiumTabs/KMBrowserWindowController.swift

@@ -153,29 +153,7 @@ import Cocoa
             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
-//            }
-        }
+        self.interfaceThemeDidChanged(self.window?.appearance?.name ?? .aqua)
     }
     
     override func updateViewColor() {
@@ -456,6 +434,34 @@ import Cocoa
     }
 }
 
+// MARK: - KMInterfaceThemeChangedProtocol
+
+extension KMBrowserWindowController: KMInterfaceThemeChangedProtocol {
+    func interfaceThemeDidChanged(_ appearance: NSAppearance.Name) {
+        Task { @MainActor in
+            self.updateViewColor()
+            
+            let selector = #selector(interfaceThemeDidChanged)
+            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: appearance)
+                }
+
+                responder = responder!.nextResponder
+            }
+        }
+    }
+}
+
 // MARK: - KMToolbarRightViewDelegate
 
 extension KMBrowserWindowController: KMToolbarRightViewDelegate {

+ 1 - 1
PDF Office/PDF Master/Class/Common/Category/NSObject+KMExtension.swift

@@ -672,7 +672,7 @@ extension NSApplication {
 }
 
 @objc protocol KMInterfaceThemeChangedProtocol: NSObjectProtocol {
-    @objc optional func interfaceThemeChanged(_ appearance: NSAppearance.Name)
+    @objc optional func interfaceThemeDidChanged(_ appearance: NSAppearance.Name)
 }
 
 // MARK: - NSOutlineView

+ 8 - 0
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/KMLeftSideViewController+Action.swift

@@ -226,6 +226,14 @@ extension KMLeftSideViewController {
     }
 }
 
+// MARK: - KMInterfaceThemeChangedProtocol
+
+extension KMLeftSideViewController: KMInterfaceThemeChangedProtocol {
+    func interfaceThemeDidChanged(_ appearance: NSAppearance.Name) {
+        self.updateViewColor()
+    }
+}
+
 // MARK: - NSMenuDelegate
 
 extension KMLeftSideViewController: NSMenuDelegate {

+ 3 - 5
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/KMLeftSideViewController.swift

@@ -58,7 +58,7 @@ class KMLeftSideViewController: KMSideViewController {
         self.reloadThumbnailSize()
         self.reloadSnapshotSize()
         
-        DistributedNotificationCenter.default().addObserver(self, selector: #selector(_themeChanged), name: NSApplication.interfaceThemeChangedNotification, object: nil)
+//        DistributedNotificationCenter.default().addObserver(self, selector: #selector(interfaceThemeDidChanged), name: NSApplication.interfaceThemeChangedNotification, object: nil)
         self.isDisplayPageSize = UserDefaults.standard.bool(forKey: "kKMThumbnailDisplayPageSizeKey")
     }
     
@@ -1104,10 +1104,8 @@ extension KMLeftSideViewController {
 // MARK: - Private Methods
 
 extension KMLeftSideViewController {
-    @objc private func _themeChanged(_ notification: NSNotification) {
-        DispatchQueue.main.asyncAfter(deadline: .now()+0.3) {
-            self._updateViewColor()
-        }
+    func updateViewColor() {
+        self._updateViewColor()
     }
     
     private func _updateViewColor() {

+ 8 - 0
PDF Office/PDF Master/Class/PDFWindowController/ViewController/KMMainViewController+UI.swift

@@ -705,3 +705,11 @@ extension KMMainViewController {
 //        KMPreferenceManager.shared.highlightLinks = !highlightLinks
 //    }
 }
+
+// MARK: - KMInterfaceThemeChangedProtocol
+
+extension KMMainViewController: KMInterfaceThemeChangedProtocol {
+    func interfaceThemeDidChanged(_ appearance: NSAppearance.Name) {
+        
+    }
+}

+ 2 - 98
PDF Office/PDF Reader Pro.xcodeproj/xcuserdata/kdanmobile.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -110,8 +110,8 @@
             filePath = "PDF Master/Class/ChromiumTabs/KMBrowserWindowController.swift"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "2196"
-            endingLineNumber = "2196"
+            startingLineNumber = "2202"
+            endingLineNumber = "2202"
             landmarkName = "savePDFSettingToDefaults(_:)"
             landmarkType = "7">
          </BreakpointContent>
@@ -548,102 +548,6 @@
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "877893A4-191F-4DC0-B4BA-6AD764BA2605"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "PDF Master/Class/PDFWindowController/Side/LeftSide/KMLeftSideViewController.swift"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "1108"
-            endingLineNumber = "1108"
-            landmarkName = "_themeChanged(_:)"
-            landmarkType = "7">
-            <Locations>
-               <Location
-                  uuid = "877893A4-191F-4DC0-B4BA-6AD764BA2605 - 3e436c85ec6692fb"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "PDF_Reader_Pro.KMLeftSideViewController._themeChanged(__C.NSNotification) -&gt; ()"
-                  moduleName = "PDF Reader Pro"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Users/kdanmobile/work/tangchao/git/PDFOffice/PDF%20Office/PDF%20Master/Class/PDFWindowController/Side/LeftSide/KMLeftSideViewController.swift"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "1108"
-                  endingLineNumber = "1108"
-                  offsetFromSymbolStart = "277">
-               </Location>
-               <Location
-                  uuid = "877893A4-191F-4DC0-B4BA-6AD764BA2605 - b06821624ed6e3c4"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "closure #1 @Swift.MainActor () -&gt; () in PDF_Reader_Pro.KMLeftSideViewController._themeChanged(__C.NSNotification) -&gt; ()"
-                  moduleName = "PDF Reader Pro"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Users/kdanmobile/work/tangchao/git/PDFOffice/PDF%20Office/PDF%20Master/Class/PDFWindowController/Side/LeftSide/KMLeftSideViewController.swift"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "1109"
-                  endingLineNumber = "1109"
-                  offsetFromSymbolStart = "22">
-               </Location>
-            </Locations>
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "DB926723-14B1-4358-AF9B-3BC932A40699"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "PDF Master/Class/ChromiumTabs/KMBrowserWindowController.swift"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "150"
-            endingLineNumber = "150"
-            landmarkName = "_themeChanged(_:)"
-            landmarkType = "7">
-            <Locations>
-               <Location
-                  uuid = "DB926723-14B1-4358-AF9B-3BC932A40699 - 74c2745fc2dd85a8"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "PDF_Reader_Pro.KMBrowserWindowController._themeChanged(Foundation.Notification) -&gt; ()"
-                  moduleName = "PDF Reader Pro"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Users/kdanmobile/work/tangchao/git/PDFOffice/PDF%20Office/PDF%20Master/Class/ChromiumTabs/KMBrowserWindowController.swift"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "150"
-                  endingLineNumber = "150"
-                  offsetFromSymbolStart = "85">
-               </Location>
-               <Location
-                  uuid = "DB926723-14B1-4358-AF9B-3BC932A40699 - 74c2745fc2dd85a8"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "PDF_Reader_Pro.KMBrowserWindowController._themeChanged(Foundation.Notification) -&gt; ()"
-                  moduleName = "PDF Reader Pro"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Users/kdanmobile/work/tangchao/git/PDFOffice/PDF%20Office/PDF%20Master/Class/ChromiumTabs/KMBrowserWindowController.swift"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "150"
-                  endingLineNumber = "150"
-                  offsetFromSymbolStart = "381">
-               </Location>
-            </Locations>
-         </BreakpointContent>
-      </BreakpointProxy>
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent