Преглед изворни кода

【阅读页】关闭阅读页 清除缓存数据

lizhe пре 7 месеци
родитељ
комит
73f15914ff

+ 2 - 1
PDF Office/PDF Master/Class/ChromiumTabs/src/Tab/CTTabController.m

@@ -253,7 +253,8 @@ static NSString* const kBrowserThemeDidChangeNotification =
 }
 
 - (IBAction)closeTab:(id)sender {
-	if ([[self target] respondsToSelector:@selector(closeTab:)]) {
+    [[NSNotificationCenter defaultCenter] postNotificationName:@"KMTabControllerWillCloseTabs" object:self];
+    if ([[self target] respondsToSelector:@selector(closeTab:)]) {
 		[[self target] performSelector:@selector(closeTab:)
 							withObject:[self view]];
 	}

+ 13 - 2
PDF Office/PDF Master/Class/PDFWindowController/ViewController/KMMainViewController+Action.swift

@@ -2495,7 +2495,8 @@ extension KMMainViewController {
     func showInFinder(_ sender: Any) -> Void {
         if sender is NSNotification {
             let tabController = (sender as! NSNotification).object as? CTTabController
-            if tabController?.title == self.document?.documentURL.deletingPathExtension().lastPathComponent {
+            let path = self.document?.documentURL.deletingPathExtension().lastPathComponent
+            if tabController?.title == path {
                 if let file = self.myDocument?.fileURL {
                     if FileManager.default.fileExists(atPath: file.path) {
                         NSWorkspace.shared.activateFileViewerSelecting([file])
@@ -2523,13 +2524,23 @@ extension KMMainViewController {
     
     func closeTab(_ sender: NSNotification) -> Void {
         let tabController = sender.object as? CTTabController
-        if tabController?.title == self.document?.documentURL.lastPathComponent {
+        let path = self.document?.documentURL.deletingPathExtension().lastPathComponent
+        if tabController?.title == path {
             print("closeTab")
             self.leftSideViewController.clearAnnotationFilterData()
             self.leftSideViewController.clearNotification()
         }
     }
     
+    func willCloseTab (_ sender: NSNotification) -> Void {
+        let tabController = sender.object as? CTTabController
+        let path = self.document?.documentURL.deletingPathExtension().lastPathComponent
+        if tabController?.title == path {
+            print("closeTab")
+            self.listView.clearScrollCache()
+        }
+    }
+    
     @IBAction func toggleSplitPDF(_ sender: Any) {
         if let menuItem = sender as? NSMenuItem {
             splitView(withTag: menuItem.tag)

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

@@ -415,6 +415,7 @@ import Cocoa
         }
 
         NotificationCenter.default.addObserver(self, selector: #selector(rename(_:)), name: NSNotification.Name.init(rawValue: "KMTabControllerRename"), object: nil)
+        NotificationCenter.default.addObserver(self, selector: #selector(willCloseTab(_:)), name: NSNotification.Name.init(rawValue: "KMTabControllerWillCloseTabs"), object: nil)
         NotificationCenter.default.addObserver(self, selector: #selector(closeTab(_:)), name: NSNotification.Name.init(rawValue: "KMTabControllerCloseTabs"), object: nil)
         NotificationCenter.default.addObserver(self, selector: #selector(showInFinder(_:)), name: NSNotification.Name.init(rawValue: "KMTabControllerShowInFinder"), object: nil)
         NotificationCenter.default.addObserver(self, selector: #selector(preferenceDidChangeNotification), name: KMPreferenceManager.didChangeNotification, object: nil)