|
@@ -7,10 +7,18 @@
|
|
|
|
|
|
import Cocoa
|
|
|
|
|
|
+@objc enum KMRightSideLastState: Int {
|
|
|
+ case none = 0
|
|
|
+ case open = 1
|
|
|
+ case close = 2
|
|
|
+}
|
|
|
+
|
|
|
// EditPDF处理对象
|
|
|
class KMEditPDfHanddler: NSObject {
|
|
|
weak var viewC: KMMainViewController?
|
|
|
|
|
|
+ static let kRightSideLastStateKey = "KMRightSideLastStateKey"
|
|
|
+
|
|
|
weak var listView: CPDFListView? {
|
|
|
get {
|
|
|
return self.viewC?.listView
|
|
@@ -65,7 +73,31 @@ class KMEditPDfHanddler: NSObject {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ var rightSideLastState: KMRightSideLastState {
|
|
|
+ get {
|
|
|
+ let state = KMDataManager.ud_integer(forKey: Self.kRightSideLastStateKey)
|
|
|
+ return KMRightSideLastState(rawValue: state) ?? .none
|
|
|
+ }
|
|
|
+ set {
|
|
|
+ KMDataManager.ud_set(newValue.rawValue, forKey: Self.kRightSideLastStateKey)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
func enterEditPDF() {
|
|
|
+ let toolMode = self.listView?.toolMode ?? .none
|
|
|
+ if toolMode != .editPDFToolMode { // 退出
|
|
|
+ self.listView?.updateActiveAnnotations([])
|
|
|
+ self.listView?.setNeedsDisplayForVisiblePages()
|
|
|
+ self.listView?.commitEditFormText()
|
|
|
+ self.closeRightPane()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if self.rightSideLastState == .open {
|
|
|
+ self.openRightPane()
|
|
|
+ } else {
|
|
|
+ self.closeRightPane()
|
|
|
+ }
|
|
|
+
|
|
|
self.listView?.updateActiveAnnotations([])
|
|
|
self.listView?.setNeedsDisplayForVisiblePages()
|
|
|
self.listView?.commitEditFormText()
|
|
@@ -86,7 +118,7 @@ class KMEditPDfHanddler: NSObject {
|
|
|
// 边框宽度
|
|
|
// self.editingConfig?.mouseHoverBorderWidth = 1
|
|
|
// 边框颜色
|
|
|
- self.editingConfig?.mouseHoverBorderColor = .purple
|
|
|
+ self.editingConfig?.mouseHoverBorderColor = NSColor(hex: "#999999")
|
|
|
// 边框虚线设置
|
|
|
self.editingConfig?.mouseHoverBorderDashPattern = [3,3,3]
|
|
|
// 块填充颜色(拖拽中)
|
|
@@ -101,6 +133,18 @@ class KMEditPDfHanddler: NSObject {
|
|
|
self.editingConfig?.isDrawRectWithDot = true
|
|
|
}
|
|
|
|
|
|
+ func openRightPane() {
|
|
|
+ let state = self.rightSideLastState
|
|
|
+ if state == .none || state == .open {
|
|
|
+ self.viewC?.openRightPane()
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ func closeRightPane() {
|
|
|
+ self.rightViewC?.isHidden = true
|
|
|
+ self.viewC?.closeRightPane()
|
|
|
+ }
|
|
|
+
|
|
|
func fontColorAction(color: NSColor?) {
|
|
|
guard let theColor = color else {
|
|
|
return
|
|
@@ -758,7 +802,8 @@ extension KMEditPDfHanddler: CPDFViewDelegate {
|
|
|
// self.openRightPane()
|
|
|
}
|
|
|
} else {
|
|
|
- self.viewC?.closeRightPane()
|
|
|
+// self.viewC?.closeRightPane()
|
|
|
+ self.rightViewC?.isHidden = true
|
|
|
}
|
|
|
} else {
|
|
|
self.rightViewC?.isHidden = true
|
|
@@ -785,10 +830,10 @@ extension KMEditPDfHanddler: CPDFViewDelegate {
|
|
|
self.rightViewC?.subViewType = .EditPDFAddImage
|
|
|
self.rightViewC?.eidtPDFImageProperty.reloadData()
|
|
|
}
|
|
|
- self.viewC?.openRightPane()
|
|
|
+ self.openRightPane()
|
|
|
} else {
|
|
|
self.rightViewC?.isHidden = true
|
|
|
- self.viewC?.closeRightPane()
|
|
|
+// self.viewC?.closeRightPane()
|
|
|
}
|
|
|
} else if self.subViewType == .EditPDFAddText && annotationType == .addText {
|
|
|
self.rightViewC?.isHidden = false
|
|
@@ -798,7 +843,7 @@ extension KMEditPDfHanddler: CPDFViewDelegate {
|
|
|
} else {
|
|
|
self.rightViewC?.eidtPDFTextProperty.refreshSelectAreaProperty(needDefaultData: true)
|
|
|
}
|
|
|
- self.viewC?.openRightPane()
|
|
|
+ self.openRightPane()
|
|
|
} else {
|
|
|
var textsAreas : [CPDFEditTextArea] = []
|
|
|
var imagesAreas : [CPDFEditImageArea] = []
|
|
@@ -818,12 +863,12 @@ extension KMEditPDfHanddler: CPDFViewDelegate {
|
|
|
self.rightViewC?.isHidden = false
|
|
|
self.rightViewC?.subViewType = .EditPDFAddText
|
|
|
self.rightViewC?.eidtPDFTextProperty?.reloadData()
|
|
|
- self.viewC?.openRightPane()
|
|
|
+ self.openRightPane()
|
|
|
} else if imagesAreas.count > 0 {
|
|
|
self.rightViewC?.isHidden = false
|
|
|
self.rightViewC?.subViewType = .EditPDFAddImage
|
|
|
self.rightViewC?.eidtPDFImageProperty?.reloadData()
|
|
|
- self.viewC?.openRightPane()
|
|
|
+ self.openRightPane()
|
|
|
}
|
|
|
}
|
|
|
|