|
@@ -116,7 +116,9 @@ class KMToolbarController: NSViewController {
|
|
|
mainToolBarView?.view.layer?.backgroundColor = NSColor.km_init(hex: "#F7F8FA").cgColor
|
|
|
mainToolBarBox.contentView = mainToolBarView?.view
|
|
|
mainToolBarView?.delegate = self
|
|
|
- mainToolBarView?.pdfView = self.listView!
|
|
|
+ if let data = self.listView {
|
|
|
+ mainToolBarView?.pdfView = data
|
|
|
+ }
|
|
|
|
|
|
childToolBarView = KMToolbarViewController.init()
|
|
|
childToolBarView?.view.wantsLayer = true
|
|
@@ -125,7 +127,9 @@ class KMToolbarController: NSViewController {
|
|
|
childToolBarView?.view.frame = childToolBarBox.frame
|
|
|
childToolBarView?.delegate = self
|
|
|
childToolBarView?.view.autoresizingMask = [.width, .height]
|
|
|
- childToolBarView?.pdfView = self.listView!
|
|
|
+ if let data = self.listView {
|
|
|
+ childToolBarView?.pdfView = data
|
|
|
+ }
|
|
|
|
|
|
toolbarType = .None
|
|
|
mainToolBarView?.toolbarType = .Main
|
|
@@ -243,14 +247,14 @@ class KMToolbarController: NSViewController {
|
|
|
}
|
|
|
|
|
|
var item: KMToolbarItemView?
|
|
|
- for (key, value) in self.mainToolBarView!.toolbarItems {
|
|
|
+ for (key, value) in self.mainToolBarView?.toolbarItems ?? [:] {
|
|
|
if (key == identifier) {
|
|
|
- item = (value as! KMToolbarItemView)
|
|
|
+ item = (value as? KMToolbarItemView)
|
|
|
break
|
|
|
}
|
|
|
}
|
|
|
// 主工具栏 item
|
|
|
- if (item != nil) {
|
|
|
+ if let data = item {
|
|
|
if (identifier == KMDocumentAnnotationToolbarItemIdentifier ||
|
|
|
identifier == KMDocumentPageToolbarItemIdentifier ||
|
|
|
identifier == KMDocumentConversonToolbarItemIdentifier ||
|
|
@@ -258,15 +262,15 @@ class KMToolbarController: NSViewController {
|
|
|
identifier == KMDocumentFormToolbarItemIdentifier ||
|
|
|
identifier == KMDocumentFillSginToolbarItemIdentifier ||
|
|
|
identifier == KMDocumentToolToolbarItemIdentifier) {
|
|
|
- self.mainToolBarView?.leftControllButtonAction(item: item!.clickButton)
|
|
|
+ self.mainToolBarView?.leftControllButtonAction(item: data.clickButton)
|
|
|
} else if (identifier == KMRightControlToolbarItemIdentifier) {
|
|
|
- self.mainToolBarView?.itemAction(item!)
|
|
|
+ self.mainToolBarView?.itemAction(data)
|
|
|
} else if (identifier == KMLeftControlToolbarItemIdentifier) {
|
|
|
- self.mainToolBarView?.itemAction(item!)
|
|
|
+ self.mainToolBarView?.itemAction(data)
|
|
|
} else if identifier == KMDocumentRedactToolbarItemIdentifier {
|
|
|
- self.mainToolBarView?.itemAction(item!)
|
|
|
+ self.mainToolBarView?.itemAction(data)
|
|
|
} else if identifier == KMDocumentScanOCRToolbarItemIdentifier {
|
|
|
- self.mainToolBarView?.itemAction(item!)
|
|
|
+ self.mainToolBarView?.itemAction(data)
|
|
|
}
|
|
|
|
|
|
return
|
|
@@ -276,10 +280,10 @@ class KMToolbarController: NSViewController {
|
|
|
private func trySelectChildItem(_ identifier: String) -> Bool {
|
|
|
// 子工具栏 item [当前主工具栏已开启]
|
|
|
var item: KMToolbarItemView?
|
|
|
- if (self.childToolBarView?.toolbarItems != nil && self.childToolBarView!.toolbarItems.count > 0) {
|
|
|
- for (key, value) in self.childToolBarView!.toolbarItems {
|
|
|
+ if let items = self.childToolBarView?.toolbarItems, items.count > 0 {
|
|
|
+ for (key, value) in items {
|
|
|
if (key == identifier) {
|
|
|
- item = (value as! KMToolbarItemView)
|
|
|
+ item = (value as? KMToolbarItemView)
|
|
|
break
|
|
|
}
|
|
|
}
|
|
@@ -295,26 +299,26 @@ class KMToolbarController: NSViewController {
|
|
|
private func selectChildItem(_ identifier: String) {
|
|
|
// 子工具栏 item [当前主工具栏已开启]
|
|
|
var item: KMToolbarItemView?
|
|
|
- if (self.childToolBarView?.toolbarItems != nil && self.childToolBarView!.toolbarItems.count > 0) {
|
|
|
- for (key, value) in self.childToolBarView!.toolbarItems {
|
|
|
+ if let items = self.childToolBarView?.toolbarItems, items.count > 0 {
|
|
|
+ for (key, value) in items {
|
|
|
if (key == identifier) {
|
|
|
- item = (value as! KMToolbarItemView)
|
|
|
+ item = (value as? KMToolbarItemView)
|
|
|
break
|
|
|
}
|
|
|
}
|
|
|
// 子工具栏[找到]
|
|
|
- if (item != nil) {
|
|
|
+ if let data = item {
|
|
|
if (identifier == KMToolbarMoveToolModeItemIdentifier ||
|
|
|
identifier == KMToolbarMagnifyToolModeItemIdentifier ||
|
|
|
identifier == KMToolbarSelectToolModeItemIdentifier ||
|
|
|
identifier == KMToolbarZoomToSelectionItemIdentifier) {
|
|
|
- self.childToolBarView?.leftControllButtonAction(item: item!.clickButton)
|
|
|
+ self.childToolBarView?.leftControllButtonAction(item: data.clickButton)
|
|
|
} else if identifier == KMToolbarViewSettingIdentifier ||
|
|
|
identifier == KMAnnotationImageToolbarItemIdentifier ||
|
|
|
identifier == KMAnnotationTableToolbarItemIdentifier {
|
|
|
- self.childToolBarView?.itemAction(item!)
|
|
|
+ self.childToolBarView?.itemAction(data)
|
|
|
} else {
|
|
|
- self.childToolBarView?.changeAnnotationMode(item: item!.clickButton)
|
|
|
+ self.childToolBarView?.changeAnnotationMode(item: data.clickButton)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -327,9 +331,9 @@ class KMToolbarController: NSViewController {
|
|
|
|
|
|
var item: KMToolbarItemView?
|
|
|
if (isMainToolItem(identifier)) {
|
|
|
- for (key, value) in self.mainToolBarView!.toolbarItems {
|
|
|
+ for (key, value) in self.mainToolBarView?.toolbarItems ?? [:] {
|
|
|
if (key == identifier) {
|
|
|
- item = (value as! KMToolbarItemView)
|
|
|
+ item = (value as? KMToolbarItemView)
|
|
|
break
|
|
|
}
|
|
|
}
|
|
@@ -344,9 +348,9 @@ class KMToolbarController: NSViewController {
|
|
|
}
|
|
|
|
|
|
var item: KMToolbarItemView?
|
|
|
- for (key, value) in self.childToolBarView!.toolbarItems {
|
|
|
+ for (key, value) in self.childToolBarView?.toolbarItems ?? [:] {
|
|
|
if (key == identifier) {
|
|
|
- item = (value as! KMToolbarItemView)
|
|
|
+ item = (value as? KMToolbarItemView)
|
|
|
break
|
|
|
}
|
|
|
}
|
|
@@ -354,8 +358,10 @@ class KMToolbarController: NSViewController {
|
|
|
}
|
|
|
|
|
|
func exitPageEdit() -> Void {
|
|
|
- resetToolbarViewController(mainToolBarView!)
|
|
|
- exitPageEditToolbarViewController(mainToolBarView!)
|
|
|
+ if let data = self.mainToolBarView {
|
|
|
+ resetToolbarViewController(data)
|
|
|
+ exitPageEditToolbarViewController(data)
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
func exitTextEdit() -> Void {
|
|
@@ -370,7 +376,7 @@ class KMToolbarController: NSViewController {
|
|
|
self.toolbarType = .None
|
|
|
|
|
|
let topBarView = KMWatermarkAdjectiveTopBarView()
|
|
|
- topBarView.frame = (self.mainToolBarView?.toolbar.bounds)!
|
|
|
+ topBarView.frame = (self.mainToolBarView?.toolbar.bounds) ?? .zero
|
|
|
self.mainToolBarView?.toolbar.addSubview(topBarView)
|
|
|
topBarView.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
|
|
|
topBarView.wantsLayer = true
|
|
@@ -392,19 +398,16 @@ class KMToolbarController: NSViewController {
|
|
|
|
|
|
topBarView.initItemData(itemArrays: itemModels)
|
|
|
|
|
|
- topBarView.cancelClick = {
|
|
|
- [unowned self] in
|
|
|
- self.delegate?.clickChildTool!(type: type, index: 1)
|
|
|
+ topBarView.cancelClick = { [unowned self] in
|
|
|
+ self.delegate?.clickChildTool?(type: type, index: 1)
|
|
|
}
|
|
|
|
|
|
- topBarView.applyClick = {
|
|
|
- [unowned self] in
|
|
|
- self.delegate?.clickChildTool!(type: type, index: 2)
|
|
|
+ topBarView.applyClick = { [unowned self] in
|
|
|
+ self.delegate?.clickChildTool?(type: type, index: 2)
|
|
|
}
|
|
|
|
|
|
- topBarView.itemClick = {
|
|
|
- [unowned self] (section: Int, item: Int) -> () in
|
|
|
- self.delegate?.clickChildTool!(type: type, index: 3+item)
|
|
|
+ topBarView.itemClick = { [unowned self] section,item in
|
|
|
+ self.delegate?.clickChildTool?(type: type, index: 3+item)
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -437,17 +440,17 @@ class KMToolbarController: NSViewController {
|
|
|
self.toolbarType = .None
|
|
|
|
|
|
let topBarView = KMRedactTopToolBar()
|
|
|
- topBarView.frame = (self.mainToolBarView?.toolbar.bounds)!
|
|
|
+ topBarView.frame = (self.mainToolBarView?.toolbar.bounds) ?? .zero
|
|
|
self.mainToolBarView?.toolbar.addSubview(topBarView)
|
|
|
- topBarView.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
|
|
|
+ topBarView.autoresizingMask = [.width, .height]
|
|
|
topBarView.wantsLayer = true
|
|
|
topBarView.layer?.backgroundColor = NSColor.white.cgColor
|
|
|
|
|
|
topBarView.selectItem(0)
|
|
|
- self.delegate?.clickChildTool!(type: .redact, index: 4)
|
|
|
+ self.delegate?.clickChildTool?(type: .redact, index: 4)
|
|
|
|
|
|
topBarView.itemClick = { [weak self] index in
|
|
|
- self!.delegate?.clickChildTool!(type: .redact, index: index)
|
|
|
+ self?.delegate?.clickChildTool?(type: .redact, index: index)
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -490,17 +493,17 @@ class KMToolbarController: NSViewController {
|
|
|
|
|
|
@objc func cropItemAction(sender: NSMenuItem) {
|
|
|
if (sender.tag == 0) { /// 裁剪当前页面
|
|
|
- self.delegate?.clickChildTool!(type: .crop, index: 1)
|
|
|
+ self.delegate?.clickChildTool?(type: .crop, index: 1)
|
|
|
return
|
|
|
}
|
|
|
|
|
|
if (sender.tag == 1) { /// 裁剪所有页面
|
|
|
- self.delegate?.clickChildTool!(type: .crop, index: 2)
|
|
|
+ self.delegate?.clickChildTool?(type: .crop, index: 2)
|
|
|
return
|
|
|
}
|
|
|
|
|
|
/// 自定义裁剪区域
|
|
|
- self.delegate?.clickChildTool!(type: .crop, index: 3)
|
|
|
+ self.delegate?.clickChildTool?(type: .crop, index: 3)
|
|
|
}
|
|
|
|
|
|
@objc func secureItemAction(sender: NSMenuItem) {
|
|
@@ -522,34 +525,39 @@ class KMToolbarController: NSViewController {
|
|
|
//MARK: Find Search
|
|
|
extension KMToolbarController {
|
|
|
func showFindBar() {
|
|
|
- print("showFindBar")
|
|
|
var height: Float = self.fetchHeight(type: _toolbarType)
|
|
|
self.delegate?.toolbarController?(self, heightOffsetChange: height)
|
|
|
|
|
|
self.findSearchView.findField.becomeFirstResponder()
|
|
|
self.findSearchView.doneAction = { [unowned self] view in
|
|
|
- print("doneAction")
|
|
|
self.exitFindBar()
|
|
|
}
|
|
|
|
|
|
- self.findSearchView.searchAction = { view, searchString, forward in
|
|
|
- print("searchAction")
|
|
|
- self.toolbarViewController(self.mainToolBarView!, searchAction: searchString, forward: forward)
|
|
|
+ self.findSearchView.searchAction = { [weak self] view, searchString, forward in
|
|
|
+ if let data = self?.mainToolBarView {
|
|
|
+ self?.toolbarViewController(data, searchAction: searchString, forward: forward)
|
|
|
+ }
|
|
|
return true
|
|
|
}
|
|
|
|
|
|
self.findSearchView.showAllAction = { [unowned self] view, searchString, forward in
|
|
|
- self.toolbarViewController(self.mainToolBarView!, searchAllAction: searchString, forward: forward)
|
|
|
- print("showAllAction: \(searchString)")
|
|
|
+ if let data = self.mainToolBarView {
|
|
|
+ self.toolbarViewController(data, searchAllAction: searchString, forward: forward)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
func showFindString(forward: Bool) {
|
|
|
- self.toolbarViewController(self.mainToolBarView!, searchAction: self.findSearchView.findString ?? "", forward: forward)
|
|
|
+ if let data = self.mainToolBarView {
|
|
|
+ self.toolbarViewController(data, searchAction: self.findSearchView.findString ?? "", forward: forward)
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
func showAllAction() {
|
|
|
- self.toolbarViewController(self.mainToolBarView!, searchAllAction: self.findSearchView.findString ?? "", forward: true)
|
|
|
+ if let data = self.mainToolBarView {
|
|
|
+ self.toolbarViewController(data, searchAllAction: self.findSearchView.findString ?? "", forward: true)
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
func exitFindBar() {
|
|
@@ -606,14 +614,14 @@ extension KMToolbarController: KMToolbarViewControllerDelegate {
|
|
|
//文字编辑 图片编辑 选中按钮逻辑(只能同时选中其中一个)
|
|
|
if type == .addText || type == .addImage {
|
|
|
let boxItem = item.clickObject as? KMToolbarItemView
|
|
|
- if boxItem != nil {
|
|
|
- if self.lastChildItemBox != boxItem {
|
|
|
+ if let data = boxItem {
|
|
|
+ if self.lastChildItemBox != data {
|
|
|
self.lastChildItemBox.isSelected = false
|
|
|
- boxItem!.isSelected = true
|
|
|
+ data.isSelected = true
|
|
|
} else {
|
|
|
- boxItem!.isSelected = !boxItem!.isSelected
|
|
|
+ data.isSelected = !data.isSelected
|
|
|
}
|
|
|
- self.lastChildItemBox = boxItem!
|
|
|
+ self.lastChildItemBox = data
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -655,9 +663,10 @@ extension KMToolbarController: KMToolbarViewControllerDelegate {
|
|
|
}
|
|
|
} else {
|
|
|
if(toolMode != self.toolbarType && toolMode != .LeftPanel) {
|
|
|
- let item : KMToolbarItemView = (self.mainToolBarView?.toolbarItemFindItemIdentifiers(value: KMDocumentAnnotationToolbarItemIdentifier))!
|
|
|
- item.isSelected = true
|
|
|
- self.lastItemBox = item
|
|
|
+ if let item : KMToolbarItemView = (self.mainToolBarView?.toolbarItemFindItemIdentifiers(value: KMDocumentAnnotationToolbarItemIdentifier)) {
|
|
|
+ item.isSelected = true
|
|
|
+ self.lastItemBox = item
|
|
|
+ }
|
|
|
} else if (toolMode == .LeftPanel) {
|
|
|
if(toolMode == self.toolbarType) {
|
|
|
toolbarItem.isSelected = false
|
|
@@ -693,9 +702,9 @@ extension KMToolbarController: KMToolbarViewControllerDelegate {
|
|
|
|
|
|
if downEntered {
|
|
|
if (count == titles.first) {
|
|
|
- self!.delegate?.clickChildTool?(type: .crop, index: 1)
|
|
|
+ self?.delegate?.clickChildTool?(type: .crop, index: 1)
|
|
|
} else {
|
|
|
- self!.delegate?.clickChildTool?(type: .crop, index: 2)
|
|
|
+ self?.delegate?.clickChildTool?(type: .crop, index: 2)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -724,9 +733,9 @@ extension KMToolbarController: KMToolbarViewControllerDelegate {
|
|
|
vc.downCallback = { [weak self] (downEntered: Bool, count: String) -> Void in
|
|
|
if downEntered {
|
|
|
if (count == titles.first) {
|
|
|
- self!.delegate?.clickChildTool?(type: .secure, index: 1)
|
|
|
+ self?.delegate?.clickChildTool?(type: .secure, index: 1)
|
|
|
} else {
|
|
|
- self!.delegate?.clickChildTool?(type: .secure, index: 2)
|
|
|
+ self?.delegate?.clickChildTool?(type: .secure, index: 2)
|
|
|
}
|
|
|
}
|
|
|
}
|