Explorar el Código

【toolbar】水印item替换

tangchao hace 1 año
padre
commit
af7b7d84be

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

@@ -350,8 +350,8 @@
             filePath = "PDF Master/Class/PDFWindowController/Toolbar/KMToolbarViewController.swift"
             filePath = "PDF Master/Class/PDFWindowController/Toolbar/KMToolbarViewController.swift"
             startingColumnNumber = "9223372036854775807"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "323"
-            endingLineNumber = "323"
+            startingLineNumber = "334"
+            endingLineNumber = "334"
             landmarkName = "scanOCRModelSelect(sender:)"
             landmarkName = "scanOCRModelSelect(sender:)"
             landmarkType = "7">
             landmarkType = "7">
          </BreakpointContent>
          </BreakpointContent>

+ 5 - 0
PDF Office/PDF Master/Class/PDFWindowController/Toolbar/KMToolbarController.swift

@@ -47,6 +47,7 @@ extension CAnnotationType {
     
     
     @objc optional func toolbarViewController(_ viewController:KMToolbarViewController, itemDidClick toolbarItem: KMToolbarItemView)
     @objc optional func toolbarViewController(_ viewController:KMToolbarViewController, itemDidClick toolbarItem: KMToolbarItemView)
     @objc optional func toolbarViewController(_ viewController:KMToolbarViewController, searchAction searchString: String)
     @objc optional func toolbarViewController(_ viewController:KMToolbarViewController, searchAction searchString: String)
+    @objc optional func toolbarViewController(_ viewController:KMToolbarViewController, menuItemDidClick toolbarItem: KMToolbarItemView, index: Int, info: Any?)
 }
 }
 
 
 class KMToolbarController: NSViewController {
 class KMToolbarController: NSViewController {
@@ -719,4 +720,8 @@ extension KMToolbarController: KMToolbarViewControllerDelegate {
     func toolbarViewController(_ viewController: KMToolbarViewController, searchAction searchString: String) {
     func toolbarViewController(_ viewController: KMToolbarViewController, searchAction searchString: String) {
         self.delegate?.toolbarViewController?(viewController, searchAction: searchString)
         self.delegate?.toolbarViewController?(viewController, searchAction: searchString)
     }
     }
+    
+    func toolbarViewController(_ viewController: KMToolbarViewController, menuItemDidClick toolbarItem: KMToolbarItemView, index: Int, info: Any?) {
+        self.delegate?.toolbarViewController?(viewController, menuItemDidClick: toolbarItem, index: index, info: info)
+    }
 }
 }

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

@@ -111,6 +111,7 @@ import Cocoa
     
     
     @objc optional func toolbarViewController(_ viewController:KMToolbarViewController, itemDidClick toolbarItem: KMToolbarItemView)
     @objc optional func toolbarViewController(_ viewController:KMToolbarViewController, itemDidClick toolbarItem: KMToolbarItemView)
     @objc optional func toolbarViewController(_ viewController:KMToolbarViewController, searchAction searchString: String)
     @objc optional func toolbarViewController(_ viewController:KMToolbarViewController, searchAction searchString: String)
+    @objc optional func toolbarViewController(_ viewController:KMToolbarViewController, menuItemDidClick toolbarItem: KMToolbarItemView, index: Int, info: Any?)
 }
 }
 
 
 class KMToolbarViewController: NSViewController, NSTextFieldDelegate {
 class KMToolbarViewController: NSViewController, NSTextFieldDelegate {
@@ -130,6 +131,7 @@ class KMToolbarViewController: NSViewController, NSTextFieldDelegate {
     // 是否显示所有注释
     // 是否显示所有注释
     var isShowAllAnnotations = true
     var isShowAllAnnotations = true
     var ignoreCurrentAnnotationTypeChange = false
     var ignoreCurrentAnnotationTypeChange = false
+    private var _currentItemView: KMToolbarItemView?
     
     
     override func viewDidLoad() {
     override func viewDidLoad() {
         super.viewDidLoad()
         super.viewDidLoad()
@@ -231,7 +233,16 @@ class KMToolbarViewController: NSViewController, NSTextFieldDelegate {
     }
     }
     
     
     @objc func watermarkMenuAction(sender: KMToolbarClickButton) {
     @objc func watermarkMenuAction(sender: KMToolbarClickButton) {
-        self.delegate?.toolbarViewController?(self, clickChaildToolType: .watermark, toolbar: sender.clickObject as! KMToolbarItemView)
+//        self.delegate?.toolbarViewController?(self, clickChaildToolType: .watermark, toolbar: sender.clickObject as! KMToolbarItemView)
+        self._currentItemView = sender.clickObject as? KMToolbarItemView
+        if let subMenu = (sender.clickObject as? KMToolbarItemView)?.menuFormRepresentation?.submenu {
+            subMenu.popUp(positioning: nil, at: sender.frame.origin, in: sender.superview)
+        }
+    }
+    @objc private func _watermarkAction(sender: NSMenuItem) {
+        if let data = self._currentItemView {
+            self.delegate?.toolbarViewController?(self, menuItemDidClick: data, index: sender.tag, info: nil)
+        }
     }
     }
     
     
     @objc func redactMenuAction(sender: KMToolbarClickButton) {
     @objc func redactMenuAction(sender: KMToolbarClickButton) {
@@ -1417,10 +1428,17 @@ extension KMToolbarViewController {
             item?.btnTag = KMToolbarType.watermark.rawValue
             item?.btnTag = KMToolbarType.watermark.rawValue
             item?.toolTip = NSLocalizedString("Watermark", comment: "")
             item?.toolTip = NSLocalizedString("Watermark", comment: "")
             item?.titleName = NSLocalizedString("Watermark", comment: "")
             item?.titleName = NSLocalizedString("Watermark", comment: "")
-            item?.boxImagePosition = .imageLeft
+            item?.boxImagePosition = .imageExpandLeft
             item?.btnAction = #selector(watermarkMenuAction)
             item?.btnAction = #selector(watermarkMenuAction)
             
             
             let menuItem = NSMenuItem.init(title: "Watermark", action: #selector(watermarkMenuAction), target: self)
             let menuItem = NSMenuItem.init(title: "Watermark", action: #selector(watermarkMenuAction), target: self)
+            let subMenu = NSMenu()
+            subMenu.addItem(title: NSLocalizedString("Add Watermark", comment: ""), action: #selector(_watermarkAction), target: self, tag: 1)
+            subMenu.addItem(title: NSLocalizedString("Remove Watermark", comment: ""), action: #selector(_watermarkAction), target: self, tag: 2)
+            subMenu.addItem(title: NSLocalizedString("Batch Add Watermarks", comment: ""), action: #selector(_watermarkAction), target: self, tag: 3)
+            subMenu.addItem(title: NSLocalizedString("Batch Remove Watermarks", comment: ""), action: #selector(_watermarkAction), target: self, tag: 4)
+            subMenu.addItem(title: NSLocalizedString("Manage Templates", comment: ""), action: #selector(_watermarkAction), target: self, tag: 5)
+            menuItem.submenu = subMenu
             item?.menuFormRepresentation = menuItem
             item?.menuFormRepresentation = menuItem
         } else if identifier == KMToolbarToolCompressItemIdentifier {
         } else if identifier == KMToolbarToolCompressItemIdentifier {
             item?.image = NSImage(named: "KMImageNameUXIconBatchOptimizeNor")
             item?.image = NSImage(named: "KMImageNameUXIconBatchOptimizeNor")

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

@@ -2943,7 +2943,12 @@ extension KMMainViewController : KMMainToolbarControllerDelegate {
                 }
                 }
             }
             }
         }
         }
-        
+    }
+    
+    func toolbarViewController(_ viewController: KMToolbarViewController, menuItemDidClick toolbarItem: KMToolbarItemView, index: Int, info: Any?) {
+        if (toolbarItem.itemIdentifier == KMToolbarToolWatermarkItemIdentifier) {
+            KMPrint("KMToolbarToolWatermarkItemIdentifier \(index)")
+        }
     }
     }
     
     
     func toolbarViewController(_ viewController: KMToolbarViewController, searchAction searchString: String) {
     func toolbarViewController(_ viewController: KMToolbarViewController, searchAction searchString: String) {