Browse Source

【整体】打开PDF文档,展开左侧缩略图列表,从桌面任意拖拽一个PDF插入到缩图中,点击窗口左上角的关闭按钮,会弹出两次是否保存的弹窗(已修复)

tangchao 1 year ago
parent
commit
b1c3fa6ec7
1 changed files with 13 additions and 0 deletions
  1. 13 0
      PDF Office/PDF Master/Class/ChromiumTabs/KMBrowser.swift

+ 13 - 0
PDF Office/PDF Master/Class/ChromiumTabs/KMBrowser.swift

@@ -12,6 +12,7 @@ import Cocoa
     var numberOfTabViewItem: Int = 0
     var isCloseAllTabViewItem: Bool = false
     var currentCloseDocument: KMMainDocument?
+    var currentDocument: KMMainDocument?
 
     override func createBlankTabBased(on baseContents: CTTabContents?) -> CTTabContents {
         return KMMainDocument.init(baseTabContents: baseContents)!
@@ -25,6 +26,8 @@ import Cocoa
     }
     
     override func windowDidBeginToClose() {
+        self.currentDocument = NSDocumentController.shared.currentDocument as? KMMainDocument
+        
         numberOfTabViewItem = Int(tabCount())
         isCloseAllTabViewItem = true
         closeTabViewItem()
@@ -45,6 +48,16 @@ import Cocoa
             }
             // 清理数据 [主要清空通知]
             currentDocument.mainViewController?.clearData()
+            if (currentDocument.isEqual(to: self.currentDocument)) {
+                // 当前文档 不用提醒,在关闭窗口时已提醒过了
+                tabStripModel.detachTabContents(at: Int32(self.numberOfTabViewItem - 1))
+                currentDocument.close()
+                if (self.isCloseAllTabViewItem) {
+                    self.numberOfTabViewItem = self.numberOfTabViewItem - 1
+                    self.closeTabViewItem()
+                }
+                return
+            }
             
             let isPrompt = KMPreferenceManager.shared.closeFileIsPrompt()
             if currentDocument.isNewCreated {