浏览代码

【文字图片编辑】图片按钮状态统一调整

lizhe 1 年之前
父节点
当前提交
5417b2bcff

+ 49 - 25
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/EditPDF/KMEditImagePropertyViewController.swift

@@ -29,10 +29,10 @@ class KMEditImagePropertyViewController: NSViewController {
     @IBOutlet weak var opacityBoxBottomMaginConstraint: NSLayoutConstraint!
     
     @IBOutlet weak var cropBox: NSBox!
+    @IBOutlet weak var confirmBox: NSBox!
     @IBOutlet weak var cancelBox: NSBox!
     @IBOutlet weak var replaceBox: NSBox!
     @IBOutlet weak var exportBox: NSBox!
-    @IBOutlet weak var cropBoxWidthConstraint: NSLayoutConstraint!
     
 //    @IBOutlet weak var cutButton: NSButton!
 //    @IBOutlet weak var replaceButton: NSButton!
@@ -57,6 +57,7 @@ class KMEditImagePropertyViewController: NSViewController {
     var opacityVC: KMDesignSelect?
     
     var cropVC: KMDesignButton?
+    var confirmVC: KMDesignButton?
     var cancelVC: KMDesignButton?
     var replaceVC: KMDesignButton?
     var exportVC: KMDesignButton?
@@ -161,6 +162,15 @@ class KMEditImagePropertyViewController: NSViewController {
         cropVC?.stringValue = NSLocalizedString("Crop", comment: "")
         cropVC?.updateUI()
         
+        confirmVC = KMDesignButton.init(withType: .Text)
+        confirmBox.contentView = confirmVC?.view
+        confirmBox.fillColor = NSColor.clear
+        confirmVC?.target = self
+        confirmVC?.action = #selector(confirmVCImageAction)
+        confirmVC?.button(type: .Cta, size: .m)
+        confirmVC?.stringValue = NSLocalizedString("Confirm Cut", comment: "")
+        confirmVC?.updateUI()
+        
         cancelVC = KMDesignButton.init(withType: .Text)
         cancelBox.contentView = cancelVC?.view
         cancelBox.fillColor = NSColor.clear
@@ -193,6 +203,7 @@ class KMEditImagePropertyViewController: NSViewController {
         self.titleLabel.stringValue = NSLocalizedString("Image", comment: "")
         self.opacityTitleLabel.stringValue = NSLocalizedString("Opacity", comment: "")
         self.cropVC?.stringValue = NSLocalizedString("Crop", comment: "")
+        self.confirmVC?.stringValue = NSLocalizedString("Confirm Cut", comment: "")
         self.cancelVC?.stringValue = NSLocalizedString("Cancel", comment: "")
         self.replaceVC?.stringValue = NSLocalizedString("Replace", comment: "")
         self.exportVC?.stringValue = NSLocalizedString("Extract", comment: "")
@@ -266,28 +277,36 @@ class KMEditImagePropertyViewController: NSViewController {
     func updateButtonState(hidden:Bool) {
         if hidden {
             self.cancelBox.isHidden = true
-            self.cropBoxWidthConstraint.constant = 0
-            self.cropBox.title = NSLocalizedString("Crop", comment: "")
-            self.replaceVC?.state = .Norm
-            self.exportVC?.state = .Norm
+            self.confirmBox.isHidden = true
+            self.cropBox.isHidden = false
+            self.replaceVC?.enabled = true
+            self.exportVC?.enabled = true
             self.opacitySlider.isEnabled = true
-            self.opacityVC?.state = .Norm
-            self.rotateLeftVC?.state = .Norm
-            self.rotateRightVC?.state = .Norm
-            self.flipVerticalVC?.state = .Norm
-            self.flipHorizontalVC?.state = .Norm
+            self.opacityVC?.enabled = true
+            self.rotateLeftVC?.button.isEnabled = true
+            self.rotateLeftVC?.view.alphaValue = 1.0
+            self.rotateRightVC?.button.isEnabled = true
+            self.rotateRightVC?.view.alphaValue = 1.0
+            self.flipVerticalVC?.button.isEnabled = true
+            self.flipVerticalVC?.view.alphaValue = 1.0
+            self.flipHorizontalVC?.button.isEnabled = true
+            self.flipHorizontalVC?.view.alphaValue = 1.0
         } else {
             self.cancelBox.isHidden = false
-            self.cropBoxWidthConstraint.constant = 120
-            self.cropBox.title = NSLocalizedString("Confirm Cut", comment: "")
-            self.replaceVC?.state = .Disabled
-            self.exportVC?.state = .Disabled
+            self.confirmBox.isHidden = false
+            self.cropBox.isHidden = true
+            self.replaceVC?.enabled = false
+            self.exportVC?.enabled = false
             self.opacitySlider.isEnabled = false
-            self.opacityVC?.state = .Disabled
-            self.rotateLeftVC?.state = .Disabled
-            self.rotateRightVC?.state = .Disabled
-            self.flipVerticalVC?.state = .Disabled
-            self.flipHorizontalVC?.state = .Disabled
+            self.opacityVC?.enabled = false
+            self.rotateLeftVC?.button.isEnabled = false
+            self.rotateLeftVC?.view.alphaValue = 0.5
+            self.rotateRightVC?.button.isEnabled = false
+            self.rotateRightVC?.view.alphaValue = 0.5
+            self.flipVerticalVC?.button.isEnabled = false
+            self.flipVerticalVC?.view.alphaValue = 0.5
+            self.flipHorizontalVC?.button.isEnabled = false
+            self.flipHorizontalVC?.view.alphaValue = 0.5
         }
     }
     
@@ -432,13 +451,18 @@ extension KMEditImagePropertyViewController {
         if self.listView.selectImageAreas == nil {
             return
         }
-        if self.listView.cropAreas != nil && self.listView.selectImageAreas != nil{
-            self.listView.cropEditImageArea(self.listView.selectImageAreas, withBounds: self.listView.cropAreas.cropRect)
-        } else if self.listView.selectImageAreas != nil {
-            self.listView.isEditImage = true
-            self.listView.enterCrop(with: self.listView.selectImageAreas)
-            self.updateButtonState(hidden: false)
+
+        self.listView.isEditImage = true
+        self.listView.enterCrop(with: self.listView.selectImageAreas)
+        self.updateButtonState(hidden: false)
+    }
+    
+    @IBAction func confirmVCImageAction(_ sender: Any) {
+        if self.listView.selectImageAreas == nil {
+            return
         }
+        
+        self.listView.cropEditImageArea(self.listView.selectImageAreas, withBounds: self.listView.cropAreas.cropRect)
     }
     
     @IBAction func cancelCutImageAction(_ sender: Any) {

+ 16 - 2
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/EditPDF/KMEditImagePropertyViewController.xib

@@ -11,8 +11,8 @@
                 <outlet property="buttonBox" destination="9za-vG-ihA" id="m1z-pN-ORp"/>
                 <outlet property="buttonBoxHeight" destination="q4K-hM-hqe" id="4Tg-z0-d6c"/>
                 <outlet property="cancelBox" destination="vr8-ml-OC0" id="kUB-8H-yo0"/>
+                <outlet property="confirmBox" destination="xPh-yv-2Ch" id="sdk-Wa-ZAR"/>
                 <outlet property="cropBox" destination="AAt-gQ-hOo" id="MP2-gY-56R"/>
-                <outlet property="cropBoxWidthConstraint" destination="daN-m4-K44" id="klP-jj-Ftm"/>
                 <outlet property="editImageView" destination="1u5-mk-ax5" id="The-iv-pCn"/>
                 <outlet property="exportBox" destination="8lZ-Kd-hWi" id="36X-Q5-M0Z"/>
                 <outlet property="flipHorizontalBox" destination="yYT-gS-HFj" id="lf8-47-4V7"/>
@@ -239,6 +239,18 @@
                                             </constraints>
                                             <color key="fillColor" red="0.92156862750000001" green="0.92156862750000001" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                         </box>
+                                        <box boxType="custom" borderWidth="0.0" cornerRadius="4" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="xPh-yv-2Ch">
+                                            <rect key="frame" x="0.0" y="80" width="110" height="32"/>
+                                            <view key="contentView" id="c74-wl-dsk">
+                                                <rect key="frame" x="0.0" y="0.0" width="110" height="32"/>
+                                                <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                                            </view>
+                                            <constraints>
+                                                <constraint firstAttribute="width" constant="110" id="lB6-As-b1d"/>
+                                                <constraint firstAttribute="height" constant="32" id="nvo-44-swu"/>
+                                            </constraints>
+                                            <color key="fillColor" red="0.92156862750000001" green="0.92156862750000001" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                        </box>
                                         <box boxType="custom" borderWidth="0.0" cornerRadius="4" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="AAt-gQ-hOo">
                                             <rect key="frame" x="0.0" y="80" width="228" height="32"/>
                                             <view key="contentView" id="d4R-c0-wzQ">
@@ -277,11 +289,13 @@
                                         <constraint firstItem="8lZ-Kd-hWi" firstAttribute="top" secondItem="dSf-T8-3R3" secondAttribute="bottom" constant="8" id="1cM-b0-HG6"/>
                                         <constraint firstItem="vr8-ml-OC0" firstAttribute="top" secondItem="ZP8-0e-bWE" secondAttribute="top" id="7eg-5O-Noy"/>
                                         <constraint firstItem="dSf-T8-3R3" firstAttribute="leading" secondItem="AAt-gQ-hOo" secondAttribute="leading" id="DLy-ZC-KU3"/>
-                                        <constraint firstAttribute="trailing" secondItem="AAt-gQ-hOo" secondAttribute="trailing" id="daN-m4-K44"/>
+                                        <constraint firstAttribute="trailing" secondItem="AAt-gQ-hOo" secondAttribute="trailing" id="ahn-mQ-E04"/>
+                                        <constraint firstItem="xPh-yv-2Ch" firstAttribute="top" secondItem="ZP8-0e-bWE" secondAttribute="top" id="cR6-6m-qQi"/>
                                         <constraint firstItem="dSf-T8-3R3" firstAttribute="top" secondItem="AAt-gQ-hOo" secondAttribute="bottom" constant="8" id="duj-XY-A1h"/>
                                         <constraint firstAttribute="trailing" secondItem="vr8-ml-OC0" secondAttribute="trailing" id="fu2-Bc-acA"/>
                                         <constraint firstItem="dSf-T8-3R3" firstAttribute="trailing" secondItem="vr8-ml-OC0" secondAttribute="trailing" id="iAd-S8-C1J"/>
                                         <constraint firstItem="AAt-gQ-hOo" firstAttribute="top" secondItem="ZP8-0e-bWE" secondAttribute="top" id="lsl-8s-FyF"/>
+                                        <constraint firstItem="xPh-yv-2Ch" firstAttribute="leading" secondItem="ZP8-0e-bWE" secondAttribute="leading" id="mOu-vx-pMD"/>
                                         <constraint firstItem="AAt-gQ-hOo" firstAttribute="leading" secondItem="ZP8-0e-bWE" secondAttribute="leading" id="n2m-zi-EMC"/>
                                         <constraint firstItem="dSf-T8-3R3" firstAttribute="trailing" secondItem="8lZ-Kd-hWi" secondAttribute="trailing" id="ouP-EF-VqU"/>
                                         <constraint firstItem="dSf-T8-3R3" firstAttribute="leading" secondItem="8lZ-Kd-hWi" secondAttribute="leading" id="yw5-GG-lZH"/>

+ 10 - 6
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/EditPDF/View/AlignmentView/KMEditPropertyAlignmentView.swift

@@ -146,8 +146,8 @@ class KMEditPropertyAlignmentView: KMBaseXibView {
         verticalAreasVC?.action = #selector(areasAlignStyleAction)
         verticalAreasVC?.image = NSImage(named: "KMImageNameEditPDFImage20_1")!
         verticalAreasVC?._image_disabled = NSImage(named: "KMImageNameEditPDFImage20")!
-        verticalAreasVC?._image_sel = NSImage(named: "KMImageNameEditPDFImage20_1")!
-        verticalAreasVC?._image_hov = NSImage(named: "KMImageNameEditPDFImage20_1")!
+        verticalAreasVC?.image_sel = NSImage(named: "KMImageNameEditPDFImage20_1")!
+        verticalAreasVC?.image_hov = NSImage(named: "KMImageNameEditPDFImage20_1")!
         verticalAreasVC?.updateUI()
     }
     
@@ -168,22 +168,26 @@ extension KMEditPropertyAlignmentView {
         if self.editingAreas.count < 2 {
             for view in areasArray {
                 view?.image = (view?._image_disabled)!
-                view?._enabled = false
+                view?.button.isEnabled = false
+                view?.image_hov = view?._image_disabled ?? NSImage()
             }
         } else if self.editingAreas.count == 2 {
             for view in areasArray {
                 if view == verticalAreasVC || view == horzontalAreasVC {
                     view?.image = (view?._image_disabled)!
-                    view?._enabled = false
+                    view?.button.isEnabled = false
+                    view?.image_hov = view?._image_disabled ?? NSImage()
                 } else {
                     view?.image = (view?._image_sel)!
-                    view?._enabled = true
+                    view?.button.isEnabled = true
+                    view?.image_hov = view?.image_sel ?? NSImage()
                 }
             }
         } else if self.editingAreas.count > 2 {
             for view in areasArray {
                 view?.image = (view?._image_sel)!
-                view?._enabled = true
+                view?.button.isEnabled = true
+                view?.image_hov = view?.image_sel ?? NSImage()
             }
         }
     }