Browse Source

【toolbar】注释设置窗口功能调式

tangchao 1 year ago
parent
commit
4287ea9df6

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

@@ -340,5 +340,21 @@
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "9C5C890C-6CCD-4BB8-BDE7-F02390CE05AF"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "PDF Master/Class/PDFWindowController/Toolbar/KMToolbarView.swift"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "470"
+            endingLineNumber = "470"
+            landmarkName = "viewWillMove(toWindow:)"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
    </Breakpoints>
 </Bucket>

+ 1 - 1
PDF Office/PDF Master/Class/PDFWindowController/Toolbar/KMToolbarCustomViewController.swift

@@ -23,7 +23,7 @@ private let KMToolbarSpaceItemIdentifier = "KMToolbarSpaceItemIdentifier"
 //private let KMImageNameToolbarSpace = "KMImageNameToolbarSpace"
 private let KMToolbarFormAlignmentIdentifier = "KMToolbarFormAlignmentIdentifier"
 
-private let KMToolbarCustomChangeNotification: Notification.Name = Notification.Name(rawValue: "KMToolbarCustomChangeNotification")
+let KMToolbarCustomChangeNotification: Notification.Name = Notification.Name(rawValue: "KMToolbarCustomChangeNotification")
 
 class KMToolbarCellView: NSTableCellView {
     @IBOutlet weak var tickImageView: NSImageView!

+ 8 - 5
PDF Office/PDF Master/Class/PDFWindowController/Toolbar/KMToolbarView.swift

@@ -88,6 +88,8 @@ private let KMToolbarItemSpace = 8.0
         
         self._toolbarIdentifier = identifier
         self._addTrackingArea()
+        
+        NotificationCenter.default.addObserver(self, selector: #selector(toolbarCustomChangeNotification), name: KMToolbarCustomChangeNotification, object: nil)
     }
     
     deinit {
@@ -464,11 +466,8 @@ private let KMToolbarItemSpace = 8.0
             }
 
             self.resizeSubviews(withOldSize: self.frame.size)
-    //
-    //        [[NSNotificationCenter defaultCenter] addObserver:self
-    //                                                 selector:@selector(toolbarCustomChangeNotification:)
-    //                                                     name:KMToolbarCustomChangeNotification
-    //                                                   object:nil];
+    
+//            NotificationCenter.default.addObserver(self, selector: #selector(toolbarCustomChangeNotification), name: KMToolbarCustomChangeNotification, object: nil)
             let topLine = NSBox(frame: CGRectMake(0, 0, self.frame.size.width, 0.5))
             topLine.boxType = .separator
             topLine.fillColor = .black
@@ -577,4 +576,8 @@ private let KMToolbarItemSpace = 8.0
         }
         return nil
     }
+    
+    @objc func toolbarCustomChangeNotification() {
+        self.reloadData()
+    }
 }

+ 24 - 20
PDF Office/PDF Master/Class/PDFWindowController/Toolbar/KMToolbarViewController.swift

@@ -461,25 +461,29 @@ extension KMToolbarViewController : KMToolbarViewDelegate,NSToolbarItemValidatio
                     KMDocumentRedactToolbarItemIdentifier,
                     KMDocumentScanOCRToolbarItemIdentifier]
         case .Annatiton,.Magnify,.Move,.Select,.SelectZoom:
-            return [KMToolbarMoveToolModeItemIdentifier,
-                    KMToolbarMagnifyToolModeItemIdentifier,
-                    KMToolbarSelectToolModeItemIdentifier,
-                    KMToolbarZoomToSelectionItemIdentifier,
-                    KMNewToolbarSpaceItemIdentifier,
-                    KMToolbarDividerItemIdentifier,
-                    KMNewToolbarSpaceItemIdentifier,
-                    KMToolbarHighlightAnnotationItemIdentifier,
-                    KMToolbarUnderlineAnnotationItemIdentifier,
-                    KMToolbarStrikeOutAnnotationItemIdentifier,
-                    KMToolbarInkAnnotationItemIdentifier,
-                    KMToolbarFreeTextAnnotationItemIdentifier,
-                    KMToolbarAnchoredAnnotationItemIdentifier,
-                    KMToolbarSquareAnnotationItemIdentifier, KMToolbarCircleAnnotationItemIdentifier, KMToolbarArrowAnnotationItemIdentifier, KMToolbarLineAnnotationItemIdentifier,
-                    KMToolbarLinkAnnotationItemIdentifier,
-                    KMAnnotationStampToolbarItemIdentifier,
-                    KMToolbarSignSignatureAnnotationItemIdentifier,
-                    KMToolbarDividerItemIdentifier,
-                    KMToolbarShowToolbarItemIdentifier]
+            var itemIdentifiers: [String]? = self.toolbar?.toolbarIdentifier != nil ? (UserDefaults.standard.object(forKey: self.toolbar!.toolbarIdentifier!) as? [String]) : []
+            if itemIdentifiers == nil || itemIdentifiers!.count <= 0 {
+                return [KMToolbarMoveToolModeItemIdentifier,
+                        KMToolbarMagnifyToolModeItemIdentifier,
+                        KMToolbarSelectToolModeItemIdentifier,
+                        KMToolbarZoomToSelectionItemIdentifier,
+                        KMNewToolbarSpaceItemIdentifier,
+                        KMToolbarDividerItemIdentifier,
+                        KMNewToolbarSpaceItemIdentifier,
+                        KMToolbarHighlightAnnotationItemIdentifier,
+                        KMToolbarUnderlineAnnotationItemIdentifier,
+                        KMToolbarStrikeOutAnnotationItemIdentifier,
+                        KMToolbarInkAnnotationItemIdentifier,
+                        KMToolbarFreeTextAnnotationItemIdentifier,
+                        KMToolbarAnchoredAnnotationItemIdentifier,
+                        KMToolbarSquareAnnotationItemIdentifier, KMToolbarCircleAnnotationItemIdentifier, KMToolbarArrowAnnotationItemIdentifier, KMToolbarLineAnnotationItemIdentifier,
+                        KMToolbarLinkAnnotationItemIdentifier,
+                        KMAnnotationStampToolbarItemIdentifier,
+                        KMToolbarSignSignatureAnnotationItemIdentifier,
+                        KMToolbarDividerItemIdentifier,
+                        KMToolbarShowToolbarItemIdentifier]
+            }
+            return itemIdentifiers!
         case .editPDF:
             return [KMToolbarAddTextEditPDFItemIdentifier,
                     KMToolbarAddImageEditPDFItemIdentifier]
@@ -531,7 +535,7 @@ extension KMToolbarViewController : KMToolbarViewDelegate,NSToolbarItemValidatio
     
     func toolbar(_ toolbar: KMToolbarView, itemFor identifier: String) -> KMToolbarItemView {
         var item: KMToolbarItemView? = self.toolbarItems[identifier] as? KMToolbarItemView
-        var create = false
+        var create = true
         if let data = item {
             let pId = parentIdentifier(data.itemIdentifier ?? "")
             if [.Annatiton,.Magnify,.Move,.Select,.SelectZoom].contains(toolbarType) && (pId != KMDocumentAnnotationToolbarItemIdentifier || data.itemIdentifier! == KMToolbarAnnotationSettingItemIdentifier) {