Browse Source

【综合】注释 便签,添加便签注释,点击面板中的垃圾箱icon删除便签,注释列表中的便签应当同步删除(已修复)

tangchao 11 months ago
parent
commit
6103221f8e

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

@@ -92,6 +92,24 @@ extension KMLeftSideViewController {
         }
     }
     
+    public func annoList_refreshUIForDeleteAnnotations(annos: [CPDFAnnotation]?, page: CPDFPage?) {
+        if self.type.methodType != .Annotation {
+            return
+        }
+        
+        for anno in annos ?? [] {
+            if let model = self.fetchAnnoModel(for: anno) {
+                self.noteSearchArray.removeObject(model)
+                self.annoListModel?.datas.removeObject(model)
+            }
+        }
+        
+        if self.dataUpdating == false {
+            self.note_refrshUIIfNeed()
+        }
+    }
+    
+    
     public func refreshUIForDocumentChanged() {
         if self.type.methodType == .Thumbnail {
             self.resetThumbnails(ks: false)

+ 10 - 1
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/KMLeftSideViewController+Note.swift

@@ -467,11 +467,13 @@ extension KMLeftSideViewController {
                         annos.append(anno)
                     }
                 }
+                self.dataUpdating = true
                 for anno in annos {
                     self.listView?.remove(anno)
                 }
+                self.dataUpdating = false
                 
-                self.reloadAnnotation()
+                self.note_refrshUIIfNeed()
             }
         }
     }
@@ -689,6 +691,13 @@ extension KMLeftSideViewController {
                     break
                 }
             }
+        } else {
+            for item in self.annoListModel?.datas ?? [] {
+                if anno.isEqual(to: item.anno) {
+                    self.noteOutlineView.reloadItem(item)
+                    break
+                }
+            }
         }
     }
     

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

@@ -167,6 +167,7 @@ class KMLeftSideViewController: KMSideViewController {
     var snapshots: [KMSnapshotModel] = []
     var dirtySnapshots: [KMSnapshotWindowController] = []
     var searchSnapshots: [KMSnapshotModel] = []
+    var dataUpdating = false
     
     // 搜索
     private var _findState: KMFindState = .none

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

@@ -105,13 +105,13 @@ extension KMMainViewController {
         self.rightSideViewController.interfaceThemeDidChanged(appearance)
         
         self.mianSplitView.superview?.wantsLayer = true
-        let sView = self.listView.documentView()
+//        let sView = self.listView.documentView()
         if KMAppearance.isDarkMode() {
             self.mianSplitView.superview?.layer?.backgroundColor = NSColor(red: 0.149, green: 0.157, blue: 0.169, alpha: 1).cgColor
-            sView?.backgroundColor = NSColor(red: 0.149, green: 0.157, blue: 0.169, alpha: 1)
+//            sView?.backgroundColor = NSColor(red: 0.149, green: 0.157, blue: 0.169, alpha: 1)
         } else {
             self.mianSplitView.superview?.layer?.backgroundColor = NSColor(red: 0.988, green: 0.992, blue: 1, alpha: 1).cgColor
-            sView?.backgroundColor = NSColor(red: 0.988, green: 0.992, blue: 1, alpha: 1)
+//            sView?.backgroundColor = NSColor(red: 0.988, green: 0.992, blue: 1, alpha: 1)
         }
     }
 }

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

@@ -2131,6 +2131,8 @@ let LOCKED_KEY  = "locked"
             let didEnd = dict["didEnd"] as? Bool ?? false
             if didEnd {
                 self.leftSideViewController.refreshUIForAnnoAttributeDidChange(anno, attributes: ["keyPath" : value])
+            } else {
+                self.leftSideViewController.refreshUIForAnnoAttributeDidChange(anno, attributes: ["keyPath" : value])
             }
         }
     }
@@ -3121,6 +3123,10 @@ let LOCKED_KEY  = "locked"
         self.leftSideViewController.refreshUIForAddAnnotation(annos: annotations, page: pdfPage)
     }
     
+    func pdfListViewRemoveAnnotations(_ pdfListView: CPDFListView!, forRemove annotations: [CPDFAnnotation]!, in pdfPage: CPDFPage!) {
+        self.leftSideViewController.annoList_refreshUIForDeleteAnnotations(annos: annotations, page: pdfPage)
+    }
+    
     func pdfListViewDidSelectionEnd(_ pdfListView: CPDFListView!) {
         if (!self.listView.isEqual(to: pdfListView)) {
             return

+ 0 - 16
PDF Office/PDF Reader Pro.xcodeproj/xcuserdata/kdanmobile.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -404,22 +404,6 @@
             </Locations>
          </BreakpointContent>
       </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "5DC3ABA1-DE48-45EA-B7F0-42E0BC828B9C"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "PDF Master/Class/PDFWindowController/ViewController/KMMainViewController.swift"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "2610"
-            endingLineNumber = "2610"
-            landmarkName = "pdfViewEditingAddTextArea(_:add:add:)"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent