فهرست منبع

Merge branch 'develop_2025' of git.kdan.cc:Mac_PDF/PDF_Office into develop_2025

niehaoyu 1 ماه پیش
والد
کامیت
426230784f

+ 66 - 3
PDF Office/PDF Master/Class/PDFTools/Redact/Window/KMRedactPropertiesWindowController.swift

@@ -43,6 +43,13 @@ class KMRedactPropertiesWindowController: KMNBaseWindowController {
     
     var callback: ((_ anno: CPDFRedactAnnotation?)->Void)?
     
+    var isChangeProperites = false {
+        didSet {
+            self.makePropertiesButton.properties.isDisabled = !isChangeProperites
+            self.makePropertiesButton.reloadData()
+        }
+    }
+    
     convenience init() {
         self.init(windowNibName: "KMRedactPropertiesWindowController")
     }
@@ -319,6 +326,7 @@ class KMRedactPropertiesWindowController: KMNBaseWindowController {
             makePropertiesButton.isHidden = true
         }
         
+        self.isChangeProperites = false
         updateLabelUI()
     }
     
@@ -331,6 +339,8 @@ class KMRedactPropertiesWindowController: KMNBaseWindowController {
         alightLeftButton.reloadData()
         alightCenteButton.reloadData()
         alightRightButton.reloadData()
+        
+        self.updatePropertiesState()
     }
     
     @objc func alightRightButtonClicked(_ sender: NSView) {
@@ -341,6 +351,8 @@ class KMRedactPropertiesWindowController: KMNBaseWindowController {
         alightLeftButton.reloadData()
         alightCenteButton.reloadData()
         alightRightButton.reloadData()
+        
+        self.updatePropertiesState()
     }
     
     @objc func alightCenterButtonClicked(_ sender: NSView) {
@@ -351,6 +363,8 @@ class KMRedactPropertiesWindowController: KMNBaseWindowController {
         alightLeftButton.reloadData()
         alightCenteButton.reloadData()
         alightRightButton.reloadData()
+        
+        self.updatePropertiesState()
     }
     
     @objc func makePropertiesButtonClicked(_ sender: AnyObject?) {
@@ -410,6 +424,47 @@ class KMRedactPropertiesWindowController: KMNBaseWindowController {
     @IBAction func useOverlayText_button(_ sender: AnyObject?) {
         updateLabelUI()
     }
+    
+    func updatePropertiesState() {
+        let s = (fontSizeComboSelect.properties.text as? NSString)?.trimmingCharacters(in: CharacterSet(charactersIn: " pt")) ?? ""
+        let fontsize = Int(s) ?? 12
+        
+        var alignment: NSTextAlignment = .left
+        if alightCenteButton.properties.state == .pressed {
+            alignment = .center
+        } else if alightRightButton.properties.state == .pressed {
+            alignment = .right
+        }
+        
+        if let anno = readactAnnotation {
+            var isChange = false
+            if anno.borderColor() != outlineColorItem.properties?.color {
+                isChange = true
+            }
+            
+            if anno.interiorColor() != fillColorItem.properties?.color {
+                isChange = true
+            }
+            
+            if anno.fontColor() != fontColorItem.properties?.color {
+                isChange = true
+            }
+                
+            if anno.fontSize != fontsize.cgFloat {
+                isChange = true
+            }
+            
+            if anno.alignment() != alignment {
+                isChange = true
+            }
+            
+            if anno.overlayText() != overlayTextarea.properties.text {
+                isChange = true
+            }
+            
+            self.isChangeProperites = isChange
+        }
+    }
 }
 
 //MARK: - ComponentTextareaDelegate
@@ -420,10 +475,12 @@ extension KMRedactPropertiesWindowController: ComponentTextareaDelegate {
     
     func componentTextareaTextDidChange(_ view: ComponentTextarea) {
         updateLabelUI()
+        
+        self.updatePropertiesState()
     }
     
     func componentTextareaTextDidEndEditing(_ view: ComponentTextarea) {
-        
+
     }
 }
 
@@ -431,7 +488,7 @@ extension KMRedactPropertiesWindowController: ComponentTextareaDelegate {
 extension KMRedactPropertiesWindowController: ComponentSelectDelegate {
     
     func componentSelectDidSelect(view: ComponentSelect?, menuItemProperty: ComponentMenuitemProperty?) {
-        
+        self.updatePropertiesState()
     }
     
     func componentSelectTextDidBeginEditing(_ view: ComponentSelect) {
@@ -447,13 +504,15 @@ extension KMRedactPropertiesWindowController: ComponentSelectDelegate {
     }
     
     func componentSelectTextDidEndEditing(_ view: ComponentSelect, removeUnit text: String?) {
-        
+        self.updatePropertiesState()
     }
     
     @objc func fontColorChange(_ sender: Any) {
         if let color = (sender as? NSColorPanel)?.color {
             fontColorItem.properties?.color = color
             fontColorItem.reloadData()
+            
+            self.updatePropertiesState()
         }
     }
     
@@ -461,6 +520,8 @@ extension KMRedactPropertiesWindowController: ComponentSelectDelegate {
         if let color = (sender as? NSColorPanel)?.color {
             outlineColorItem.properties?.color = color
             outlineColorItem.reloadData()
+            
+            self.updatePropertiesState()
         }
     }
     
@@ -468,6 +529,8 @@ extension KMRedactPropertiesWindowController: ComponentSelectDelegate {
         if let color = (sender as? NSColorPanel)?.color {
             fillColorItem.properties?.color = color
             fillColorItem.reloadData()
+            
+            self.updatePropertiesState()
         }
     }
     

+ 0 - 1
PDF Office/PDF Master/Class/PDFTools/Redact/Window/KMRedactPropertiesWindowController.xib

@@ -167,7 +167,6 @@
                                 <constraint firstItem="w7u-h7-LbV" firstAttribute="centerY" secondItem="vtH-vu-OhB" secondAttribute="centerY" id="tjo-gF-vkw"/>
                             </constraints>
                         </view>
-                        <font key="titleFont" metaFont="smallSystem"/>
                     </box>
                     <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="zAA-Ry-vgk">
                         <rect key="frame" x="22" y="438" width="312" height="16"/>

+ 4 - 1
PDF Office/PDF Master/KMClass/KMPDFViewController/KMMainViewController.swift

@@ -743,7 +743,6 @@ struct KMNMWCFlags {
                 listView.annotationType = .redact
                 listView.toolMode = .CRedactToolMode
                 
-                self.enterRedactAlert()
             } else if subToolMode == .Digital_Sign {
                 //数字签名
                 listView.annotationType = .digitalSign
@@ -4188,6 +4187,8 @@ extension KMMainViewController: KMPDFToolbarControllerDelegate {
                     
                     toggleCloseRightSide()
                 }
+                
+                self.enterRedactAlert()
             } else if itemIdentifier == KMPDFToolbar_protect_redact_Property_Identifier {
                 self.showRedactProperty(readactAnnotation: nil)
                 
@@ -4195,6 +4196,8 @@ extension KMMainViewController: KMPDFToolbarControllerDelegate {
             } else if itemIdentifier == KMPDFToolbar_protect_redact_Apply_Identifier {
                 toolbarViewModeChanged()
                 
+                self.redactApplyAction()
+                
             } else if itemIdentifier == KMPDFToolbar_protect_redact_Exit_Identifier {
                 toolbarViewModeChanged()
                 

+ 4 - 4
PDF Office/PDF Master/KMClass/Left/Annotaion/Controller/KMLeftSideViewController.swift

@@ -406,10 +406,10 @@ class KMLeftSideViewController: KMSideViewController {
     func showMoreGroupView() {
         let groupView = ComponentGroup.createFromNib(in: ComponentLibrary.shared.componentBundle())
         
-        var expand_MenuString = KMLocalizedString("Expand All")
+        var expand_MenuString = KMLocalizedString("Collapse All")
         for secM in self.annoListModel?.datas ?? [] {
             if secM.isExpand == false {
-                expand_MenuString = KMLocalizedString("Collapse All")
+                expand_MenuString = KMLocalizedString("Expand All")
                 break
             }
         }
@@ -479,7 +479,7 @@ class KMLeftSideViewController: KMSideViewController {
                     if an.isKind(of: CPDFFreeTextAnnotation.self) == true ||
                         an.isKind(of: CPDFTextAnnotation.self)  == true {
                     } else  {
-                        let note_Menuitem: ComponentMenuitemProperty = ComponentMenuitemProperty(text: KMLocalizedString("Notes"),
+                        let note_Menuitem: ComponentMenuitemProperty = ComponentMenuitemProperty(text: KMLocalizedString("Edit"),
                                                                                                  identifier: BOTAMenuIdentifier_Annotation_EditNote,representedObject: [data])
                         menuItemArr.append(note_Menuitem)
                         viewHeight += 36.0
@@ -572,7 +572,7 @@ class KMLeftSideViewController: KMSideViewController {
                     viewHeight += 36.0
                 }
             } else if let replyModel = dataItem as? KMBotaAnnotationReplyModel {
-                let note_Menuitem: ComponentMenuitemProperty = ComponentMenuitemProperty(text: KMLocalizedString("Notes"),
+                let note_Menuitem: ComponentMenuitemProperty = ComponentMenuitemProperty(text: KMLocalizedString("Edit"),
                                                                                          identifier: BOTAMenuIdentifier_Annotation_EditNote,representedObject: [replyModel])
                 menuItemArr.append(note_Menuitem)
                 viewHeight += 36.0