Ver código fonte

【2025】【Markup】Markup模块自测

niehaoyu 1 mês atrás
pai
commit
8dbad8f55d

+ 20 - 2
PDF Office/PDF Master/KMClass/KMPDFViewController/KMMainViewController.swift

@@ -742,7 +742,7 @@ struct KMNMWCFlags {
         for item in items {
             item.isDisabled = listView.hideNotes
         }
-        pdfToolbarController?.reloadSecondToolbar(forceRefresh: true)
+        pdfToolbarController?.resetSecondToolbar(forceRefresh: true)
         
     }
     
@@ -3852,6 +3852,15 @@ extension KMMainViewController: KMPDFToolbarControllerDelegate {
             }
             self.refreshToolbarRightViewInfo()
             
+            if let currentSelect = listView.currentSelection {
+                if(currentSelect.selectionType() == .text) {
+                    let annotationType: CAnnotationType = KMPDFViewManager.getValidPDFAnnotationType(viewManager.subToolMode)
+                    if annotationType != .unkown {
+                        listView.addAnnotation(with: annotationType, selection: currentSelect, page: currentSelect.page, bounds: currentSelect.bounds)
+                    }
+                }
+            }
+            
             toolbarViewModeChanged()
         } else if toolbarManager.getSubToolItemIdentifys(KMPDFToolbar_Edit_Identifier).contains(itemIdentifier) {
             //MARK: -编辑
@@ -4126,6 +4135,9 @@ extension KMMainViewController: KMPDFToolbarControllerDelegate {
             } else if itemIdentifier == KMPDFToolbar_ppt_Identifier {
                 self.togglePresentation(nil)
                 
+            } else if itemIdentifier == KMPDFToolbar_batch_Identifier {
+                self.showBatchWindow(type: .convertPDF, files: [self.listView.document.documentURL])
+                
             }
         } else if itemIdentifier == KMPDFToolbar_PageEdit_Identifier {
             //MARK: -页面编辑
@@ -5251,6 +5263,12 @@ extension KMMainViewController: CPDFViewDelegate,CPDFListViewDelegate {
     func pdfListViewChangedAnnotationType(_ pdfListView: CPDFListView!, for annotationType: CAnnotationType) {
         if(annotationType == .unkown) {
             toggleCloseRightSide()
+            
+            if viewManager.subToolMode != .None {
+                viewManager.subToolMode = .None
+                pdfToolbarController?.cancelSelectedSecondToolbarItems(viewManager.toolMode)
+                pdfToolbarController?.refreshSecondToolbarItemsState()
+            }
         } else if annotationType == .measureLine ||
                     annotationType == .measurePolyLine ||
                     annotationType == .measurePolyGon ||
@@ -6155,7 +6173,7 @@ extension KMMainViewController: KMNLeftSideViewControllerDelegate {
             viewManager.isPageEditMode = true
             if(pdfToolbarController != nil) {
                 kmPDFToolbarControllerDidToolbarItemClicked(pdfToolbarController!, KMPDFToolbar_PageEdit_Identifier)
-                pdfToolbarController?.reloadSecondToolbar()
+                pdfToolbarController?.resetSecondToolbar()
             }
         }
     }

+ 2 - 0
PDF Office/PDF Master/KMClass/KMPDFViewController/RightSideController/Views/Signature/CreateSignWindowController/KMCreateSignWindowController.swift

@@ -103,12 +103,14 @@ class KMCreateSignWindowController: KMNBaseWindowController {
                                                           size: .s,
                                                           buttonText: KMLocalizedString("Cancel"),
                                                           keepPressState: false)
+        cancelButton.keyEquivalent = KMKeyEquivalent.esc.string()
         cancelButton.setTarget(self, action: #selector(buttonClicked(_ :)))
         
         createButton.properties = ComponentButtonProperty(type: .primary,
                                                           size: .s,
                                                           buttonText: KMLocalizedString("Create"),
                                                           keepPressState: false)
+        createButton.keyEquivalent = KMKeyEquivalent.enter
         createButton.setTarget(self, action: #selector(buttonClicked(_ :)))
         
         refreshUI()

+ 2 - 0
PDF Office/PDF Master/KMClass/KMPDFViewController/RightSideController/Views/StampList/Controllers/KMCreateStampWindowController.swift

@@ -83,12 +83,14 @@ class KMCreateStampWindowController: KMNBaseWindowController {
                                                           buttonText: KMLocalizedString("Cancel"),
                                                           keepPressState: false)
         cancelButton.setTarget(self, action: #selector(buttonClicked(_ :)))
+        cancelButton.keyEquivalent = KMKeyEquivalent.esc.string()
         
         createButton.properties = ComponentButtonProperty(type: .primary,
                                                           size: .s,
                                                           buttonText: KMLocalizedString("Create"),
                                                           keepPressState: false)
         createButton.setTarget(self, action: #selector(buttonClicked(_ :)))
+        createButton.keyEquivalent = KMKeyEquivalent.enter
         
         refreshUI()
         

+ 2 - 0
PDF Office/PDF Master/KMClass/KMPDFViewController/RightSideController/Views/StampList/Controllers/KMStampSettingWindowController.swift

@@ -117,12 +117,14 @@ class KMStampSettingWindowController: KMNBaseWindowController {
                                                           buttonText: KMLocalizedString("Cancel"),
                                                           keepPressState: false)
         cancelButton.setTarget(self, action: #selector(buttonClicked(_ :)))
+        cancelButton.keyEquivalent = KMKeyEquivalent.esc.string()
         
         createButton.properties = ComponentButtonProperty(type: .primary,
                                                           size: .s,
                                                           buttonText: KMLocalizedString("Create"),
                                                           keepPressState: false)
         createButton.setTarget(self, action: #selector(buttonClicked(_ :)))
+        createButton.keyEquivalent = KMKeyEquivalent.enter
         
         refreshUI()
         

+ 21 - 3
PDF Office/PDF Master/KMClass/KMPDFViewController/RightSideController/Views/TextBox/KMTextBoxController.swift

@@ -17,7 +17,7 @@ class KMTextBoxController: NSViewController {
     @IBOutlet var fontStyleSelect: ComponentSelect!
     @IBOutlet var fontSizeSelect: ComponentSelect!
     @IBOutlet var fontAlignmentGroup: ComponentCSelectorGroup!
-     
+    
     //Color
     @IBOutlet var colorBGView: NSView!
     @IBOutlet var colorLabel: NSTextField!
@@ -491,7 +491,7 @@ class KMTextBoxController: NSViewController {
             dashProperty.state = .normal
             solidProperty.state = .normal
         }
-         
+        
         if let value = lineWidth {
             let percent = value/18
             lineWidthSlider.properties.percent = percent
@@ -535,6 +535,10 @@ class KMTextBoxController: NSViewController {
 //MARK: - ComponentCColorDelegate
 extension KMTextBoxController: ComponentCColorDelegate {
     func componentCColorDidChooseColor(_ view: NSView, _ color: NSColor?) {
+        for annotation in self.annotations {
+            pdfView!.commitEditAnnotationFreeText(annotation)
+        }
+        
         if view == fontColorGroup {
             CPDFAnnotation.updateAnnotations(annotations, newFontColor: color, withPDFView: pdfView)
             CPDFFreeTextAnnotation.update_DefaultFontColor_Info(color)
@@ -552,6 +556,9 @@ extension KMTextBoxController: ComponentCColorDelegate {
 //MARK: - ComponentSliderDelegate
 extension KMTextBoxController: ComponentSliderDelegate {
     func componentSliderDidUpdate(_ view: ComponentSlider) {
+        for annotation in self.annotations {
+            pdfView!.commitEditAnnotationFreeText(annotation)
+        }
         if view == opacitySlider {
             let opacity = view.properties.percent
             CPDFAnnotation.updateAnnotations(annotations, newOpacity: opacity, withPDFView: pdfView)
@@ -573,6 +580,10 @@ extension KMTextBoxController: ComponentSliderDelegate {
 //MARK: - ComponentSelectDelegate
 extension KMTextBoxController: ComponentSelectDelegate {
     func componentSelectTextDidEndEditing(_ view: ComponentSelect, removeUnit text: String?) {
+        for annotation in self.annotations {
+            pdfView!.commitEditAnnotationFreeText(annotation)
+        }
+        
         if let result = text {
             if view == opacitySelect {
                 let opacity = max(0, min(1, result.stringToCGFloat()/100))
@@ -583,7 +594,7 @@ extension KMTextBoxController: ComponentSelectDelegate {
                 let value = result.stringToCGFloat()
                 CPDFAnnotation.updateAnnotations(annotations, newFontSize: value, withPDFView: pdfView)
                 CPDFFreeTextAnnotation.update_DefaultFontSize_Info(value)
-                 
+                
             } else if view == lineWidthSelect {
                 var value = result.stringToCGFloat()
                 if value > 18 {
@@ -610,6 +621,10 @@ extension KMTextBoxController: ComponentSelectDelegate {
     }
     
     func componentSelectDidSelect(view: ComponentSelect?, menuItemProperty: ComponentMenuitemProperty?) {
+        for annotation in self.annotations {
+            pdfView!.commitEditAnnotationFreeText(annotation)
+        }
+        
         if var result = menuItemProperty?.text {
             if let textUnit = view?.properties.textUnit {
                 result = result.stringByDeleteCharString(textUnit)
@@ -668,6 +683,9 @@ extension KMTextBoxController: ComponentSelectDelegate {
 //MARK: - ComponentCSelectorGroupDelegate
 extension KMTextBoxController: ComponentCSelectorGroupDelegate {
     func componentCSelectorGroupDidChoose(_ view: ComponentCSelectorGroup, _ item: ComponentCSelectorItem) {
+        for annotation in self.annotations {
+            pdfView!.commitEditAnnotationFreeText(annotation)
+        }
         if view == fontAlignmentGroup {
             if item.properties == fontAlign_leftItem {
                 CPDFAnnotation.updateAnnotations(annotations, newAlignment: .left, withPDFView: pdfView)

+ 1 - 0
PDF Office/PDF Master/KMClass/KMPDFViewController/SideBar/KMPDFSideBarController.swift

@@ -115,6 +115,7 @@ class KMPDFSideBarController: NSViewController {
         annotationItem.setTarget(self, action: #selector(sidebarItemClicked(_ :)))
         aiToolItem.setTarget(self, action: #selector(sidebarItemClicked(_ :)))
         
+        aiToolItem.isHidden = true
     }
     
     

+ 2 - 2
PDF Office/PDF Master/KMClass/KMPDFViewController/Toolbar/KMPDFToolbarController.swift

@@ -462,7 +462,7 @@ class KMPDFToolbarController: NSViewController {
         
     }
     
-    func reloadSecondToolbar(forceRefresh refresh: Bool = false) {
+    func resetSecondToolbar(forceRefresh refresh: Bool = false) {
         guard let _manager = self.toolbarManager, let viewManager = self.viewManager else {
             return
         }
@@ -653,7 +653,7 @@ class KMPDFToolbarController: NSViewController {
         
         reloadRightToolsView()
         
-        reloadSecondToolbar()
+        resetSecondToolbar()
         
         refreshSecondToolbarItemsState()
         

+ 1 - 1
PDF Office/PDF Master/KMClass/KMPDFViewController/Toolbar/Model/KMPDFToolbarManager.swift

@@ -526,7 +526,7 @@ class KMPDFToolbarManager: NSObject {
                                                   tools_compare_Overlay_Property]
             
             return[tools_OCR_Property, tools_merge_Property, tools_compress_Property, tools_compare_Property,
-                   tools_extractImage_Property, tools_TTS_Property, tools_batch_Property, tools_AITools_Property]
+                   tools_extractImage_Property, tools_TTS_Property, tools_batch_Property]
         }
         
         return []