Explorar el Código

【fix】内容编辑 裁剪图片,是否要支持按Enter键完成裁剪

tangchao hace 8 meses
padre
commit
9199be7c58

+ 12 - 3
PDF Office/PDF Master/AppDelegate.swift

@@ -333,13 +333,22 @@ class AppDelegate: NSObject, NSApplicationDelegate, iRateDelegate{
             return
         }
         
-        let windowControler = NSApp.mainWindow?.windowController as! KMBrowserWindowController
-        if let data = windowControler.browser, data.tabCount() >= 2 { // 有两个以上的标签
+        let windowControler = NSApp.mainWindow?.windowController as? KMBrowserWindowController
+        if let data = windowControler?.browser, data.tabCount() >= 2 { // 有两个以上的标签
             if data.activeTabIndex() == 0 { // 主页不允许关闭,暂时处理为无反应
                 return
             }
         }
-        windowControler.browser.closeTab()
+        
+        if let browser = windowControler?.browser {
+            if browser.tabCount() == 1 {
+                windowControler?.window?.close()
+            } else {
+                browser.closeTab()
+            }
+        } else {
+            windowControler?.window?.close()
+        }
     }
     
     func applicationShouldOpenUntitledFile(_ sender: NSApplication) -> Bool {

+ 20 - 0
PDF Office/PDF Master/Class/Common/Category/CPDFKit/CPDFView+KMExtension.swift

@@ -28,6 +28,26 @@ import Foundation
     }
 }
 
+// MARK: - Edit
+@objc extension CPDFView {
+    var isCropMode: Bool {
+        let areas = self.editingAreas() as? [CPDFEditArea] ?? []
+        if areas.isEmpty {
+            return false
+        }
+        var isCroping = false
+        for area in areas {
+            if let data = area as? CPDFEditImageArea {
+                isCroping = data.isCropMode
+            }
+            if isCroping {
+                return true
+            }
+        }
+        return isCroping
+    }
+}
+
 @objc extension CPDFListView {
     @objc func addTextField(subType: KMSelfSignAnnotationFreeTextSubType, string: String) {
 //        NSPoint center = [self convertPoint:[[self window] mouseLocationOutsideOfEventStream] fromView:nil];

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

@@ -996,6 +996,8 @@ extension KMEditPDfHanddler {
         }
         
         self.rightViewC?.eidtPDFImageProperty.updateButtonState(hidden: false)
+        
+        self.viewC?.view.window?.makeFirstResponder(self.listView)
     }
     
     func cropCancelAction() {

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

@@ -1182,6 +1182,11 @@ extension KMMainViewController: CPDFViewDelegate,CPDFListViewDelegate {
             } else if control && theEvent.keyCode == 34 { // ctr +i
                 self.editPDFHanddler.fontItalicAction()
                 return false
+            } else if theEvent.keyCode == 36 { // enter
+                if self.listView.isCropMode {
+                    self.editPDFHanddler.cropComfirmAction()
+                    return false
+                }
             }
         }