Pārlūkot izejas kodu

【toolbar】Form表单UI替换

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

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

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

+ 46 - 2
PDF Office/PDF Master/Class/PDFTools/PageEdit/View/KMPDFEditToolbar.swift

@@ -43,6 +43,12 @@ enum KMPageEditType: Int {
             return self.insert.rawValue + 1002
         }
     }
+    
+    static var extract_selected_pages: Int {
+        get {
+            return self.extract.rawValue + 2000
+        }
+    }
 }
 
 class KMPDFEditToolbar: NSView {
@@ -217,10 +223,48 @@ class KMPDFEditToolbar: NSView {
     }
     
     @objc func extractMenuAction(sender: KMToolbarClickButton?) {
-        guard let callback = self.itemClick else {
+//        guard let callback = self.itemClick else {
+//            return
+//        }
+//        callback(self, KMPageEditType.insert.rawValue)
+        
+        if let _popover = self.popover, _popover.isShown {
+            self.popover?.close()
+            self.popover = nil
             return
         }
-        callback(self, KMPageEditType.extract.rawValue)
+        
+        let array = [NSLocalizedString("Extract selected pages", comment: ""), NSLocalizedString("Extract", comment: "")]
+        let vc: KMHomePopViewController = KMHomePopViewController().initWithPopViewDataArr(array)
+        let popover: NSPopover = NSPopover.init()
+        self.popover = popover
+        popover.contentViewController = vc
+        popover.animates = true
+        popover.behavior = .semitransient
+        popover.setValue(true, forKey: "shouldHideAnchor")
+        popover.show(relativeTo: CGRect(x: sender!.bounds.origin.x, y: 10, width: sender!.bounds.size.width, height: sender!.bounds.size.height), of: sender!, preferredEdge: .maxY)
+        vc.downCallback = { [weak self] downEntered, count in
+            self?.popover?.close()
+            self?.popover = nil
+            
+            if (!downEntered) {
+                return
+            }
+            guard let index = array.firstIndex(of: count) else {
+                return
+            }
+            if (index == 0) {
+                guard let callback = self?.itemClick else {
+                    return
+                }
+                callback(self, KMPageEditType.extract_selected_pages)
+            } else if (index == 1) {
+                guard let callback = self?.itemClick else {
+                    return
+                }
+                callback(self, KMPageEditType.extract.rawValue)
+            }
+        }
     }
     
     @objc func replaceMenuAction(sender: KMToolbarClickButton?) {

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 769 - 715
PDF Office/PDF Master/Class/PDFWindowController/Toolbar/KMToolbarViewController.swift


+ 18 - 14
PDF Office/PDF Master/Class/PDFWindowController/Toolbar/PublicKey.swift

@@ -95,14 +95,15 @@ let KMToolbarConversionCSVItemIdentifier = "KMToolbarConversionCSVItemIdentifier
 let KMToolbarConversionHTMLItemIdentifier = "KMToolbarConversionHTMLItemIdentifier"
 let KMToolbarConversionTextItemIdentifier = "KMToolbarConversionTextItemIdentifier"
 let KMToolbarConversionImageItemIdentifier = "KMToolbarConversionImageItemIdentifier"
-let conversionToolIdentifiers = [KMToolbarConversionWordItemIdentifier, KMToolbarConversionExcelItemIdentifier, KMToolbarConversionPPTItemIdentifier,
-                                 KMToolbarConversionRTFItemIdentifier, KMToolbarConversionCSVItemIdentifier, KMToolbarConversionHTMLItemIdentifier,
+let conversionToolIdentifiers = [KMToolbarConversionWordItemIdentifier, KMToolbarConversionExcelItemIdentifier,
+                                 KMToolbarConversionPPTItemIdentifier, KMToolbarConversionRTFItemIdentifier,
+                                 KMToolbarConversionCSVItemIdentifier, KMToolbarConversionHTMLItemIdentifier,
                                  KMToolbarConversionTextItemIdentifier, KMToolbarConversionImageItemIdentifier]
 
 // EditPDF
 let KMToolbarAddTextEditPDFItemIdentifier =  "KMToolbarAddTextEditPDFItemIdentifier"
 let KMToolbarAddImageEditPDFItemIdentifier =  "KMToolbarAddImageEditPDFItemIdentifier"
-let editPDFItemIdentifier = [KMToolbarAddTextEditPDFItemIdentifier, KMToolbarAddImageEditPDFItemIdentifier]
+let editPDFItemIdentifiers = [KMToolbarAddTextEditPDFItemIdentifier, KMToolbarAddImageEditPDFItemIdentifier]
 
 let KMToolbarDividerItemIdentifier = "KMToolbarDividerItemIdentifier"
 
@@ -117,11 +118,11 @@ let KMToolbarToolCompressItemIdentifier =  "KMToolbarToolCompressItemIdentifier"
 let KMToolbarToolSecureItemIdentifier =  "KMToolbarToolSecureItemIdentifier"
 let KMToolbarToolMergeItemIdentifier =  "KMToolbarToolMergeItemIdentifier"
 let KMToolbarComparisonItemIdentifier =  "KMToolbarComparisonItemIdentifier"
-
-let toolToolIdentifiers = [KMToolbarToolCropItemIdentifier, KMToolbarToolBatesItemIdentifier, KMToolbarToolHeaderFooterItemIdentifier,
-                           KMToolbarToolBackgroundItemIdentifier, KMToolbarToolWatermarkItemIdentifier, KMToolbarToolRedactItemIdentifier,
-                           KMToolbarToolCompressItemIdentifier, KMToolbarToolSecureItemIdentifier, KMToolbarToolMergeItemIdentifier,
-                           KMToolbarComparisonItemIdentifier]
+let toolToolIdentifiers = [KMToolbarToolCropItemIdentifier, KMToolbarToolBatesItemIdentifier,
+                           KMToolbarToolHeaderFooterItemIdentifier, KMToolbarToolBackgroundItemIdentifier,
+                           KMToolbarToolWatermarkItemIdentifier, KMToolbarToolRedactItemIdentifier,
+                           KMToolbarToolCompressItemIdentifier, KMToolbarToolSecureItemIdentifier,
+                           KMToolbarToolMergeItemIdentifier,KMToolbarComparisonItemIdentifier]
 
 /// Form
 let KMToolbarToolTextFieldItemIdentifier =  "KMToolbarToolTextFieldItemIdentifier"
@@ -133,9 +134,11 @@ let KMToolbarToolButtonIdentifier =  "KMToolbarToolButtonIdentifier"
 let KMToolbarToolSignBoxIdentifier =  "KMToolbarToolSignBoxIdentifier"
 let KMToolbarToolFormAlignIdentifier =  "KMToolbarToolFormAlignIdentifier"
 let KMToolbarToolFormMoreIdentifier =  "KMToolbarToolFormMoreIdentifier"
-let formToolIdentifiers = [KMToolbarToolTextFieldItemIdentifier, KMToolbarToolCheckBoxItemIdentifier, KMToolbarToolRadioButtonItemIdentifier,
-                           KMToolbarToolListBoxItemIdentifier, KMToolbarToolPullDownmenuItemIdentifier, KMToolbarToolButtonIdentifier,
-                           KMToolbarToolSignBoxIdentifier, KMToolbarToolFormAlignIdentifier, KMToolbarToolFormMoreIdentifier]
+let formToolIdentifiers = [KMToolbarToolTextFieldItemIdentifier, KMToolbarToolCheckBoxItemIdentifier,
+                           KMToolbarToolRadioButtonItemIdentifier, KMToolbarToolListBoxItemIdentifier,
+                           KMToolbarToolPullDownmenuItemIdentifier, KMToolbarToolButtonIdentifier,
+                           KMToolbarToolSignBoxIdentifier, KMToolbarToolFormAlignIdentifier,
+                           KMToolbarToolFormMoreIdentifier]
 
 /// FillSign
 let KMToolbarToolHookItemIdentifier     =  "KMToolbarToolHookItemIdentifier"
@@ -146,8 +149,9 @@ let KMToolbarToolRectangleIdentifier    =  "KMToolbarToolRectangleIdentifier"
 let KMToolbarToolTextIdentifier         =  "KMToolbarToolTextIdentifier"
 let KMToolbarToolDateIdentifier         =  "KMToolbarToolDateIdentifier"
 let KMToolbarFillSignSignatureIdentifier = "KMToolbarFillSignSignatureIdentifier"
-let fillSignToolIdentifiers = [KMToolbarToolHookItemIdentifier, KMToolbarToolForkItemIdentifier, KMToolbarToolLineItemIdentifier,
-                               KMToolbarToolDotItemIdentifier, KMToolbarToolRectangleIdentifier, KMToolbarToolTextIdentifier,
+let fillSignToolIdentifiers = [KMToolbarToolHookItemIdentifier, KMToolbarToolForkItemIdentifier,
+                               KMToolbarToolLineItemIdentifier, KMToolbarToolDotItemIdentifier,
+                               KMToolbarToolRectangleIdentifier, KMToolbarToolTextIdentifier,
                                KMToolbarToolDateIdentifier, KMToolbarFillSignSignatureIdentifier]
 
 //Scan OCR
@@ -164,7 +168,7 @@ public func parentIdentifier(_ identifier: String) -> String {
         return ""
     }
     
-    if (editPDFItemIdentifier.contains(identifier)) {
+    if (editPDFItemIdentifiers.contains(identifier)) {
         return KMDocumentEditToolbarItemIdentifier
     }
     if (annotationToolIdentifiers.contains(identifier)) {