Procházet zdrojové kódy

【toolbar】页面编辑分割item替换

tangchao před 1 rokem
rodič
revize
e4ff649d43

+ 3 - 1
PDF Office/PDF Master/Class/PDFTools/PageEdit/Controller/KMPDFEditViewController.swift

@@ -144,7 +144,9 @@ class KMPDFEditViewController: KMPDFThumbViewBaseController {
                     self.item_insertCustomPage(sender: nil)
                 } else if (index == KMPageEditType.extract_selected_pages) {
                     Swift.debugPrint("extract_selected_pages ... ")
-                } 
+                } else if (index == KMPageEditType.split_selected_pages) {
+                    Swift.debugPrint("split_selected_pages ... ")
+                }
                 return
             }
             

+ 26 - 3
PDF Office/PDF Master/Class/PDFTools/PageEdit/View/KMPDFEditToolbar.swift

@@ -49,6 +49,12 @@ enum KMPageEditType: Int {
             return self.extract.rawValue + 2000
         }
     }
+    
+    static var split_selected_pages: Int {
+        get {
+            return self.split.rawValue + 3000
+        }
+    }
 }
 
 class KMPDFEditToolbar: NSView {
@@ -288,10 +294,9 @@ class KMPDFEditToolbar: NSView {
     }
     
     @objc func splitMenuAction(sender: KMToolbarClickButton) {
-        guard let callback = self.itemClick else {
-            return
+        if let subMenu = (sender.clickObject as? KMToolbarItemView)?.menuFormRepresentation?.submenu {
+            subMenu.popUp(positioning: nil, at: sender.frame.origin, in: sender.superview)
         }
-        callback(self, KMPageEditType.split.rawValue)
     }
     
     @objc func reverseMenuAction(sender: KMToolbarClickButton) {
@@ -343,6 +348,20 @@ class KMPDFEditToolbar: NSView {
         callback(self, KMPageEditType.insert_custom_page)
     }
     
+    @objc private func _splitAction(sender: NSMenuItem) {
+        if (sender.tag == 1) {
+            guard let callback = self.itemClick else {
+                return
+            }
+            callback(self, KMPageEditType.split.rawValue)
+            return
+        }
+        guard let callback = self.itemClick else {
+            return
+        }
+        callback(self, KMPageEditType.split_selected_pages)
+    }
+    
     private lazy var rightItemView: NSView = {
         let view = NSView()
         
@@ -514,6 +533,10 @@ extension KMPDFEditToolbar: KMToolbarViewDelegate {
             item?.btnAction = #selector(splitMenuAction)
             
             let menuItem = NSMenuItem.init(title: "Split", action: #selector(splitMenuAction), target: self)
+            let subMenu = NSMenu()
+            subMenu.addItem(title: NSLocalizedString("Split selected pages", comment: ""), action: #selector(_splitAction), target: self, tag: 0)
+            subMenu.addItem(title: NSLocalizedString("Split", comment: ""), action: #selector(_splitAction), target: self, tag: 1)
+            menuItem.submenu = subMenu
             item?.menuFormRepresentation = menuItem
         } else if (identifier == KMToolbarPageEditReverseItemIdentifier) {
             item?.image = NSImage(named: KMImageNameUXIconSubtoolbarPageReverse)