Browse Source

【2025】【PDFView】编辑及未选中编辑快自测bug修改

dinglingui 3 weeks ago
parent
commit
f819f3a564
1 changed files with 101 additions and 121 deletions
  1. 101 121
      PDF Office/PDF Master/KMClass/KMPDFViewController/KMMainViewController.swift

+ 101 - 121
PDF Office/PDF Master/KMClass/KMPDFViewController/KMMainViewController.swift

@@ -6054,7 +6054,7 @@ extension KMMainViewController: CPDFViewDelegate,CPDFListViewDelegate {
                 } else {
                     let currentSelection = pdfListView.currentSelection
                     if currentSelection != nil {
-                        if currentSelection?.selectionType() == .text {
+                        if currentSelection?.selectionType() == .text && pdfListView == self.listView {
                             menuStringArr.append(PDFViewMenuIdentifier_Normal_AITool)
                             menuStringArr.append(PDFViewMenuIdentifier_Space)
                             menuStringArr.append(PDFViewMenuIdentifier_Normal_Copy)
@@ -6074,7 +6074,7 @@ extension KMMainViewController: CPDFViewDelegate,CPDFListViewDelegate {
                             menuStringArr.append(PDFViewMenuIdentifier_Space)
                             menuStringArr.append(PDFViewMenuIdentifier_Normal_TTS)
                             menuStringArr.append(PDFViewMenuIdentifier_Normal_SearchText)
-                        } else if currentSelection?.selectionType() == .image {
+                        } else if currentSelection?.selectionType() == .image && pdfListView == self.listView {
                             menuStringArr.append(PDFViewMenuIdentifier_Normal_Copy)
                             if pdfListView.canPaste() {
                                 menuStringArr.append(PDFViewMenuIdentifier_Normal_Past)
@@ -6086,111 +6086,95 @@ extension KMMainViewController: CPDFViewDelegate,CPDFListViewDelegate {
                             menuStringArr.append(PDFViewMenuIdentifier_Normal_Circle)
                         }
                     } else {
-                        if pdfListView.toolMode == .CFormToolMode {
-                            if pdfListView.canPaste() {
-                                menuStringArr.append(PDFViewMenuIdentifier_Normal_Past)
-                            }
-                            menuStringArr.append(PDFViewMenuIdentifier_Space)
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_SelectAllForm)
-                            menuStringArr.append(PDFViewMenuIdentifier_Space)
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_HightForm)
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_ShowFormName)
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_RestForm)
-                            menuStringArr.append(PDFViewMenuIdentifier_Space)
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_AddBook)
-                            menuStringArr.append(PDFViewMenuIdentifier_Space)
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_ViewTools)
-                            menuStringArr.append(PDFViewMenuIdentifier_Space)
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_PageView)
-                            menuStringArr.append(PDFViewMenuIdentifier_Space)
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_Scale)
-                            menuStringArr.append(PDFViewMenuIdentifier_Space)
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_PageRotate)
-                            menuStringArr.append(PDFViewMenuIdentifier_Space)
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_PageNum)
-                            menuStringArr.append(PDFViewMenuIdentifier_Space)
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_Search)
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_Print)
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_Properties)
-                        } else if pdfListView.toolMode == .CRedactToolMode {
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_SelectAllText)
-                            menuStringArr.append(PDFViewMenuIdentifier_Space)
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_AddBook)
-                            menuStringArr.append(PDFViewMenuIdentifier_Space)
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_ViewTools)
-                            menuStringArr.append(PDFViewMenuIdentifier_Space)
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_PageView)
-                            menuStringArr.append(PDFViewMenuIdentifier_Space)
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_Scale)
-                            menuStringArr.append(PDFViewMenuIdentifier_Space)
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_PageRotate)
-                            menuStringArr.append(PDFViewMenuIdentifier_Space)
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_PageNum)
-                            menuStringArr.append(PDFViewMenuIdentifier_Space)
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_HightLink)
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_HightForm)
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_RestForm)
-                            menuStringArr.append(PDFViewMenuIdentifier_Space)
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_Search)
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_Print)
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_Properties)
-                        } else {
-                            if(listView.viewSplitMode != .disable) {
-                                menuStringArr.append(PDFViewMenuIdentifier_Split_ViewMode)
-                                menuStringArr.append(PDFViewMenuIdentifier_Split_Sync)
-                                menuStringArr.append(PDFViewMenuIdentifier_Split_ShowBar)
+                        if(pdfListView == self.listView) {
+                            if pdfListView.toolMode == .CFormToolMode {
+                                if pdfListView.canPaste() {
+                                    menuStringArr.append(PDFViewMenuIdentifier_Normal_Past)
+                                }
                                 menuStringArr.append(PDFViewMenuIdentifier_Space)
-                            } else {
-                                menuStringArr.append(PDFViewMenuIdentifier_Normal_AITool)
+                                menuStringArr.append(PDFViewMenuIdentifier_Normal_SelectAllForm)
                                 menuStringArr.append(PDFViewMenuIdentifier_Space)
-                                if pdfListView == listView {
-                                    if pdfListView.canPaste() {
-                                        menuStringArr.append(PDFViewMenuIdentifier_Normal_Past)
-                                    }
-                                    menuStringArr.append(PDFViewMenuIdentifier_Normal_SelectAllText)
-                                    menuStringArr.append(PDFViewMenuIdentifier_Normal_SelectAllAnnotation)
-                                    menuStringArr.append(PDFViewMenuIdentifier_Space)
-                                    menuStringArr.append(PDFViewMenuIdentifier_Normal_ShowAnnotation)
+                                menuStringArr.append(PDFViewMenuIdentifier_Normal_HightForm)
+                                menuStringArr.append(PDFViewMenuIdentifier_Normal_ShowFormName)
+                                menuStringArr.append(PDFViewMenuIdentifier_Normal_RestForm)
+                                menuStringArr.append(PDFViewMenuIdentifier_Space)
+                                menuStringArr.append(PDFViewMenuIdentifier_Normal_AddBook)
+                                menuStringArr.append(PDFViewMenuIdentifier_Space)
+                                menuStringArr.append(PDFViewMenuIdentifier_Normal_ViewTools)
+                                menuStringArr.append(PDFViewMenuIdentifier_Space)
+                                menuStringArr.append(PDFViewMenuIdentifier_Normal_PageView)
+                                menuStringArr.append(PDFViewMenuIdentifier_Space)
+                                menuStringArr.append(PDFViewMenuIdentifier_Normal_Scale)
+                                menuStringArr.append(PDFViewMenuIdentifier_Space)
+                                menuStringArr.append(PDFViewMenuIdentifier_Normal_PageRotate)
+                                menuStringArr.append(PDFViewMenuIdentifier_Space)
+                                menuStringArr.append(PDFViewMenuIdentifier_Normal_PageNum)
+                                menuStringArr.append(PDFViewMenuIdentifier_Space)
+                                menuStringArr.append(PDFViewMenuIdentifier_Normal_Search)
+                                menuStringArr.append(PDFViewMenuIdentifier_Normal_Print)
+                                menuStringArr.append(PDFViewMenuIdentifier_Normal_Properties)
+                            } else if pdfListView.toolMode == .CRedactToolMode {
+                                
+                            } else {
+                                if(listView.viewSplitMode != .disable) {
+                                    menuStringArr.append(PDFViewMenuIdentifier_Split_ViewMode)
+                                    menuStringArr.append(PDFViewMenuIdentifier_Split_Sync)
+                                    menuStringArr.append(PDFViewMenuIdentifier_Split_ShowBar)
                                     menuStringArr.append(PDFViewMenuIdentifier_Space)
-                                    menuStringArr.append(PDFViewMenuIdentifier_Normal_AddBook)
+                                } else {
+                                    menuStringArr.append(PDFViewMenuIdentifier_Normal_AITool)
                                     menuStringArr.append(PDFViewMenuIdentifier_Space)
+                                    if pdfListView == listView {
+                                        if pdfListView.canPaste() {
+                                            menuStringArr.append(PDFViewMenuIdentifier_Normal_Past)
+                                        }
+                                        menuStringArr.append(PDFViewMenuIdentifier_Normal_SelectAllText)
+                                        menuStringArr.append(PDFViewMenuIdentifier_Normal_SelectAllAnnotation)
+                                        menuStringArr.append(PDFViewMenuIdentifier_Space)
+                                        menuStringArr.append(PDFViewMenuIdentifier_Normal_ShowAnnotation)
+                                        menuStringArr.append(PDFViewMenuIdentifier_Space)
+                                        menuStringArr.append(PDFViewMenuIdentifier_Normal_AddBook)
+                                        menuStringArr.append(PDFViewMenuIdentifier_Space)
+                                    }
                                 }
+                                menuStringArr.append(PDFViewMenuIdentifier_Normal_ViewTools)
+                                menuStringArr.append(PDFViewMenuIdentifier_Space)
+                        
+                                menuStringArr.append(PDFViewMenuIdentifier_Normal_PageView)
+                                if(listView.viewSplitMode != .disable) {
+                                } else {
+                                    menuStringArr.append(PDFViewMenuIdentifier_Normal_ReadMode)
+                                }
+                                menuStringArr.append(PDFViewMenuIdentifier_Space)
+                                menuStringArr.append(PDFViewMenuIdentifier_Normal_Scale)
+                                menuStringArr.append(PDFViewMenuIdentifier_Space)
+                                menuStringArr.append(PDFViewMenuIdentifier_Normal_PageRotate)
+                                menuStringArr.append(PDFViewMenuIdentifier_Space)
+                                menuStringArr.append(PDFViewMenuIdentifier_Normal_PageNum)
+                                menuStringArr.append(PDFViewMenuIdentifier_Space)
+                                menuStringArr.append(PDFViewMenuIdentifier_Normal_AutoScroll)
+                                menuStringArr.append(PDFViewMenuIdentifier_Space)
+                                menuStringArr.append(PDFViewMenuIdentifier_Normal_HightLink)
+                                menuStringArr.append(PDFViewMenuIdentifier_Normal_HightForm)
+                                menuStringArr.append(PDFViewMenuIdentifier_Normal_RestForm)
+                                menuStringArr.append(PDFViewMenuIdentifier_Space)
+                                menuStringArr.append(PDFViewMenuIdentifier_Normal_Search)
+                                menuStringArr.append(PDFViewMenuIdentifier_Normal_Print)
+                                menuStringArr.append(PDFViewMenuIdentifier_Normal_Properties)
                             }
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_ViewTools)
-                            menuStringArr.append(PDFViewMenuIdentifier_Space)
-                    
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_PageView)
-                            if(listView.viewSplitMode != .disable) {
-                            } else {
-                                menuStringArr.append(PDFViewMenuIdentifier_Normal_ReadMode)
-                            }
-                            menuStringArr.append(PDFViewMenuIdentifier_Space)
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_Scale)
-                            menuStringArr.append(PDFViewMenuIdentifier_Space)
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_PageRotate)
-                            menuStringArr.append(PDFViewMenuIdentifier_Space)
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_PageNum)
-                            menuStringArr.append(PDFViewMenuIdentifier_Space)
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_AutoScroll)
-                            menuStringArr.append(PDFViewMenuIdentifier_Space)
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_HightLink)
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_HightForm)
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_RestForm)
-                            menuStringArr.append(PDFViewMenuIdentifier_Space)
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_Search)
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_Print)
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_Properties)
                         }
+
                     }
                 }
-                let menuStruct = KMPDFMenuConfig.clickMenuUI(items: menuStringArr, theEvent: theEvent, listView: pdfListView)
-                groupListMenuGroup?.pagePoint = pagePoint
-                groupListMenuGroup?.groupDelegate = self
-                groupListMenuGroup?.frame = CGRectMake(0, 0, 180, menuStruct.viewHeight)
-                groupListMenuGroup?.updateGroupInfo(menuStruct.menuitems)
-    
-                groupListMenuGroup?.showWithPoint(CGPoint(x: point.x, y: point.y - menuStruct.viewHeight), relativeTo: nil, withWindow: self.view.window)
-
+                if(menuStringArr.count > 0) {
+                    let menuStruct = KMPDFMenuConfig.clickMenuUI(items: menuStringArr, theEvent: theEvent, listView: pdfListView)
+                    groupListMenuGroup?.pagePoint = pagePoint
+                    groupListMenuGroup?.groupDelegate = self
+                    groupListMenuGroup?.frame = CGRectMake(0, 0, 180, menuStruct.viewHeight)
+                    groupListMenuGroup?.updateGroupInfo(menuStruct.menuitems)
+                    
+                    groupListMenuGroup?.showWithPoint(CGPoint(x: point.x, y: point.y - menuStruct.viewHeight), relativeTo: nil, withWindow: self.view.window)
+                }
             }
         } else {
             var menuStringArr: [String] = []
@@ -6244,7 +6228,7 @@ extension KMMainViewController: CPDFViewDelegate,CPDFListViewDelegate {
             
             groupListMenuGroup?.showWithPoint(CGPoint(x: windowPoint.x, y: windowPoint.y - menuStruct.viewHeight), relativeTo: nil)
         } else {
-            let isShowPopUI:Bool = !SettingsManager.sharedInstance.showQuickActionBar
+            let isShowPopUI:Bool = true
             var menuStringArr: [String] = []
             let editingAreas = listView.km_EditingAreas()
             let firstEditingArea = editingAreas.first
@@ -6278,7 +6262,6 @@ extension KMMainViewController: CPDFViewDelegate,CPDFListViewDelegate {
                         if listView.isSupportPast() {
                             menuStringArr.append(PDFViewMenuIdentifier_Edit_NoStylePaste)
                         }
-                        menuStringArr.append(PDFViewMenuIdentifier_Edit_SelectAll)
                         menuStringArr.append(PDFViewMenuIdentifier_Normal_Delete)
                         menuStringArr.append(PDFViewMenuIdentifier_Space)
                         
@@ -6298,8 +6281,8 @@ extension KMMainViewController: CPDFViewDelegate,CPDFListViewDelegate {
                         menuStringArr.append(PDFViewMenuIdentifier_Space)
                         menuStringArr.append(PDFViewMenuIdentifier_Edit_RotateLeft)
                         menuStringArr.append(PDFViewMenuIdentifier_Edit_RotateRight)
-                        menuStringArr.append(PDFViewMenuIdentifier_Edit_HorizontalMirror)
                         menuStringArr.append(PDFViewMenuIdentifier_Edit_VerticalMirror)
+                        menuStringArr.append(PDFViewMenuIdentifier_Edit_HorizontalMirror)
                         menuStringArr.append(PDFViewMenuIdentifier_Space)
                         menuStringArr.append(PDFViewMenuIdentifier_Normal_Export)
                         if(isShowPopUI){
@@ -6323,7 +6306,6 @@ extension KMMainViewController: CPDFViewDelegate,CPDFListViewDelegate {
                             menuStringArr.append(PDFViewMenuIdentifier_Edit_NoStylePaste)
                         }
                         menuStringArr.append(PDFViewMenuIdentifier_Edit_SelectAll)
-                        menuStringArr.append(PDFViewMenuIdentifier_Space)
                     } else {
                         let editState = listView.editStatus()
                         if (editState == .editSelectText) {// 选择文本
@@ -6334,7 +6316,6 @@ extension KMMainViewController: CPDFViewDelegate,CPDFListViewDelegate {
                             }
                             menuStringArr.append(PDFViewMenuIdentifier_Edit_SelectAll)
                             menuStringArr.append(PDFViewMenuIdentifier_Normal_Delete)
-                            menuStringArr.append(PDFViewMenuIdentifier_Space)
                         } else  {
                             menuStringArr.append(PDFViewMenuIdentifier_Normal_Copy)
                             menuStringArr.append(PDFViewMenuIdentifier_Normal_Cut)
@@ -6346,16 +6327,16 @@ extension KMMainViewController: CPDFViewDelegate,CPDFListViewDelegate {
                             }
                             menuStringArr.append(PDFViewMenuIdentifier_Edit_SelectAll)
                             menuStringArr.append(PDFViewMenuIdentifier_Normal_Delete)
-                            menuStringArr.append(PDFViewMenuIdentifier_Space)
-                        }
-                        menuStringArr.append(PDFViewMenuIdentifier_Edit_Font)
-                        menuStringArr.append(PDFViewMenuIdentifier_Edit_FontName)
-                        menuStringArr.append(PDFViewMenuIdentifier_Edit_FontAlight)
-                        if(isShowPopUI){
-                            menuStringArr.append(PDFViewMenuIdentifier_Space)
-                            menuStringArr.append(PDFViewMenuIdentifier_Normal_ShowPopUI)
                         }
                     }
+                    menuStringArr.append(PDFViewMenuIdentifier_Space)
+                    menuStringArr.append(PDFViewMenuIdentifier_Edit_Font)
+                    menuStringArr.append(PDFViewMenuIdentifier_Edit_FontName)
+                    menuStringArr.append(PDFViewMenuIdentifier_Edit_FontAlight)
+                    if(isShowPopUI){
+                        menuStringArr.append(PDFViewMenuIdentifier_Space)
+                        menuStringArr.append(PDFViewMenuIdentifier_Normal_ShowPopUI)
+                    }
                 } else if firstEditingArea?.isImageArea() == true {
                     menuStringArr.append(PDFViewMenuIdentifier_Normal_Copy)
                     menuStringArr.append(PDFViewMenuIdentifier_Normal_Cut)
@@ -6363,8 +6344,8 @@ extension KMMainViewController: CPDFViewDelegate,CPDFListViewDelegate {
                     menuStringArr.append(PDFViewMenuIdentifier_Space)
                     menuStringArr.append(PDFViewMenuIdentifier_Edit_RotateLeft)
                     menuStringArr.append(PDFViewMenuIdentifier_Edit_RotateRight)
-                    menuStringArr.append(PDFViewMenuIdentifier_Edit_HorizontalMirror)
                     menuStringArr.append(PDFViewMenuIdentifier_Edit_VerticalMirror)
+                    menuStringArr.append(PDFViewMenuIdentifier_Edit_HorizontalMirror)
                     menuStringArr.append(PDFViewMenuIdentifier_Space)
                     menuStringArr.append(PDFViewMenuIdentifier_Edit_Crop)
                     menuStringArr.append(PDFViewMenuIdentifier_Edit_Replace)
@@ -6375,12 +6356,13 @@ extension KMMainViewController: CPDFViewDelegate,CPDFListViewDelegate {
                     }
                 }
             } else {
-                if(listView.isSupportPastMatchStyle()) {
-                    menuStringArr.append(PDFViewMenuIdentifier_Edit_Paste)
-                }
                 if(listView.isSupportPast()) {
                     menuStringArr.append(PDFViewMenuIdentifier_Edit_NoStylePaste)
                 }
+                if(listView.isSupportPastMatchStyle()) {
+                    menuStringArr.append(PDFViewMenuIdentifier_Edit_Paste)
+                }
+            
                 menuStringArr.append(PDFViewMenuIdentifier_Edit_SelectAll)
                 menuStringArr.append(PDFViewMenuIdentifier_Space)
                 menuStringArr.append(PDFViewMenuIdentifier_Edit_AddText)
@@ -6391,8 +6373,6 @@ extension KMMainViewController: CPDFViewDelegate,CPDFListViewDelegate {
                 menuStringArr.append(PDFViewMenuIdentifier_Space)
                 menuStringArr.append(PDFViewMenuIdentifier_Normal_ViewTools)
                 menuStringArr.append(PDFViewMenuIdentifier_Space)
-                menuStringArr.append(PDFViewMenuIdentifier_Normal_PageView)
-                menuStringArr.append(PDFViewMenuIdentifier_Space)
                 menuStringArr.append(PDFViewMenuIdentifier_Normal_Scale)
                 menuStringArr.append(PDFViewMenuIdentifier_Space)
                 menuStringArr.append(PDFViewMenuIdentifier_Normal_PageRotate)
@@ -6527,7 +6507,7 @@ extension KMMainViewController: CPDFViewDelegate,CPDFListViewDelegate {
     }
     
     func pdfListViewSyncSplitView() -> Bool {
-        return viewManager.splitShowBottomBar
+        return viewManager.splitSyncScroll
     }
     
     func pdfListViewEndEditMode(_ pdfListView: CPDFListView!) {
@@ -7445,7 +7425,7 @@ extension KMMainViewController: ComponentGroupDelegate {
         } else if(menuItemProperty?.identifier == PDFViewMenuIdentifier_Edit_FontZoomIn) {
             listView.zoomInEditTextFontSize()
         } else if(menuItemProperty?.identifier == PDFViewMenuIdentifier_Edit_FontZoomOut) {
-            listView.zoomInEditTextFontSize()
+            listView.zoomOutEditTextFontSize()
         } else if(menuItemProperty?.identifier == PDFViewMenuIdentifier_Edit_FontColor) {
             let colorPanel = NSColorPanel.shared
             colorPanel.setTarget(self)
@@ -7484,10 +7464,10 @@ extension KMMainViewController: ComponentGroupDelegate {
             listView.rightRotateAction()
             rightSideController?.reloadEditingAreas()
         } else if(menuItemProperty?.identifier == PDFViewMenuIdentifier_Edit_HorizontalMirror) {
-            listView.reverseYAction()
+            listView.reverseXAction()
             rightSideController?.reloadEditingAreas()
         } else if(menuItemProperty?.identifier == PDFViewMenuIdentifier_Edit_VerticalMirror) {
-            listView.reverseXAction()
+            listView.reverseYAction()
             rightSideController?.reloadEditingAreas()
         } else if(menuItemProperty?.identifier == PDFViewMenuIdentifier_Edit_Crop) {
             listView.cropAction()