Pārlūkot izejas kodu

【toolbar】背景item替换

tangchao 1 gadu atpakaļ
vecāks
revīzija
f9b2adb94c

+ 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"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "334"
-            endingLineNumber = "334"
+            startingLineNumber = "341"
+            endingLineNumber = "341"
             landmarkName = "scanOCRModelSelect(sender:)"
             landmarkType = "7">
          </BreakpointContent>

+ 6 - 2
PDF Office/PDF Master/Class/Common/Category/View/NSMenu+KMExtension.swift

@@ -20,10 +20,14 @@ import Foundation
         return item
     }
     
-    func addItem(title: String, action: Selector?, target: AnyObject?, tag: Int) -> NSMenuItem? {
+    func addItem_r(title: String, action: Selector?, target: AnyObject?, tag: Int) -> NSMenuItem? {
         return self.insertItem(title: title, action: action, target: target, tag: tag, atIndex: self.numberOfItems)
     }
     
+    func addItem(title: String, action: Selector?, target: AnyObject?, tag: Int) {
+        _ = self.addItem_r(title: title, action: action, target: target, tag: tag)
+    }
+    
     func addItem(title: String, action: Selector?, target: AnyObject?) -> NSMenuItem? {
         return self.insertItem(title: title, action: action, target: target, atIndex: self.numberOfItems)
     }
@@ -39,7 +43,7 @@ extension NSMenu {
     }
     
     func addItem(withTitle title: String, action: Selector?, target: AnyObject?, tag: Int) -> NSMenuItem? {
-        return self.addItem(title: title, action: action, target: target, tag: tag)
+        return self.addItem_r(title: title, action: action, target: target, tag: tag)
     }
     
     func addItem(withTitle title: String, action: Selector?, target: AnyObject?) -> NSMenuItem? {

+ 17 - 3
PDF Office/PDF Master/Class/PDFWindowController/Toolbar/KMToolbarViewController.swift

@@ -229,11 +229,18 @@ class KMToolbarViewController: NSViewController, NSTextFieldDelegate {
     }
     
     @objc func backgroundMenuAction(sender: KMToolbarClickButton) {
-        self.delegate?.toolbarViewController?(self, clickChaildToolType: .background, 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 _backgroundAction(sender: NSMenuItem) {
+        if let data = self._currentItemView {
+            self.delegate?.toolbarViewController?(self, menuItemDidClick: data, index: sender.tag, info: nil)
+        }
     }
     
     @objc func watermarkMenuAction(sender: KMToolbarClickButton) {
-//        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)
@@ -1417,10 +1424,17 @@ extension KMToolbarViewController {
             item?.btnTag = KMToolbarType.background.rawValue
             item?.toolTip = NSLocalizedString("Insert PDF page background by color or image", comment: "")
             item?.titleName = NSLocalizedString("Backgroud", comment: "")
-            item?.boxImagePosition = .imageLeft
+            item?.boxImagePosition = .imageExpandLeft
             item?.btnAction = #selector(backgroundMenuAction)
             
             let menuItem = NSMenuItem.init(title: "Backgroud", action: #selector(backgroundMenuAction), target: self)
+            let subMenu = NSMenu()
+            subMenu.addItem(title: NSLocalizedString("Add Background", comment: ""), action: #selector(_backgroundAction), target: self, tag: 1)
+            subMenu.addItem(title: NSLocalizedString("Remove Background", comment: ""), action: #selector(_backgroundAction), target: self, tag: 2)
+            subMenu.addItem(title: NSLocalizedString("Batch Add Background", comment: ""), action: #selector(_backgroundAction), target: self, tag: 3)
+            subMenu.addItem(title: NSLocalizedString("Batch Remove Background", comment: ""), action: #selector(_backgroundAction), target: self, tag: 4)
+            subMenu.addItem(title: NSLocalizedString("Manage Templates", comment: ""), action: #selector(_backgroundAction), target: self, tag: 5)
+            menuItem.submenu = subMenu
             item?.menuFormRepresentation = menuItem
         } else if identifier == KMToolbarToolWatermarkItemIdentifier {
             item?.image = NSImage(named: "KMImageNameMainToolsWatermark")

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

@@ -2948,6 +2948,8 @@ extension KMMainViewController : KMMainToolbarControllerDelegate {
     func toolbarViewController(_ viewController: KMToolbarViewController, menuItemDidClick toolbarItem: KMToolbarItemView, index: Int, info: Any?) {
         if (toolbarItem.itemIdentifier == KMToolbarToolWatermarkItemIdentifier) {
             KMPrint("KMToolbarToolWatermarkItemIdentifier \(index)")
+        } else if (toolbarItem.itemIdentifier == KMToolbarToolBackgroundItemIdentifier) {
+            KMPrint("KMToolbarToolBackgroundItemIdentifier \(index)")
         }
     }