Browse Source

【2025】【综合】
1、界面事件传递完善
2、弹窗位置调整

niehaoyu 1 month ago
parent
commit
a060d3a36d

+ 47 - 15
PDF Office/PDF Master/KMClass/KMPDFViewController/KMMainViewController.swift

@@ -177,6 +177,7 @@ struct KMNMWCFlags {
     private var _documentFirstLoad: Bool = true
     
     var eventMonitor: Any?
+    var keyEventMonitor: Any?
     var mouseRightMenuEvent: NSEvent?
     
     lazy private var homeVC: KMNHomeViewController? = {
@@ -278,6 +279,9 @@ struct KMNMWCFlags {
         reloadPopUIWindow()
         
         addEventMonitor()
+        
+        addKeyEventMonitor()
+        
     }
     
     override func viewDidDisappear() {
@@ -3882,7 +3886,7 @@ extension KMMainViewController: KMPDFToolbarControllerDelegate {
             
             if viewManager.subToolMode == .None {
                 viewManager.showRightSide = false
-            } else {
+            } else if SettingsManager.sharedInstance.autoExpandPropertyPanel == true {
                 viewManager.showRightSide = true
             }
             self.refreshToolbarRightViewInfo()
@@ -3937,7 +3941,7 @@ extension KMMainViewController: KMPDFToolbarControllerDelegate {
             
             if viewManager.subToolMode == .None {
                 viewManager.showRightSide = false
-            } else {
+            } else if SettingsManager.sharedInstance.autoExpandPropertyPanel == true {
                 viewManager.showRightSide = true
             }
             self.refreshToolbarRightViewInfo()
@@ -4009,7 +4013,7 @@ extension KMMainViewController: KMPDFToolbarControllerDelegate {
             
             if viewManager.subToolMode == .None {
                 viewManager.showRightSide = false
-            } else {
+            } else if SettingsManager.sharedInstance.autoExpandPropertyPanel == true {
                 viewManager.showRightSide = true
             }
             self.refreshToolbarRightViewInfo()
@@ -4118,7 +4122,7 @@ extension KMMainViewController: KMPDFToolbarControllerDelegate {
             
             if viewManager.subToolMode == .None {
                 viewManager.showRightSide = false
-            } else {
+            } else if SettingsManager.sharedInstance.autoExpandPropertyPanel == true {
                 viewManager.showRightSide = true
             }
             self.refreshToolbarRightViewInfo()
@@ -4966,7 +4970,7 @@ extension KMMainViewController: CPDFViewDelegate,CPDFListViewDelegate {
         }
         
         if let areas = pdfView.editingAreas(), areas.count > 0 {
-            if viewManager.showRightSide == false {
+            if viewManager.showRightSide == false && SettingsManager.sharedInstance.autoExpandPropertyPanel == true {
                 viewManager.showRightSide = true
                 self.refreshToolbarRightViewInfo()
             }
@@ -5335,7 +5339,9 @@ extension KMMainViewController: CPDFViewDelegate,CPDFListViewDelegate {
                 if isMultiAnnotations == true {
                     viewManager.showRightSide = false
                 } else {
-                    viewManager.showRightSide = true
+                    if SettingsManager.sharedInstance.autoExpandPropertyPanel == true {
+                        viewManager.showRightSide = true
+                    }
                 }
                 refreshToolbarRightViewInfo()
             }
@@ -6191,15 +6197,6 @@ extension KMMainViewController: CPDFViewDelegate,CPDFListViewDelegate {
         }
     }
     
-    //MARK: - Mouse Event
-    override func mouseMoved(with event: NSEvent) {
-        self.view.window?.mouseMoved(with: event)
-    }
-    
-    override func keyDown(with event: NSEvent) {
-        listView.keyDown(with: event)
-         
-    }
     
 }
 
@@ -7562,6 +7559,41 @@ extension KMMainViewController {
         }
     }
     
+    func addKeyEventMonitor() {
+        if (self.keyEventMonitor != nil) {
+            self.removeKeyEventMonitor()
+        }
+        keyEventMonitor = NSEvent.addLocalMonitorForEvents(matching: .keyDown) { [weak self] event in
+            if event.keyCode == 53 {
+                if self?.listView.annotationType == .freeText {
+                    self?.listView.keyDown(with: event)
+                }
+            } else {
+                
+            }
+            return event
+        }
+    }
+    
+    func removeKeyEventMonitor() {
+        if (self.keyEventMonitor != nil) {
+            KMPrint("removeKeyEventMonitor 已移除事件监听")
+            
+            NSEvent.removeMonitor(self.keyEventMonitor as Any)
+            self.keyEventMonitor = nil
+        }
+    }
+    
+    //MARK: - Mouse Event
+    override func mouseMoved(with event: NSEvent) {
+        self.view.window?.mouseMoved(with: event)
+    }
+    
+    override func keyDown(with event: NSEvent) {
+        listView.keyDown(with: event)
+         
+    }
+    
     // MARK: - Tools
     
     func pdfViewCanHorizontalScroll() -> Bool {

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

@@ -420,7 +420,7 @@ class KMEditImageController: NSViewController {
         groupView?.frame = CGRectMake(0, 0, extractButton.frame.size.width, 36*3+8)
         groupView.updateGroupInfo(menuItemArr)
         if let point: CGPoint = extractButton.superview?.convert(extractButton.frame.origin, to: self.view.window?.contentView) {
-            groupView.showWithPoint(CGPoint(x: point.x, y: point.y - CGRectGetHeight(groupView.frame)-4), relativeTo: self.view)
+            groupView.showWithPoint(CGPoint(x: point.x, y: point.y - CGRectGetHeight(groupView.frame)-4), relativeTo: nil)
         }
     }
     

+ 1 - 6
PDF Office/PDF Master/KMClass/KMPDFViewController/SideBar/KMPDFSideBarController.swift

@@ -200,14 +200,9 @@ class KMPDFSideBarController: NSViewController {
         items.append(nextProperty)
         
         firstPageProperty.righticon = firstPage_show ? NSImage(named: "tick_Green") : nil
-        
         lastPageProperty.righticon = lastPage_show ? NSImage(named: "tick_Green") : nil
-        
         previouseProperty.righticon = previous_show ? NSImage(named: "tick_Green") : nil
-        
         nextProperty.righticon = next_show ? NSImage(named: "tick_Green") : nil
-  
-
         
         var viewHeight: CGFloat = 8.0
         for item in items {
@@ -228,7 +223,7 @@ class KMPDFSideBarController: NSViewController {
         groupView?.frame = CGRectMake(0, 0, 160, viewHeight)
         groupView?.reloadData()
         groupView.groupDelegate = self
-        groupView.showWithPoint(point, relativeTo: self.contendBox)
+        groupView.showWithPoint(point, relativeTo: nil)
         groupView?.updateGroupInfo(items)
          
     }