Browse Source

[内存] - 多页签优化

liujiajie 1 year ago
parent
commit
85ee9a7ad1

+ 3 - 5
PDF Office/PDF Master/Class/ChromiumTabs/KMBrowserWindowController.swift

@@ -328,20 +328,18 @@ import Cocoa
             if preferenceNoteShow {
                 menuItemAction_newTagPageToNewWindow("")
             } else {
-                let window = NSWindow.currentWindow()
                 if !KMDataManager.default.isTabbingWin{
                     KMDataManager.default.isTabbingWin = true
                     let tabbingWin: KMTabbingHintWindowController = KMTabbingHintWindowController()
-                    tabbingWin.selectCallBack = { continueOrNot in
-                        window.km_quick_endSheet()
+                    tabbingWin.selectCallBack = {[weak self] continueOrNot in
                         KMDataManager.default.isTabbingWin = false
                         if continueOrNot {
-                            self.reopenDocument(forPaths: [])
+                            self?.reopenDocument(forPaths: [])
                         } else {
                             
                         }
                     }
-                    window.km_beginSheet(windowC: tabbingWin)
+                    self.km_beginSheet(windowC: tabbingWin)
                 }
             }
         } else {

+ 2 - 3
PDF Office/PDF Master/Class/Document/KMMainDocument.swift

@@ -217,11 +217,10 @@ typealias KMMainDocumentCloudUploadHanddler = (@escaping(Bool, String)->()) -> (
                     if !KMDataManager.default.isTabbingWin{
                         KMDataManager.default.isTabbingWin = true
                         let tabbingWin: KMTabbingHintWindowController = KMTabbingHintWindowController()
-                        tabbingWin.selectCallBack = { continueOrNot in
-                            window.km_quick_endSheet()
+                        tabbingWin.selectCallBack = {[weak self] continueOrNot in
                             KMDataManager.default.isTabbingWin = false
                             if continueOrNot {
-                                self.reopenDocument(forPaths: [])
+                                self?.reopenDocument(forPaths: [])
                             } else {
                                 
                             }

+ 4 - 20
PDF Office/PDF Master/Class/Home/ViewController/KMHomeViewController+Action.swift

@@ -321,21 +321,7 @@ extension KMHomeViewController {
         if preferenceNoteShow {
             menuItemAction_newTagPageToNewWindow("")
         } else {
-            let window = NSWindow.currentWindow()
-            if !KMDataManager.default.isTabbingWin{
-                KMDataManager.default.isTabbingWin = true
-                let tabbingWin: KMTabbingHintWindowController = KMTabbingHintWindowController()
-                tabbingWin.selectCallBack = { continueOrNot in
-                    window.km_quick_endSheet()
-                    KMDataManager.default.isTabbingWin = false
-                    if continueOrNot {
-                        self.reopenDocument(forPaths: [])
-                    } else {
-                        
-                    }
-                }
-                window.km_beginSheet(windowC: tabbingWin)
-            }
+            self.showLimitWindowAlert()
         }
     }
     
@@ -347,20 +333,18 @@ extension KMHomeViewController {
     }
     
     func showLimitWindowAlert() {
-        let window = NSWindow.currentWindow()
         if !KMDataManager.default.isTabbingWin{
             KMDataManager.default.isTabbingWin = true
             let tabbingWin: KMTabbingHintWindowController = KMTabbingHintWindowController()
-            tabbingWin.selectCallBack = { continueOrNot in
-                window.km_quick_endSheet()
+            tabbingWin.selectCallBack = {[weak self] continueOrNot in
                 KMDataManager.default.isTabbingWin = false
                 if continueOrNot {
-                    self.reopenDocument(forPaths: [])
+                    self?.reopenDocument(forPaths: [])
                 } else {
                     
                 }
             }
-            window.km_beginSheet(windowC: tabbingWin)
+            self.km_beginSheet(windowC: tabbingWin)
         }
     }
     

+ 3 - 5
PDF Office/PDF Master/Class/Home/ViewController/KMHomeViewController.swift

@@ -661,20 +661,18 @@ extension KMHomeViewController {
     func openPDFAction(_ sender: KMBox) {
         let controll: KMBrowserWindowController? = self.view.window?.windowController as? KMBrowserWindowController
         if controll?.browser.tabCount() ?? 0 > 1 && !IAPProductsManager.default().isAvailableAllFunction() {
-            let window = NSWindow.currentWindow()
             if !KMDataManager.default.isTabbingWin{
                 KMDataManager.default.isTabbingWin = true
                 let tabbingWin: KMTabbingHintWindowController = KMTabbingHintWindowController()
-                tabbingWin.selectCallBack = { continueOrNot in
-                    window.km_quick_endSheet()
+                tabbingWin.selectCallBack = { [weak self] continueOrNot in
                     KMDataManager.default.isTabbingWin = false
                     if continueOrNot {
-                        self.reopenDocument(forPaths: [])
+                        self?.reopenDocument(forPaths: [])
                     } else {
                         
                     }
                 }
-                window.km_beginSheet(windowC: tabbingWin)
+                self.km_beginSheet(windowC: tabbingWin)
             }
             return
         }

+ 2 - 0
PDF Office/PDF Master/Class/PDFWindowController/TabWindowController/KMTabbingHintWindowController.swift

@@ -83,6 +83,7 @@ class KMTabbingHintWindowController: NSWindowController{
         
     }
     @IBAction func buttonClicked_Cancel(_ sender: NSButton) {
+        self.km_quick_endSheet()
         if let callback = self.selectCallBack {
             callback(false)
         }
@@ -90,6 +91,7 @@ class KMTabbingHintWindowController: NSWindowController{
     @IBAction func buttonClicked_Done(_ sender: NSButton) {
         UserDefaults.standard.set(self.notShowAgainButton.state, forKey: KMTabbingHintShowFlag)
         UserDefaults.standard.synchronize()
+        self.km_quick_endSheet()
         if let callback = self.selectCallBack {
             callback(true)
         }

+ 3 - 5
PDF Office/PDF Master/Class/PDFWindowController/ViewController/KMMainViewController+Action.swift

@@ -4579,20 +4579,18 @@ extension KMMainViewController : KMMainToolbarControllerDelegate {
             if preferenceNoteShow {
                 menuItemAction_newTagPageToNewWindow("")
             } else {
-                let window = NSWindow.currentWindow()
                 if !KMDataManager.default.isTabbingWin{
                     KMDataManager.default.isTabbingWin = true
                     let tabbingWin: KMTabbingHintWindowController = KMTabbingHintWindowController()
-                    tabbingWin.selectCallBack = { continueOrNot in
-                        window.km_quick_endSheet()
+                    tabbingWin.selectCallBack = {[weak self] continueOrNot in
                         KMDataManager.default.isTabbingWin = false
                         if continueOrNot {
-                            self.reopenDocument(forPaths: [])
+                            self?.reopenDocument(forPaths: [])
                         } else {
                             
                         }
                     }
-                    window.km_beginSheet(windowC: tabbingWin)
+                    self.km_beginSheet(windowC: tabbingWin)
                 }
             }
         }else{