瀏覽代碼

【2025】【Edit】内容编辑空状态处理

niehaoyu 2 月之前
父節點
當前提交
f5e4a9bc8b

+ 5 - 0
PDF Office/PDF Master/KMClass/KMPDFViewController/KMMainViewController.swift

@@ -4989,6 +4989,11 @@ extension KMMainViewController: CPDFViewDelegate,CPDFListViewDelegate {
             return
         }
         
+        if listView.editingAreas().count > 0 {
+            pdfView.updateEditing([])    
+            return
+        }
+        
         let panel = NSOpenPanel()
         panel.allowsMultipleSelection = false
         panel.allowedFileTypes = ["png","jpg"]

+ 26 - 29
PDF Office/PDF Master/KMClass/KMPDFViewController/RightSideController/KMRightSideController.swift

@@ -273,14 +273,25 @@ class KMRightSideController: NSViewController {
             } else {
                 if pdfView?.km_EditingAreas().isEmpty == true {
                     //未选中文字跟图片
-                    
+                    if subToolMode == .Edit_text {
+                        if edit_textController == nil {
+                            edit_textController = KMEditPDFTextPropertyViewController.init()
+                        }
+                        edit_textController?.pdfView = self.pdfView
+                        contentViewController = edit_textController
+                    } else if subToolMode == .Edit_Image {
+                        if edit_imageController == nil {
+                            edit_imageController = KMEditImageController.init()
+                        }
+                        edit_imageController?.pdfView = self.pdfView
+                        contentViewController = edit_imageController
+                    }
                 } else if pdfView?.km_editingImageAreas().isEmpty == true && pdfView?.km_editingTextAreas().isEmpty == false {
                     //编辑文字
                     if edit_textController == nil {
                         edit_textController = KMEditPDFTextPropertyViewController.init()
                     }
                     edit_textController?.pdfView = self.pdfView
-                    
                     contentViewController = edit_textController
                     
                 } else if pdfView?.km_editingImageAreas().isEmpty == false && pdfView?.km_editingTextAreas().isEmpty == true {
@@ -288,6 +299,7 @@ class KMRightSideController: NSViewController {
                     if edit_imageController == nil {
                         edit_imageController = KMEditImageController.init()
                     }
+                    edit_imageController?.pdfView = self.pdfView
                     contentViewController = edit_imageController
                     
                 } else if pdfView?.km_editingImageAreas().isEmpty == false && pdfView?.km_editingTextAreas().isEmpty == false {
@@ -687,6 +699,18 @@ class KMRightSideController: NSViewController {
         } else if (contentViewController is KMSignatureController) {
             (contentViewController as? KMSignatureController)?.reloadData()
             
+        } else if (contentViewController is KMEditPDFTextPropertyViewController) {
+            (contentViewController as? KMEditPDFTextPropertyViewController)?.reloadData()
+            
+        } else if (contentViewController is KMEditImageController) {
+            (contentViewController as? KMEditImageController)?.reloadData()
+            
+        } else if (contentViewController is KMLinkViewController) {
+            (contentViewController as? KMLinkViewController)?.reloadData()
+            
+        } else if (contentViewController is KMCropPropertyController) {
+            (contentViewController as? KMCropPropertyController)?.reloadData()
+            
         }
         
         if toolMode == .Markup {
@@ -696,33 +720,6 @@ class KMRightSideController: NSViewController {
                 subToolMode == .Strikethrough) && (contentViewController is KMHighlightController) {
                 (contentViewController as? KMHighlightController)?.reloadData()
             }
-        } else if toolMode == .Edit {
-            //图片&文字
-            if pdfView?.km_EditingAreas().isEmpty == true {
-                
-            } else if pdfView?.km_editingImageAreas().isEmpty == true && pdfView?.km_editingTextAreas().isEmpty == false {
-                //编辑文字
-                edit_textController?.pdfView = self.pdfView
-                edit_textController?.reloadData()
-            } else if pdfView?.km_editingImageAreas().isEmpty == false && pdfView?.km_editingTextAreas().isEmpty == true {
-                //编辑图片
-                edit_imageController?.pdfView = self.pdfView
-                edit_imageController?.reloadData()
-                
-            } else {
-                //多选
-            }
-            
-            //Link
-            if viewManager?.subToolMode == .Edit_Link && (contentViewController is KMLinkViewController) {
-                if (contentViewController as! KMLinkViewController).pdfView != self.pdfView {
-                    (contentViewController as! KMLinkViewController).pdfView = self.pdfView
-                }
-                (contentViewController as! KMLinkViewController).reloadData()
-            } else if viewManager?.subToolMode == .Edit_Crop && (contentViewController is KMCropPropertyController) {
-                (contentViewController as! KMCropPropertyController).reloadData()
-            }
-            
         }
         
         reloadContendTopConst()

+ 13 - 7
PDF Office/PDF Master/KMClass/KMPDFViewController/RightSideController/Views/EditPDF/KMEditImageController.swift

@@ -39,6 +39,9 @@ class KMEditImageController: NSViewController {
     
     @IBOutlet var alignmentBGView: NSView!
     
+    @IBOutlet var emptyView: ComponentEmpty!
+    
+    
     private var syncChangeBounds: Bool = true //同步修改宽高
     
     private var groupView: ComponentGroup!
@@ -46,13 +49,8 @@ class KMEditImageController: NSViewController {
     
     private var areas: [CPDFEditImageArea] = []
     
-    var pdfView: CPDFListView? {
-        didSet {
-            reloadData()
-        }
-    }
-    
-    
+    var pdfView: CPDFListView?
+     
     //MARK: - func
     override func viewDidAppear() {
         super.viewDidAppear()
@@ -177,13 +175,21 @@ class KMEditImageController: NSViewController {
         alignmentController?.delegate = self
         alignmentBGView.addSubview(alignmentController!.view)
         
+        emptyView.properties = ComponentEmptyProperty(emptyType: .addImage,
+                                                      text: KMLocalizedString("Add Image"),
+                                                      subText: KMLocalizedString("Click or Select an area on a page for a new image to be inserted."))
     }
     
     func reloadData() {
         
         areas = pdfView?.km_editingImageAreas() ?? []
         
+        emptyView.isHidden = true
+        contendView.isHidden = false
+        
         if areas.count == 0 {
+            emptyView.isHidden = false
+            contendView.isHidden = true
             
         } else if areas.count == 1 {
             cropButton.isHidden = false

+ 10 - 0
PDF Office/PDF Master/KMClass/KMPDFViewController/RightSideController/Views/EditPDF/KMEditImageController.xib

@@ -11,6 +11,7 @@
                 <outlet property="alignmentBGView" destination="Ord-eK-7hC" id="peK-ys-71M"/>
                 <outlet property="contendView" destination="5d4-9i-VqM" id="Zz9-Aa-SrJ"/>
                 <outlet property="cropButton" destination="V5t-7B-Xe1" id="kBN-y7-R9f"/>
+                <outlet property="emptyView" destination="a3F-Vt-QcV" id="1GJ-an-f9a"/>
                 <outlet property="extractBtnTopConst" destination="0j8-h3-LP5" id="iF1-HW-agP"/>
                 <outlet property="extractButton" destination="CkA-vp-ac0" id="c5y-cS-4xd"/>
                 <outlet property="flipHorizontalButton" destination="JYo-PF-eR4" id="vQO-zY-WrV"/>
@@ -344,10 +345,19 @@
                         <constraint firstItem="Ord-eK-7hC" firstAttribute="centerX" secondItem="5d4-9i-VqM" secondAttribute="centerX" id="wHl-48-1YR"/>
                     </constraints>
                 </view>
+                <customView translatesAutoresizingMaskIntoConstraints="NO" id="a3F-Vt-QcV" customClass="ComponentEmpty" customModule="KMComponentLibrary">
+                    <rect key="frame" x="12" y="258" width="232" height="200"/>
+                    <constraints>
+                        <constraint firstAttribute="width" constant="232" id="PEU-Rg-A1i"/>
+                        <constraint firstAttribute="height" constant="200" id="sNT-Yu-Dlz"/>
+                    </constraints>
+                </customView>
             </subviews>
             <constraints>
+                <constraint firstItem="a3F-Vt-QcV" firstAttribute="centerX" secondItem="Hz6-mo-xeY" secondAttribute="centerX" id="DzX-Az-slW"/>
                 <constraint firstItem="5d4-9i-VqM" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" id="Okm-M6-mAX"/>
                 <constraint firstItem="5d4-9i-VqM" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" id="RRq-iu-RrX"/>
+                <constraint firstItem="a3F-Vt-QcV" firstAttribute="centerY" secondItem="Hz6-mo-xeY" secondAttribute="centerY" id="fwj-yk-qEC"/>
                 <constraint firstAttribute="bottom" secondItem="5d4-9i-VqM" secondAttribute="bottom" id="nOA-LJ-M6J"/>
                 <constraint firstAttribute="trailing" secondItem="5d4-9i-VqM" secondAttribute="trailing" id="uBf-KZ-Ftm"/>
             </constraints>