Browse Source

【综合】BOTA注释筛选调式

tangchao 1 year ago
parent
commit
64c58e89a0

+ 0 - 64
PDF Office/PDF Master.xcodeproj/xcuserdata/kdanmobile.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -20,70 +20,6 @@
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "75445273-3A79-4813-A25F-A80D13E12E07"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/KMAnnotationPropertiesViewController.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "229"
-            endingLineNumber = "229"
-            landmarkName = "-setAnnotations:"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "C0F0D9F6-1082-49B7-AF0D-1672A9B46941"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/KMAnnotationPropertiesViewController.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "204"
-            endingLineNumber = "204"
-            landmarkName = "-setAnnotations:"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "8326ACDF-C755-45BD-AB22-A56787E78298"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/KMAnnotationPropertiesViewController.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "223"
-            endingLineNumber = "223"
-            landmarkName = "-setAnnotations:"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "DB92A795-6981-44FD-A1D0-F2CE3EEC789C"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/KMAnnotationPropertiesViewController.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "222"
-            endingLineNumber = "222"
-            landmarkName = "-setAnnotations:"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent

+ 9 - 6
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Annotation/Controller/KMNoteOutlineFilterViewController.swift

@@ -12,6 +12,8 @@ class KMNoteOutlineFilterViewController: NSViewController {
     @IBOutlet weak var cancelWidthConst: NSLayoutConstraint!
     @IBOutlet weak var applyWidthConst: NSLayoutConstraint!
     
+    weak var listView: CPDFView?
+    
     private var _notesArray: NSArray?
     func setNotesArray(_ notesArray: NSArray?) {
         self._notesArray = notesArray
@@ -170,7 +172,7 @@ class KMNoteOutlineFilterViewController: NSViewController {
         self.OKButton.layer?.cornerRadius = 1.0
         
         let sud = UserDefaults.standard
-        if let typeData = sud.object(forKey: "KMNoteOutlineFilterSelectArray_Type") as? NSData {
+        if let typeData = sud.object(forKey: "KMNoteOutlineFilterSelectArray_Type" + (self.listView?.document?.documentURL.path ?? "")) as? NSData {
             if let typeArr = NSKeyedUnarchiver.unarchiveObject(with: typeData as Data) as? NSArray {
                 self.selectTypeArray = NSMutableArray(array: typeArr)
             }
@@ -179,7 +181,7 @@ class KMNoteOutlineFilterViewController: NSViewController {
             self.selectTypeArray = NSMutableArray()
         }
         
-        if let colorData = sud.object(forKey: "KMNoteOutlineFilterSelectArray_Color") as? NSData {
+        if let colorData = sud.object(forKey: "KMNoteOutlineFilterSelectArray_Color" + (self.listView?.document?.documentURL.path ?? "")) as? NSData {
             if let colorArr = NSKeyedUnarchiver.unarchiveObject(with: colorData as Data) as? NSArray {
                 self.selectColorArray = NSMutableArray(array: colorArr)
             }
@@ -188,11 +190,12 @@ class KMNoteOutlineFilterViewController: NSViewController {
             self.selectColorArray = NSMutableArray()
         }
         
-        if let authorData = sud.object(forKey: "KMNoteOutlineFilterSelectArray_Author") as? NSData {
+        if let authorData = sud.object(forKey: "KMNoteOutlineFilterSelectArray_Author" + (self.listView?.document?.documentURL.path ?? "")) as? NSData {
             if let authorArr = NSKeyedUnarchiver.unarchiveObject(with: authorData as Data) as? NSArray {
                 self.selectAuthorArray = NSMutableArray(array: authorArr)
             }
         }
+        
         if self.selectAuthorArray == nil {
             self.selectAuthorArray = NSMutableArray()
         }
@@ -235,9 +238,9 @@ class KMNoteOutlineFilterViewController: NSViewController {
         let data3 = NSKeyedArchiver.archivedData(withRootObject: NSArray(array: self.selectAuthorArray!))
         
         let sud = UserDefaults.standard
-        sud.set(data1, forKey: KMNoteOutlineFilterSelectArray_Type)
-        sud.set(data2, forKey: KMNoteOutlineFilterSelectArray_Color)
-        sud.set(data3, forKey: KMNoteOutlineFilterSelectArray_Author)
+        sud.set(data1, forKey: KMNoteOutlineFilterSelectArray_Type + (self.listView?.document?.documentURL.path ?? ""))
+        sud.set(data2, forKey: KMNoteOutlineFilterSelectArray_Color + (self.listView?.document?.documentURL.path ?? ""))
+        sud.set(data3, forKey: KMNoteOutlineFilterSelectArray_Author + (self.listView?.document?.documentURL.path ?? ""))
         sud.synchronize()
         
         var isEmpty = false

+ 91 - 80
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/KMLeftSideViewController.swift

@@ -1291,6 +1291,7 @@ class KMLeftSideViewController: KMSideViewController {
         
         let menu = NSMenu()
         let filterViewController = KMNoteOutlineFilterViewController()
+        filterViewController.listView = self.listView
         filterViewController.view.layer?.backgroundColor = .clear
 
         var notes = NSMutableArray()
@@ -1512,20 +1513,20 @@ class KMLeftSideViewController: KMSideViewController {
             var authorArr: [Any] = []
             
             let sud = UserDefaults.standard
-//            let typeData = sud.object(forKey: "KMNoteOutlineFilterSelectArray_Type" + self.listView.document.documentURL.path) as? Data
-            let typeData = sud.object(forKey: "KMNoteOutlineFilterSelectArray_Type") as? Data
+            let typeData = sud.object(forKey: "KMNoteOutlineFilterSelectArray_Type" + self.listView.document.documentURL.path) as? Data
+//            let typeData = sud.object(forKey: "KMNoteOutlineFilterSelectArray_Type") as? Data
             if typeData != nil {
                 typeArr = NSKeyedUnarchiver.unarchiveObject(with: typeData!) as! [Any]
             }
             
-//            let colorData = sud.object(forKey: "KMNoteOutlineFilterSelectArray_Color" + self.listView.document.documentURL.path) as? Data
-            let colorData = sud.object(forKey: "KMNoteOutlineFilterSelectArray_Color") as? Data
+            let colorData = sud.object(forKey: "KMNoteOutlineFilterSelectArray_Color" + self.listView.document.documentURL.path) as? Data
+//            let colorData = sud.object(forKey: "KMNoteOutlineFilterSelectArray_Color") as? Data
             if colorData != nil {
                 colorArr = NSKeyedUnarchiver.unarchiveObject(with: colorData!) as! [Any]
             }
             
-//            let authorData = sud.object(forKey: "KMNoteOutlineFilterSelectArray_Author" + self.listView.document.documentURL.path) as? Data
-            let authorData = sud.object(forKey: "KMNoteOutlineFilterSelectArray_Author") as? Data
+            let authorData = sud.object(forKey: "KMNoteOutlineFilterSelectArray_Author" + self.listView.document.documentURL.path) as? Data
+//            let authorData = sud.object(forKey: "KMNoteOutlineFilterSelectArray_Author") as? Data
             if authorData != nil {
                 authorArr = NSKeyedUnarchiver.unarchiveObject(with: authorData!) as! [Any]
             }
@@ -1579,91 +1580,101 @@ class KMLeftSideViewController: KMSideViewController {
                 }
             }
             
-            var temporaryArr1 = NSMutableArray()
-            var temporaryArr2 = NSMutableArray()
-            var temporaryArr3 = NSMutableArray()
-            if typeArr.isEmpty == false {
-                for type in typeArr {
-                    if typeMutableArray.contains(type) == false {
-                        temporaryArr1.add(type)
-                    }
-                }
-            }
-            if colorArr.isEmpty == false {
-                for color in colorArr {
-                    if colorMutableArray.contains(color) == false {
-                        temporaryArr2.add(type)
-                    }
-                }
-            }
-            if authorArr.isEmpty == false {
-                for author in authorArr {
-                    if authorMutableArray.contains(author) == false {
-                        temporaryArr3.add(type)
-                    }
-                }
-            }
+//            var temporaryArr1 = NSMutableArray()
+//            var temporaryArr2 = NSMutableArray()
+//            var temporaryArr3 = NSMutableArray()
+//            if typeArr.isEmpty == false {
+//                for type in typeArr {
+//                    if typeMutableArray.contains(type) == false {
+//                        temporaryArr1.add(type)
+//                    }
+//                }
+//            }
+//            if colorArr.isEmpty == false {
+//                for color in colorArr {
+//                    if colorMutableArray.contains(color) == false {
+//                        temporaryArr2.add(type)
+//                    }
+//                }
+//            }
+//            if authorArr.isEmpty == false {
+//                for author in authorArr {
+//                    if authorMutableArray.contains(author) == false {
+//                        temporaryArr3.add(type)
+//                    }
+//                }
+//            }
             
-            if (temporaryArr1.count > 0) {
-                for type in temporaryArr1 {
-                    guard let typeS = type as? String else {
-                        continue
-                    }
-//                    [typeArr removeObject:type];
-                    
-                    var flag = -1
-                    for (i, data) in typeArr.enumerated() {
-                        if data as! String == typeS {
-                            flag = i
-                        }
-                    }
-                    if flag != -1 {
-                        typeArr.remove(at: flag)
-                    }
-                }
-            }
+//            if (temporaryArr1.count > 0) {
+//                for type in temporaryArr1 {
+//                    guard let typeS = type as? String else {
+//                        continue
+//                    }
+////                    [typeArr removeObject:type];
+//
+//                    var flag = -1
+//                    for (i, data) in typeArr.enumerated() {
+//                        if data as! String == typeS {
+//                            flag = i
+//                        }
+//                    }
+//                    if flag != -1 {
+//                        typeArr.remove(at: flag)
+//                    }
+//                }
+//            }
 //            if (temporaryArr2.count > 0) {
 //                for (NSColor *color in temporaryArr2) {
 //                    [colorArr removeObject:color];
 //                }
 //            }
-            for color in temporaryArr2 {
-                guard let colorT = color as? NSColor else {
-                    continue
-                }
-//                    [typeArr removeObject:type];
-                
-                var flag = -1
-                for (i, data) in colorArr.enumerated() {
-                    if data as! NSColor == colorT {
-                        flag = i
-                    }
-                }
-                if flag != -1 {
-                    colorArr.remove(at: flag)
-                }
-            }
+//            for color in temporaryArr2 {
+//                guard let colorT = color as? NSColor else {
+//                    continue
+//                }
+////                    [typeArr removeObject:type];
+//
+//                var flag = -1
+//                for (i, data) in colorArr.enumerated() {
+//                    if data as! NSColor == colorT {
+//                        flag = i
+//                    }
+//                }
+//                if flag != -1 {
+//                    colorArr.remove(at: flag)
+//                }
+//            }
 //            if (temporaryArr3.count > 0) {
 //                for (NSColor *author in temporaryArr3) {
 //                    [authorArr removeObject:author];
 //                }
 //            }
-            for author in temporaryArr3 {
-                guard let authorS = author as? NSColor else {
-                    continue
-                }
-//                    [typeArr removeObject:type];
-                
-                var flag = -1
-                for (i, data) in authorArr.enumerated() {
-                    if data as! NSColor == authorS {
-                        flag = i
-                    }
-                }
-                if flag != -1 {
-                    authorArr.remove(at: flag)
-                }
-            }
+//            for author in temporaryArr3 {
+//                guard let authorS = author as? String else {
+//                    continue
+//                }
+////                    [typeArr removeObject:type];
+//
+//                var flag = -1
+//                for (i, data) in authorArr.enumerated() {
+//                    if data as! String == authorS {
+//                        flag = i
+//                    }
+//                }
+//                if flag != -1 {
+//                    authorArr.remove(at: flag)
+//                }
+//            }
+            
+//            let data1 = NSKeyedArchiver.archivedData(withRootObject: NSArray(array: typeArr))
+//            let data2 = NSKeyedArchiver.archivedData(withRootObject: NSArray(array: colorArr))
+//            let data3 = NSKeyedArchiver.archivedData(withRootObject: NSArray(array: authorArr))
+            
+//            let sud = UserDefaults.standard
+//            sud.set(data1, forKey: "KMNoteOutlineFilterSelectArray_Type")
+//            sud.set(data2, forKey: "KMNoteOutlineFilterSelectArray_Color")
+//            sud.set(data3, forKey: "KMNoteOutlineFilterSelectArray_Author")
+//            sud.synchronize()
             
             if typeArr.count == 0 && colorArr.count == 0 && authorArr.count == 0 {
 //                self.filtrateButton.image = NSImage(named: "KMImageNameAnnotationsFiltrate")