Browse Source

【fix】【编辑PDF】添加文本或图片后,切换到其他功能,页面中不显示添加的图片或文字

tangchao 6 months ago
parent
commit
3c78a5e522

+ 3 - 0
PDF Office/PDF Master/Class/PDFTools/EditPDF/Tools/KMEditPDfHanddler.swift

@@ -126,6 +126,7 @@ class KMEditPDfHanddler: NSObject {
             self.listView?.updateActiveAnnotations([])
             self.listView?.setNeedsDisplayForVisiblePages()
             self.listView?.commitEditFormText()
+            self.listView?.commitEditing()
             self.listView?.layoutDocumentView()
             KMThumbnailCache.shared.clearCache()
             NotificationCenter.default.post(name: NSNotification.Name.init(rawValue: "CPDFDocumentPageCountChangedNotification"), object: self.listView?.document)
@@ -187,7 +188,9 @@ class KMEditPDfHanddler: NSObject {
         let isEdited = self.listView?.isEdited() ?? false
         let isPDFTextImageEdited = self.viewC?.model.isPDFTextImageEdited ?? false
         if isEdited || isPDFTextImageEdited {
+            self.viewC?.model.isPDFTextImageEdited = false
             self.listView?.commitEditing()
+            self.listView?.layoutDocumentView()
         }
         
         self.clearData()

+ 11 - 1
PDF Office/PDF Master/Class/PDFWindowController/ViewController/KMMainViewController+Action.swift

@@ -3760,7 +3760,17 @@ extension KMMainViewController : KMMainToolbarControllerDelegate {
                 }
                 return
             }
-            self.enterRedact()
+            let isEdited = self.listView.isEdited()
+            let isPDFTextImageEdited =  self.model.isPDFTextImageEdited
+            if isEdited || isPDFTextImageEdited {
+                self.commitEditingIfNeed()
+                
+//                DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) {
+                    self.enterRedact()
+//                }
+            } else {
+                self.enterRedact()
+            }
         } else if type == .Tool {
             if KMGuideInfoWindowController.availableShow(.pdfCompareGuide) {
                 self.loadOpenFileFunctionGuide(.pdfCompareGuide)

+ 6 - 0
PDF Office/PDF Master/Class/PDFWindowController/ViewController/KMMainViewController.swift

@@ -712,6 +712,8 @@ import Cocoa
             return
         }
         
+        self.commitEditingIfNeed()
+        
         self.leftSideViewController.thumbnailTableView.isEnabled = false
         self.leftSideViewController.tocOutlineView.isEnabled = false
         self.leftSideViewController.noteOutlineView.isEnabled = false
@@ -1281,6 +1283,10 @@ import Cocoa
     // MARK: - Toolbar
     
     func toolbarItemClickForExitMode(_ toolbarItem: KMToolbarItemView) {
+        if toolbarItem.itemIdentifier != KMDocumentEditToolbarItemIdentifier {
+            self.commitEditingIfNeed()
+        }
+        
         if(toolbarItem.itemIdentifier != KMDocumentPageToolbarItemIdentifier) {
             if (hasEnterPageEdit()) {
                 self.exitPageEdit()