Browse Source

【综合】注释工具栏,自定义结果传递方式调整(去除通知)

tangchao 9 months ago
parent
commit
ae2fb1ed52

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

@@ -23,8 +23,6 @@ private let KMToolbarSpaceItemIdentifier = "KMToolbarSpaceItemIdentifier"
 //private let KMImageNameToolbarSpace = "KMImageNameToolbarSpace"
 private let KMToolbarFormAlignmentIdentifier = "KMToolbarFormAlignmentIdentifier"
 
-let KMToolbarCustomChangeNotification: Notification.Name = Notification.Name(rawValue: "KMToolbarCustomChangeNotification")
-
 class KMToolbarCellView: NSTableCellView {
     @IBOutlet weak var tickImageView: NSImageView!
 }
@@ -72,10 +70,8 @@ class KMToolbarCustomViewController: NSViewController {
         self.removeButton.toolTip = KMLocalizedString("Remove from Toolbar", nil)
         
         var color = NSColor(red: 51.0/255.0, green: 51.0/255.0, blue: 51.0/255.0, alpha: 1.0)
-        if (KMAppearance.isSupportNewColor()) {
-            if (KMAppearance.isDarkMode()) {
-                color = NSColor(red: 1, green: 1, blue: 1, alpha: 0.5)
-            }
+        if (KMAppearance.isDarkMode()) {
+            color = NSColor(red: 1, green: 1, blue: 1, alpha: 0.5)
         }
         self.titleLabel.textColor = color
         self.subTitleLabel.textColor = color
@@ -106,15 +102,13 @@ class KMToolbarCustomViewController: NSViewController {
     }
     
     @IBAction @objc func okButtonAction(_ sender: NSButton) {
-        self.itemClick?(1)
-        
-        self.view.window?.close()
         if self.toolbar?.toolbarIdentifier != nil && self._defaultItems.count > 0 {
             if let data = self.toolbar?.toolbarIdentifier {
-                UserDefaults.standard.set(self._defaultItems, forKey: data)
+                KMDataManager.ud_set(self._defaultItems, forKey: data)
             }
-            NotificationCenter.default.post(name: KMToolbarCustomChangeNotification, object: self.toolbar)
         }
+        self.itemClick?(1)
+        self.view.window?.close()
     }
     
     @IBAction @objc func cancelButtonAction(_ sender: NSButton) {
@@ -124,13 +118,14 @@ class KMToolbarCustomViewController: NSViewController {
     
     @IBAction @objc func resetButtonAction(_ sender: NSButton) {
         if let data = self.toolbar?.toolbarIdentifier {
-            UserDefaults.standard.removeObject(forKey: data)
-            NotificationCenter.default.post(name: KMToolbarCustomChangeNotification, object: self.toolbar)
+            KMDataManager.ud_removeObject(forKey: data)
         }
         
         self._loadDefaultItems()
         self.allowedItemsTableView.reloadData()
         self.defaultItemsTableView.reloadData()
+        
+        self.itemClick?(2)
     }
     
     @IBAction @objc func addButtonAction(_ sender: NSButton) {

+ 4 - 0
PDF Office/PDF Master/Class/PDFWindowController/Toolbar/KMToolbarCustomWindowController.swift

@@ -12,6 +12,8 @@ class KMToolbarCustomWindowController: NSWindowController {
     weak var toolbar: KMToolbarView?
     var toolbarCustomViewController: KMToolbarCustomViewController?
     
+    var resetCallback: KMEmptyBlock?
+    
     deinit {
         Swift.debugPrint("KMToolbarCustomWindowController deinit")
     }
@@ -39,6 +41,8 @@ class KMToolbarCustomWindowController: NSWindowController {
                 self?.km_quick_endSheet(.cancel)
             } else if idx == 1 { // ok
                 self?.km_quick_endSheet(.OK)
+            } else if idx == 2 { // reset
+                self?.resetCallback?()
             }
         }
     }

+ 0 - 6
PDF Office/PDF Master/Class/PDFWindowController/Toolbar/KMToolbarView.swift

@@ -100,8 +100,6 @@ private let KMToolbarItemSpace = 8.0
         
         self._toolbarIdentifier = identifier
         self._addTrackingArea()
-        
-        NotificationCenter.default.addObserver(self, selector: #selector(toolbarCustomChangeNotification), name: KMToolbarCustomChangeNotification, object: nil)
     }
     
     override func menu(for event: NSEvent) -> NSMenu? {
@@ -717,8 +715,4 @@ private let KMToolbarItemSpace = 8.0
         }
         return nil
     }
-    
-    @objc func toolbarCustomChangeNotification() {
-        self.reloadData()
-    }
 }

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

@@ -675,7 +675,38 @@ extension KMToolbarViewController : KMToolbarViewDelegate,NSToolbarItemValidatio
             }
             return defaultCellIdentifiers
         case .Annatiton,.Magnify,.Move,.Select,.SelectZoom:
-            return annotationToolIdentifiers
+//            return annotationToolIdentifiers
+            return [KMNewToolbarSpaceItemIdentifier,
+                    KMToolbarPageEditInsetItemIdentifier, KMToolbarToolMergeItemIdentifier, KMToolbarPageEditSplitItemIdentifier,
+                    KMToolbarToolCompressItemIdentifier, KMToolbarToolSecureItemIdentifier, KMToolbarToolWatermarkItemIdentifier,
+                    KMToolbarToolBackgroundItemIdentifier, KMToolbarToolHeaderFooterItemIdentifier, KMToolbarToolBatesItemIdentifier,
+                    KMToolbarAIItemIdentifier,
+                    KMToolbarCropIdentifier,
+                    KMToolbarConversionWordItemIdentifier, KMToolbarConversionExcelItemIdentifier, KMToolbarConversionPPTItemIdentifier,
+                    KMToolbarConversionRTFItemIdentifier, KMToolbarConversionCSVItemIdentifier, KMToolbarConversionHTMLItemIdentifier,
+                    KMToolbarConversionTextItemIdentifier, KMToolbarConversionImageItemIdentifier,
+                    
+                    KMToolbarMoveToolModeItemIdentifier,
+                    KMToolbarMagnifyToolModeItemIdentifier,
+                    KMToolbarSelectToolModeItemIdentifier,
+                    KMToolbarZoomToSelectionItemIdentifier,
+                    KMNewToolbarSpaceItemIdentifier,
+                    KMToolbarDividerItemIdentifier,
+                    KMNewToolbarSpaceItemIdentifier,
+                    KMToolbarHighlightAnnotationItemIdentifier,
+                    KMToolbarUnderlineAnnotationItemIdentifier,
+                    KMToolbarStrikeOutAnnotationItemIdentifier,
+                    KMToolbarInkAnnotationItemIdentifier,
+                    KMToolbarFreeTextAnnotationItemIdentifier,
+                    KMToolbarAnchoredAnnotationItemIdentifier,
+                    KMToolbarSquareAnnotationItemIdentifier, KMToolbarCircleAnnotationItemIdentifier, KMToolbarArrowAnnotationItemIdentifier, KMToolbarLineAnnotationItemIdentifier,
+                    KMToolbarLinkAnnotationItemIdentifier,
+                    KMAnnotationStampToolbarItemIdentifier,
+                    KMToolbarSignSignatureAnnotationItemIdentifier,
+//                    KMToolbarDividerItemIdentifier,
+//                    KMToolbarShowToolbarItemIdentifier,
+                    
+                    KMToolbarToolRadioButtonItemIdentifier]
         case .editPDF:
             return editPDFItemIdentifiers
         case .Page:

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

@@ -4363,8 +4363,15 @@ extension KMMainViewController : KMMainToolbarControllerDelegate {
                 if toolbarItem.itemIdentifier == KMToolbarAnnotationSettingItemIdentifier {
                     let windowC = KMToolbarCustomWindowController()
                     windowC.toolbar = self.toolbarController.childToolBarView?.toolbar
-                    self.km_beginSheet(windowC: windowC) { resp, obj in
-                        KMPrint("")
+                    windowC.resetCallback = { [weak self] in
+                        let toolbar = self?.toolbarController.childToolBarView?.toolbar
+                        toolbar?.reloadData()
+                    }
+                    self.km_beginSheet(windowC: windowC) { [weak self] resp, obj in
+                        if resp == .OK {
+                            let toolbar = self?.toolbarController.childToolBarView?.toolbar
+                            toolbar?.reloadData()
+                        }
                     }
                 } else if toolbarItem.itemIdentifier == KMToolbarComparisonItemIdentifier {
                     Swift.debugPrint("KMToolbarComparisonItemIdentifier ...")