Browse Source

【2025】【PDFView】右键菜单切换模式时未变化问题处理

dinglingui 3 weeks ago
parent
commit
ae6bc61027

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

@@ -3174,6 +3174,10 @@ struct KMNMWCFlags {
     
     //MARK: - 添加书签
     @objc func menuItemBookMarkClick_add(sender:NSMenuItem?) {
+        toggleOpenLeftSide(pdfSideBarType: .bookmark)
+        viewManager.pdfSideBarType = .bookmark
+        sideBarController?.reloadData()
+        
         if self.listView.document?.bookmark(forPageIndex: UInt(self.listView.currentPageIndex)) == nil {
             let index = self.listView.currentPageIndex
             self.listView.document?.addBookmark("\(KMLocalizedString("Page", comment: "")) \(index+1)", forPageIndex: UInt(index))
@@ -6921,21 +6925,37 @@ extension KMMainViewController: ComponentGroupDelegate {
             listView.annotationType = .unkown
             viewManager.viewToolsType = .Scroll
             pdfToolbarController?.reloadToolsView()
+            
+            pdfToolbarController?.viewManager?.toolMode = .None
+            pdfToolbarController?.viewManager?.subToolMode = .None
+            refreshToolbarViewHeightInfo()
         } else if(menuItemProperty?.identifier == PDFViewMenuIdentifier_Normal_SelectTool) {
             listView.toolMode = .CSelectToolMode
             listView.annotationType = .unkown
             viewManager.viewToolsType = .Content_Selection
             pdfToolbarController?.reloadToolsView()
+            
+            pdfToolbarController?.viewManager?.toolMode = .None
+            pdfToolbarController?.viewManager?.subToolMode = .None
+            refreshToolbarViewHeightInfo()
         } else if(menuItemProperty?.identifier == PDFViewMenuIdentifier_Normal_MagnifyTool) {
             listView.toolMode = .CMagnifyToolMode
             listView.annotationType = .unkown
             viewManager.viewToolsType = .Magnify
             pdfToolbarController?.reloadToolsView()
+            
+            pdfToolbarController?.viewManager?.toolMode = .None
+            pdfToolbarController?.viewManager?.subToolMode = .None
+            refreshToolbarViewHeightInfo()
         } else if(menuItemProperty?.identifier == PDFViewMenuIdentifier_Normal_SelectZoomTool) {
             listView.toolMode = .CSelectZoomToolMode
             listView.annotationType = .unkown
             viewManager.viewToolsType = .AreaZoom
             pdfToolbarController?.reloadToolsView()
+            
+            pdfToolbarController?.viewManager?.toolMode = .None
+            pdfToolbarController?.viewManager?.subToolMode = .None
+            refreshToolbarViewHeightInfo()
         } else if(menuItemProperty?.identifier == PDFViewMenuIdentifier_Normal_Single) {
             if let objectListView = menuItemProperty?.representedObject as? CPDFListView {
                 objectListView.menuItemClick_SinglePage(nil)