Преглед изворни кода

【fix】【内容编辑】在悬浮菜单选中对齐方式后,一级菜单的对齐方式icon需要变成选中状态

TangChao пре 7 месеци
родитељ
комит
25e2fd0afc

+ 14 - 1
PDF Office/PDF Master/Class/PDFTools/EditPDF/Controller/KMEditPDFPopToolBarController.swift

@@ -217,6 +217,10 @@ class KMEditPDFPopToolBarController: NSViewController {
     @objc func textAlignmentItemClick(_ sender: NSButton) {
         self._trackEvent(key: .textAlignment)
         
+        let itemView = (self.toolbarView?.itemViews.safe_element(for: sender.tag) as? KMEditPDFToolbarItemView)
+        let viewC = (itemView?.obj as? KMDesignButton)
+        viewC?.state = .Act
+        
         let vc = KMTextAlignmentController(nibName: "KMTextAlignmentController", bundle: nil)
         let createFilePopover: NSPopover = NSPopover.init()
         createFilePopover.contentViewController = vc
@@ -229,6 +233,8 @@ class KMEditPDFPopToolBarController: NSViewController {
         self.popover_ = createFilePopover
         
         vc.itemAction = { [weak self] idx, _ in
+            viewC?.state = .Norm
+            
             var data: NSTextAlignment = .left
             if idx == 0 {
                 data = .left
@@ -242,7 +248,14 @@ class KMEditPDFPopToolBarController: NSViewController {
             
             let model = self?.datas.safe_element(for: sender.tag) as? KMEditPDFToolbarModel
             model?.textAlign = data
-            self?.toolbarView?.reloadData()
+//            self?.toolbarView?.reloadData()
+            if data == .left {
+                viewC?.image = NSImage(named: "KMImageNameEditPDFAlignLeftSelect")!
+            } else if data == .center {
+                viewC?.image = NSImage(named: "KMImageNameEditPDFAlignCenterSelect")!
+            } else if data == .right {
+                viewC?.image = NSImage(named: "KMImageNameEditPDFAlignRightSelect")!
+            }
         }
     }
     

+ 4 - 1
PDF Office/PDF Master/Class/PDFTools/EditPDF/Tools/KMEditPDfHanddler.swift

@@ -22,6 +22,7 @@ class KMEditPDfHanddler: NSObject {
     // 正在新增文本块
     var addTextAreaing = false
     var fontSizeChanging = false
+    var textAlignChanging = false
     
     weak var listView: CPDFListView? {
         get {
@@ -1001,9 +1002,11 @@ extension KMEditPDfHanddler {
     
     func textAlignmentAction(align: NSTextAlignment) {
         let areas = self.editingTextAreas
+        self.textAlignChanging = true
         for area in areas {
             self.listView?.setCurrentSelectionAlignment(align, with: area)
         }
+        self.textAlignChanging = false
         self._reloadData_right_text()
     }
     
@@ -1723,7 +1726,7 @@ extension KMEditPDfHanddler: CPDFViewDelegate {
 //            self.rightViewC?.eidtPDFTextProperty.reloadData()
 //            self.rightViewC?.eidtPDFTextProperty.updateTextTextPresuppositionState()
             
-            if self.addTextAreaing == false && self.fontSizeChanging == false {
+            if self.addTextAreaing == false && self.fontSizeChanging == false && self.textAlignChanging == false {
                 self.showPopWindow(positionRect: .zero, showGuide: false)
                 self._reloadData_right_text()
             }

+ 2 - 2
PDF Office/PDF Master/Class/PDFTools/EditPDF/Window/KMEditPDFPopToolBarWindow.swift

@@ -105,7 +105,7 @@ import Cocoa
                             if let data = self._fetchTextAlign() {
                                 model.textAlign = data
                             }
-                            model.isSelected = true
+//                            model.isSelected = true
                         }
                         datas.append(model)
                     }
@@ -142,7 +142,7 @@ import Cocoa
                             if let data = self._fetchTextAlign() {
                                 model.textAlign = data
                             }
-                            model.isSelected = true
+//                            model.isSelected = true
                         }
                         datas.append(model)
                     }