|
@@ -67,29 +67,17 @@ import KMComponentLibrary
|
|
|
var backgroundViewController: KMBackgroundController?
|
|
|
//Header&Footer
|
|
|
var headerFooterViewController: KMHeaderFooterController?
|
|
|
+ //Bates
|
|
|
+ var batesViewController: KMBatesController?
|
|
|
|
|
|
//左边
|
|
|
var botaViewController: KMNLeftSideViewController?
|
|
|
|
|
|
//MARK: - 旧代码,有需要用到的拿出来,写好备注
|
|
|
- @IBOutlet var PDFContendView: NSView!
|
|
|
- @IBOutlet var centerContentView: NSView!
|
|
|
|
|
|
- @IBOutlet weak var readContentView: NSView!
|
|
|
- @IBOutlet weak var tipCurrentPageBox: KMBox!
|
|
|
- @IBOutlet weak var rightView: NSView!
|
|
|
+ @IBOutlet weak var rightView: NSView!
|
|
|
@IBOutlet weak var leftView: NSView!
|
|
|
- @IBOutlet weak var mianSplitView: KMSplitView!
|
|
|
- @IBOutlet weak var newPDFSplitView: KMSplitView!
|
|
|
- @IBOutlet weak var pdfContentView: NSView!
|
|
|
-
|
|
|
- @IBOutlet var childToolbarController: KMToolbarViewController!
|
|
|
- @IBOutlet var toolbarController: KMToolbarController!
|
|
|
- @IBOutlet weak var heightOffset: NSLayoutConstraint!
|
|
|
-
|
|
|
- //页码显示器
|
|
|
- @IBOutlet weak var pageNumberDisplayView: KMPageNumberDisplayView!
|
|
|
-
|
|
|
+
|
|
|
var model = KMMainModel()
|
|
|
|
|
|
//自动滚动
|
|
@@ -106,15 +94,11 @@ import KMComponentLibrary
|
|
|
//对比
|
|
|
var isCompareModel: Bool = false {
|
|
|
didSet {
|
|
|
- self.toolbarController.updataItemVisible()
|
|
|
- }
|
|
|
+ }
|
|
|
}
|
|
|
//合并
|
|
|
var mergeWindowController: KMMergeWindowController?
|
|
|
- //水印
|
|
|
- var watermarkWindowController: KMWatermarkWindowController?
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
//密码弹窗
|
|
|
var passwordWindow: KMPasswordInputWindow?
|
|
|
//对比
|
|
@@ -185,9 +169,7 @@ import KMComponentLibrary
|
|
|
|
|
|
var pageNumber: UInt?
|
|
|
|
|
|
- var secondaryPdfContentView: NSView?
|
|
|
- var lastSplitPDFHeight: Float = 0.0
|
|
|
- var pdfEditController: KMPDFEditViewController? {
|
|
|
+ var pdfEditController: KMPDFEditViewController? {
|
|
|
get {
|
|
|
return self.getPDFEditController()
|
|
|
}
|
|
@@ -204,8 +186,7 @@ import KMComponentLibrary
|
|
|
let vc = KMNHomeViewController()
|
|
|
return vc
|
|
|
}()
|
|
|
- private var background_mask: NSView?
|
|
|
-
|
|
|
+
|
|
|
fileprivate var _secureOptions: [CPDFDocumentWriteOption : Any]?
|
|
|
var secureOptions: [CPDFDocumentWriteOption : Any]? {
|
|
|
get {
|
|
@@ -500,6 +481,10 @@ import KMComponentLibrary
|
|
|
pageEditViewController?.thumbnailBaseViewDelegate = self
|
|
|
pageEditViewController?.selectionIndexPaths = [IndexPath(item: listView.currentPageIndex, section: 0)]
|
|
|
pageEditViewController?.view.autoresizingMask = [.width,.height]
|
|
|
+ pageEditViewController?.currentUndoManager = listView.undoManager
|
|
|
+ toolbarManager.page_pageInfo_Property.text = String(listView.currentPageIndex + 1)
|
|
|
+ pdfToolbarController?.refreshSecondToolbarItemsState()
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -523,6 +508,15 @@ import KMComponentLibrary
|
|
|
|
|
|
view.window?.makeFirstResponder(listView)
|
|
|
|
|
|
+ var readModeMessage: ComponentMessage = ComponentMessage()
|
|
|
+ readModeMessage.properties = ComponentMessageProperty(messageType: .normal_custom, title: KMLocalizedString("Read Mode On"))
|
|
|
+ readModeMessage.frame = CGRectMake((CGRectGetWidth(self.view.frame) - readModeMessage.properties.propertyInfo.viewWidth)/2,
|
|
|
+ CGRectGetHeight(self.view.frame) - readModeMessage.properties.propertyInfo.viewHeight - 8,
|
|
|
+ readModeMessage.properties.propertyInfo.viewWidth,
|
|
|
+ readModeMessage.properties.propertyInfo.viewHeight)
|
|
|
+ readModeMessage.reloadData()
|
|
|
+ readModeMessage.show(inView: self.view, autoHideSeconde: 2)
|
|
|
+
|
|
|
}
|
|
|
|
|
|
func exitPDFReadMode() {
|
|
@@ -717,11 +711,9 @@ import KMComponentLibrary
|
|
|
setupSplitPDFController()
|
|
|
|
|
|
if listView.viewSplitMode == .horizontal {
|
|
|
- pdfSplitView.isVertical = true
|
|
|
-
|
|
|
- } else if listView.viewSplitMode == .vertical {
|
|
|
pdfSplitView.isVertical = false
|
|
|
-
|
|
|
+ } else if listView.viewSplitMode == .vertical {
|
|
|
+ pdfSplitView.isVertical = true
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -938,6 +930,7 @@ import KMComponentLibrary
|
|
|
}
|
|
|
headerFooterViewController?.view.frame = CGRectMake(44, 0, CGRectGetWidth(bottomContendBox.frame)-44, CGRectGetHeight(bottomContendBox.frame))
|
|
|
headerFooterViewController?.view.autoresizingMask = [.maxXMargin, .width, .height]
|
|
|
+ headerFooterViewController?.totalPDFCount = Int(listView.document.pageCount)
|
|
|
// headerFooterViewController?.delegate = self
|
|
|
bottomContendBox.addSubview(headerFooterViewController!.view)
|
|
|
headerFooterViewController?.editSubType = editToolbarView?.editSubType ?? .template
|
|
@@ -967,16 +960,15 @@ import KMComponentLibrary
|
|
|
editToolbarView?.removeFromSuperview()
|
|
|
editToolbarView = nil
|
|
|
|
|
|
- backgroundViewController?.view.removeFromSuperview()
|
|
|
- backgroundViewController = nil
|
|
|
+ headerFooterViewController?.view.removeFromSuperview()
|
|
|
+ headerFooterViewController = nil
|
|
|
|
|
|
refreshToolbarView()
|
|
|
toolbarBox.contentView = pdfToolbarController?.view
|
|
|
}
|
|
|
|
|
|
func removePDFHeaderFooter() {
|
|
|
- let background = listView.document.background()
|
|
|
- background?.clear()
|
|
|
+
|
|
|
}
|
|
|
|
|
|
func batchAddHeaderFooter() {
|
|
@@ -988,7 +980,72 @@ import KMComponentLibrary
|
|
|
}
|
|
|
|
|
|
//MARK: - Bates
|
|
|
+ func showBatesController() {
|
|
|
+ listView.isHidden = true
|
|
|
+
|
|
|
+ viewManager.editType = .bates
|
|
|
+
|
|
|
+ showEditToolbarView()
|
|
|
+ editToolbarView?.editType = viewManager.editType
|
|
|
+ if KMBatesManager.defaultManager.datas.count == 0 {
|
|
|
+ editToolbarView?.editSubType = .add
|
|
|
+ } else {
|
|
|
+ editToolbarView?.editSubType = .template
|
|
|
+ }
|
|
|
+ editToolbarView?.reloadData()
|
|
|
+
|
|
|
+ if batesViewController == nil {
|
|
|
+ batesViewController = KMBatesController.init()
|
|
|
+ }
|
|
|
+ batesViewController?.view.frame = CGRectMake(44, 0, CGRectGetWidth(bottomContendBox.frame)-44, CGRectGetHeight(bottomContendBox.frame))
|
|
|
+ batesViewController?.view.autoresizingMask = [.maxXMargin, .width, .height]
|
|
|
+// headerFooterViewController?.delegate = self
|
|
|
+ bottomContendBox.addSubview(batesViewController!.view)
|
|
|
+ batesViewController?.editSubType = editToolbarView?.editSubType ?? .template
|
|
|
+
|
|
|
+ updateBatesDocument()
|
|
|
+ }
|
|
|
|
|
|
+ func updateBatesDocument() {
|
|
|
+ guard let controller = batesViewController else { return }
|
|
|
+
|
|
|
+ controller.pdfDocument = nil
|
|
|
+
|
|
|
+ let editDocument = CPDFDocument.init()
|
|
|
+
|
|
|
+ let page = listView.document.page(at: UInt(listView.currentPageIndex))
|
|
|
+ editDocument?.insertPageObject(page, at: 0)
|
|
|
+
|
|
|
+ batesViewController?.pdfDocument = editDocument
|
|
|
+ batesViewController?.reloadData()
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ func exitBatesController() {
|
|
|
+ listView.isHidden = false
|
|
|
+ viewManager.editType = .none
|
|
|
+
|
|
|
+ editToolbarView?.removeFromSuperview()
|
|
|
+ editToolbarView = nil
|
|
|
+
|
|
|
+ batesViewController?.view.removeFromSuperview()
|
|
|
+ batesViewController = nil
|
|
|
+
|
|
|
+ refreshToolbarView()
|
|
|
+ toolbarBox.contentView = pdfToolbarController?.view
|
|
|
+ }
|
|
|
+
|
|
|
+ func removePDFBates() {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ func batchAddBates() {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ func batchRemoveBates() {
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
}
|
|
|
|
|
@@ -1075,6 +1132,7 @@ extension KMMainViewController: KMPDFToolbarControllerDelegate {
|
|
|
|
|
|
print("toolbar点击", itemIdentifier)
|
|
|
if itemIdentifier == KMPDFToolbar_ViewDisplay_Identifier {
|
|
|
+ //Display
|
|
|
updatePDFDisplaySettingView()
|
|
|
} else if itemIdentifier == KMPDFToolbar_PageEdit_Identifier {
|
|
|
if viewManager.isPageEditMode == true {
|
|
@@ -1082,6 +1140,20 @@ extension KMMainViewController: KMPDFToolbarControllerDelegate {
|
|
|
} else {
|
|
|
exitPageEditMode()
|
|
|
}
|
|
|
+ } else if itemIdentifier == KMPDFToolbar_Markup_Identifier {
|
|
|
+
|
|
|
+ } else if itemIdentifier == KMPDFToolbar_Edit_Identifier {
|
|
|
+
|
|
|
+ } else if itemIdentifier == KMPDFToolbar_Form_Identifier {
|
|
|
+
|
|
|
+ } else if itemIdentifier == KMPDFToolbar_Fill_Identifier {
|
|
|
+
|
|
|
+ } else if itemIdentifier == KMPDFToolbar_Convert_Identifier {
|
|
|
+
|
|
|
+ } else if itemIdentifier == KMPDFToolbar_Protect_Identifier {
|
|
|
+
|
|
|
+ } else if itemIdentifier == KMPDFToolbar_Tools_Identifier {
|
|
|
+
|
|
|
} else if itemIdentifier == KMPDFToolbar_convert_word_Identifier {
|
|
|
let winC = KMConvertWordWindowController()
|
|
|
let model = KMDocumentModel(url: listView.document.documentURL)
|
|
@@ -1243,6 +1315,18 @@ extension KMMainViewController: KMPDFToolbarControllerDelegate {
|
|
|
batchAddHeaderFooter()
|
|
|
} else if itemIdentifier == KMPDFToolbar_edit_batchRemoveHF_Identifier {
|
|
|
batchRemoveHeaderFooter()
|
|
|
+ } else if itemIdentifier == KMPDFToolbar_edit_addBates_Identifier {
|
|
|
+ showBatesController()
|
|
|
+ } else if itemIdentifier == KMPDFToolbar_edit_removeBates_Identifier {
|
|
|
+ removePDFBates()
|
|
|
+ } else if itemIdentifier == KMPDFToolbar_edit_batch_AddBates_Identifier {
|
|
|
+ batchAddBates()
|
|
|
+ } else if itemIdentifier == KMPDFToolbar_edit_batchRemoveBates_Identifier {
|
|
|
+ batchRemoveBates()
|
|
|
+ } else if(itemIdentifier == KMPDFToolbar_undo_Identifier) {
|
|
|
+ listView.undoManager?.undo()
|
|
|
+ } else if(itemIdentifier == KMPDFToolbar_redo_Identifier) {
|
|
|
+ listView.undoManager?.redo()
|
|
|
} else {
|
|
|
print("click else")
|
|
|
}
|
|
@@ -1259,7 +1343,39 @@ extension KMMainViewController: KMPDFToolbarControllerDelegate {
|
|
|
}
|
|
|
|
|
|
func kmPDFToolbarControllerDidSelectTextDidEndEditing(_ controller: KMPDFToolbarController, _ view: ComponentSelect) {
|
|
|
-
|
|
|
+ if view.properties == toolbarManager.page_pageInfo_Property {
|
|
|
+ if viewManager.isPageEditMode == true {
|
|
|
+ let fileAttribute = KMNFileAttribute()
|
|
|
+ fileAttribute.password = listView.document?.password ?? ""
|
|
|
+ fileAttribute.pdfDocument = listView.document
|
|
|
+ fileAttribute.filePath = listView.document?.documentURL.path ?? ""
|
|
|
+ fileAttribute.bAllPage = false
|
|
|
+ fileAttribute.pagesType = .PagesString
|
|
|
+ fileAttribute.pagesString = view.properties.text ?? ""
|
|
|
+
|
|
|
+ let fetchSelectPages = fileAttribute.fetchSelectPages()
|
|
|
+ if (fetchSelectPages.isEmpty) {
|
|
|
+ let alert = NSAlert()
|
|
|
+ alert.alertStyle = .critical
|
|
|
+ alert.messageText = String(format: "%@ %@", fileAttribute.filePath.lastPathComponent, KMLocalizedString("Invalid page range or the page number is out of range. Please try again."))
|
|
|
+ alert.runModal()
|
|
|
+ toolbarManager.page_pageInfo_Property.text = ""
|
|
|
+ controller.refreshSecondToolbarItemsState()
|
|
|
+ } else {
|
|
|
+ var tIndexPaths: Set<IndexPath> = []
|
|
|
+ for i in 0 ..< fetchSelectPages.count {
|
|
|
+ tIndexPaths.insert(IndexPath(item: (fetchSelectPages[i] - 1), section: 0))
|
|
|
+ }
|
|
|
+ pageEditViewController?.selectionIndexPaths = tIndexPaths
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ func kmPDFToolbarControllerDidExitPageEditMode(_ controller: KMPDFToolbarController) {
|
|
|
+ exitPageEditMode()
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1351,8 +1467,6 @@ extension KMMainViewController: KMInteractionProviderProtocol {
|
|
|
if wasInteractionMode == .legacyFullScreen {
|
|
|
self.enterPresentationMode()
|
|
|
|
|
|
- self.pdfSplitView.frame = CGRect(x: 0, y: 0, width: NSWidth(centerContentView.bounds), height: NSHeight(centerContentView.bounds)-1)
|
|
|
- self.centerContentView.addSubview(pdfSplitView)
|
|
|
self.listView.frame = (self.view.window?.contentView?.bounds)!
|
|
|
self.view.window?.contentView?.addSubview(listView)
|
|
|
|
|
@@ -1529,6 +1643,8 @@ extension KMMainViewController: KMEditToolbarViewDelegate {
|
|
|
exitBackgroundController()
|
|
|
} else if view.editType == .header_Footer {
|
|
|
exitHeaderFooterController()
|
|
|
+ } else if view.editType == .bates {
|
|
|
+ exitBatesController()
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -2248,17 +2364,14 @@ extension KMMainViewController: CPDFViewDelegate,CPDFListViewDelegate {
|
|
|
if self.listView.toolMode == .moveToolMode {
|
|
|
self.listView.toolMode = .textToolMode
|
|
|
self.listView.annotationType = .unkown
|
|
|
- self.toolbarController.toolbarType = .Annatiton
|
|
|
+
|
|
|
}
|
|
|
if (self.model.rightMouseEventing) {
|
|
|
self.model.rightMouseEventing = false
|
|
|
|
|
|
- if (self.toolbarController.ignoreCurrentAnnotationTypeChange && self.listView.annotationType == .ink) {
|
|
|
- self.listView.toolMode = .textToolMode
|
|
|
- self.listView.annotationType = .unkown
|
|
|
- }
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
- self.toolbarController.ignoreCurrentAnnotationTypeChange = false
|
|
|
self.leftSideViewController.refreshUIForAddAnnotation(annos: annotations, page: pdfPage)
|
|
|
}
|
|
|
|
|
@@ -2566,7 +2679,6 @@ extension KMMainViewController {
|
|
|
func awakeFromNibFunction() {
|
|
|
self.addBackgroundMaskView()
|
|
|
|
|
|
- self.PDFContendView.backgroundColor(NSColor.km_init(hex: "FFFFFF"))
|
|
|
|
|
|
listView.delegate = self
|
|
|
listView.pdfListViewDelegate = self
|
|
@@ -2583,12 +2695,9 @@ extension KMMainViewController {
|
|
|
|
|
|
self.initPDFLeftViewVC()
|
|
|
self.initRightSideView()
|
|
|
- self.toolbarController.listView = self.listView
|
|
|
- self.toolbarController.mainViewController = self
|
|
|
self.leftSideViewController.mainViewController = self
|
|
|
|
|
|
- self.newPDFSplitView.delegate = self
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
func viewDidAppearFunction() {
|
|
|
//春季活动
|
|
@@ -2680,7 +2789,6 @@ extension KMMainViewController {
|
|
|
|
|
|
func viewDidLoadOld() {
|
|
|
mwcFlags.settingUpWindow = 1
|
|
|
- toolbarController.delegate = self
|
|
|
self.editPDFHanddler.viewC = self
|
|
|
self.srHanddler.pdfView = self.listView
|
|
|
|
|
@@ -2694,11 +2802,6 @@ extension KMMainViewController {
|
|
|
UserDefaults.standard.set(256, forKey: CPDFOfficeRightSidePaneWidthKey)
|
|
|
UserDefaults.standard.synchronize()
|
|
|
}
|
|
|
- let position = mianSplitView.maxPossiblePositionOfDivider(at: 1)
|
|
|
- mianSplitView.setPosition(position, ofDividerAt: 0)
|
|
|
- mianSplitView.setPosition(mianSplitView.minPossiblePositionOfDivider(at: 0), ofDividerAt: 0)
|
|
|
-
|
|
|
- pdfSplitView.setPosition(mianSplitView.maxPossiblePositionOfDivider(at: 1), ofDividerAt: 0)
|
|
|
|
|
|
if (KMPreferenceManager.shared.openLastUnlockedDocumentWhenAppStart) {
|
|
|
if (self.listView.document != nil) {
|
|
@@ -2719,17 +2822,8 @@ extension KMMainViewController {
|
|
|
self._goToFirstPageForFristAppear()
|
|
|
}
|
|
|
|
|
|
- pageNumberDisplayView.delegate = self
|
|
|
-
|
|
|
- tipCurrentPageBox.moveCallback = { [unowned self] mouseEntered, mouseBox in
|
|
|
- if !viewManager.isPDFReadMode {
|
|
|
- if mouseEntered {
|
|
|
- self.pageNumberDisplayView.hover = true
|
|
|
- } else {
|
|
|
- self.pageNumberDisplayView.hover = false
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+
|
|
|
+
|
|
|
|
|
|
NotificationCenter.default.addObserver(self, selector: #selector(rename(_:)), name: NSNotification.Name.init(rawValue: "KMTabControllerRename"), object: nil)
|
|
|
NotificationCenter.default.addObserver(self, selector: #selector(closeTab(_:)), name: NSNotification.Name.init(rawValue: "KMTabControllerCloseTabs"), object: nil)
|
|
@@ -2754,7 +2848,6 @@ extension KMMainViewController {
|
|
|
self.addAutoSaveEvent()
|
|
|
}
|
|
|
|
|
|
- self.toolbarController.selectItem(KMDocumentAnnotationToolbarItemIdentifier)
|
|
|
self.closeRightPane()
|
|
|
|
|
|
self.addKeyEventMonitor()
|
|
@@ -2833,10 +2926,7 @@ extension KMMainViewController {
|
|
|
return
|
|
|
}
|
|
|
if !document.isLocked {
|
|
|
- KMAdsManager.defaultManager.beginSheetModalForView(self.readContentView, directions: .down, adPosY: 30, animated: false) { pageIndex in
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
+ }
|
|
|
NotificationCenter.default.addObserver(self, selector: #selector(purchaseStateUpdateNoti), name: NSNotification.Name(rawValue: "KMIAPProductPurchasedNotification"), object: nil)
|
|
|
NotificationCenter.default.addObserver(self, selector: #selector(purchaseStateUpdateNoti), name: NSNotification.Name(rawValue: "kDeviceActivateNotification"), object: nil)
|
|
|
|
|
@@ -2872,15 +2962,11 @@ extension KMMainViewController {
|
|
|
|
|
|
DispatchQueue.main.async {
|
|
|
self.leftSideViewController.showThumbnail()
|
|
|
- self.toolbarController.findItem(KMLeftControlToolbarItemIdentifier)?.isSelected = true
|
|
|
}
|
|
|
}
|
|
|
|
|
|
func applyLeftSideWidth(_ leftSideWidth: CGFloat, rightSideWidth: CGFloat) -> Void {
|
|
|
- mianSplitView.setPosition(leftSideWidth, ofDividerAt: 0)
|
|
|
- mianSplitView.setPosition(mianSplitView.maxPossiblePositionOfDivider(at: 1) - mianSplitView.dividerThickness - rightSideWidth, ofDividerAt: 1)
|
|
|
- self.model.lastLeftPanWidth = leftSideWidth
|
|
|
- self.model.lastRightPanWidth = rightSideWidth
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|
|
@@ -2901,7 +2987,6 @@ extension KMMainViewController {
|
|
|
@objc func cancelMeasureType() {
|
|
|
self.hideMeasureFloatingWindows()
|
|
|
|
|
|
- self.toolbarController?.findItem(KMToolbarMeasureItemIdentifier)?.isSelected = false
|
|
|
}
|
|
|
|
|
|
func hideMeasureFloatingWindows() {
|
|
@@ -2954,8 +3039,6 @@ extension KMMainViewController {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- self.commitEditingIfNeed()
|
|
|
-
|
|
|
self.leftSideViewController.thumbnailTableView.isEnabled = false
|
|
|
self.leftSideViewController.tocOutlineView.isEnabled = false
|
|
|
self.leftSideViewController.noteOutlineView.isEnabled = false
|
|
@@ -2975,8 +3058,6 @@ extension KMMainViewController {
|
|
|
|
|
|
redactController = KMPDFRedactViewController(url: self.listView.document!.documentURL, password: self.listView.document?.password)
|
|
|
self.addChild(redactController)
|
|
|
- self.PDFContendView.addSubview(redactController.view)
|
|
|
- redactController.view.frame = self.PDFContendView.bounds
|
|
|
redactController.view.autoresizingMask = [.width, .height]
|
|
|
self.listView.isHidden = true
|
|
|
|
|
@@ -3028,7 +3109,6 @@ extension KMMainViewController {
|
|
|
}
|
|
|
}
|
|
|
NSColorPanel.shared.showsAlpha = true
|
|
|
- self.toolbarController.findItem(KMDocumentRedactToolbarItemIdentifier)?.isSelected = false
|
|
|
controller?.redactPdfView.resignMonitor()
|
|
|
|
|
|
controller?.view.removeFromSuperview()
|
|
@@ -3120,25 +3200,15 @@ extension KMMainViewController {
|
|
|
|
|
|
func loadOpenFileFunctionGuide(_ showType: KMGuideInfoType) -> Void {
|
|
|
if showType == .openFileNormal && KMGuideInfoWindowController.availableShow(.openFileNormal) {
|
|
|
- let leftPanelItem:KMToolbarItemView = self.toolbarController.findItem("KMLeftControlToolbarItemIdentifier")!
|
|
|
-
|
|
|
+
|
|
|
self.guideInfoWindowController = KMGuideInfoWindowController.currentWC()
|
|
|
guard let guideWC = self.guideInfoWindowController else { return }
|
|
|
|
|
|
guideWC.type = .openFileNormal
|
|
|
- guideWC.openPanelRect = (self.view.window?.contentView?.convert(leftPanelItem.frame, from: leftPanelItem.superview)) ?? .zero
|
|
|
+// guideWC.openPanelRect = (self.view.window?.contentView?.convert(leftPanelItem.frame, from: leftPanelItem.superview)) ?? .zero
|
|
|
guideWC.window?.collectionBehavior = [.canJoinAllSpaces]
|
|
|
guideWC.normalGuideFinishHandle = { [weak self] windowVC in
|
|
|
- let rightPanelItem = self?.toolbarController.findItem(KMRightControlToolbarItemIdentifier)
|
|
|
- let digitalPanelItem = self?.toolbarController.findItem(KMDocumentSignToolbarItemIdentifier)
|
|
|
-
|
|
|
- if let data = rightPanelItem, data.isHidden {
|
|
|
- let view = self?.toolbarController.mainToolBarView?.toolbar?.moreButton
|
|
|
- windowVC.rightPanelRect = (self?.view.window?.contentView?.convert(view?.frame ?? .zero, from: view?.superview)) ?? .zero
|
|
|
- } else {
|
|
|
- windowVC.rightPanelRect = (self?.view.window?.contentView?.convert(rightPanelItem?.frame ?? .zero, from: rightPanelItem?.superview)) ?? .zero
|
|
|
- }
|
|
|
- guideWC.digitalBoxRect = (self?.view.window?.contentView?.convert(digitalPanelItem?.frame ?? .zero, from: digitalPanelItem?.superview)) ?? .zero
|
|
|
+
|
|
|
|
|
|
}
|
|
|
guideWC.finishHandle = { [weak self] windowVC, type in
|
|
@@ -3162,11 +3232,8 @@ extension KMMainViewController {
|
|
|
guard let guideWC = self.guideInfoWindowController else { return }
|
|
|
|
|
|
guideWC.type = .digitalSignGuide
|
|
|
- guard let digitalPanelItem = self.toolbarController.findItem(KMDocumentSignToolbarItemIdentifier) else {
|
|
|
- return
|
|
|
- }
|
|
|
- guideWC.digitalBoxRect = (self.view.window?.contentView?.convert(digitalPanelItem.frame, from: digitalPanelItem.superview))!
|
|
|
- guideWC.window?.collectionBehavior = [.canJoinAllSpaces]
|
|
|
+
|
|
|
+ guideWC.window?.collectionBehavior = [.canJoinAllSpaces]
|
|
|
guideWC.finishHandle = { [weak self] windowVC, type in
|
|
|
self?.checkFirstTrialController()
|
|
|
}
|
|
@@ -3185,17 +3252,11 @@ extension KMMainViewController {
|
|
|
|
|
|
guideWC.type = .pdfCompareGuide
|
|
|
|
|
|
- guard let digitalPanelItem = self.toolbarController.findItem(KMDocumentSignToolbarItemIdentifier) else {
|
|
|
- return
|
|
|
- }
|
|
|
+
|
|
|
guard let win = self.view.window else {
|
|
|
return
|
|
|
}
|
|
|
- guideWC.digitalBoxRect = (win.contentView?.convert(digitalPanelItem.frame, from: digitalPanelItem.superview)) ?? .zero
|
|
|
-
|
|
|
- let compareItem = self.toolbarController.findItem(KMToolbarComparisonItemIdentifier)
|
|
|
- guideWC.compareItemRect = (win.contentView?.convert(compareItem?.frame ?? .zero, from: compareItem?.superview)) ?? .zero
|
|
|
-
|
|
|
+
|
|
|
guideWC.finishHandle = { [weak self] winC, type in
|
|
|
if type == .windowNewFinish {
|
|
|
DispatchQueue.main.async {
|
|
@@ -3224,14 +3285,6 @@ extension KMMainViewController {
|
|
|
|
|
|
guideWC.type = .measureGuide
|
|
|
|
|
|
- guard let digitalPanelItem = self.toolbarController.findItem(KMDocumentSignToolbarItemIdentifier) else {
|
|
|
- return
|
|
|
- }
|
|
|
- guideWC.digitalBoxRect = (self.view.window?.contentView?.convert(digitalPanelItem.frame, from: digitalPanelItem.superview)) ?? .zero
|
|
|
-
|
|
|
- let compareItem:KMToolbarItemView = self.toolbarController.findItem(KMToolbarMeasureItemIdentifier)!
|
|
|
- guideWC.compareItemRect = (self.view.window?.contentView?.convert(compareItem.frame, from: compareItem.superview)) ?? .zero
|
|
|
-
|
|
|
guideWC.window?.collectionBehavior = [.canJoinAllSpaces]
|
|
|
var rect = self.view.window?.frame ?? .zero
|
|
|
rect.size.height -= 20
|
|
@@ -3247,14 +3300,10 @@ extension KMMainViewController {
|
|
|
guard let guideWC = self.guideInfoWindowController else { return }
|
|
|
|
|
|
guideWC.type = .convertGuide
|
|
|
- guard let digitalPanelItem = self.toolbarController.findItem(KMDocumentSignToolbarItemIdentifier) else {
|
|
|
+ guard let win = self.view.window else {
|
|
|
return
|
|
|
}
|
|
|
- guard let win = self.view.window else {
|
|
|
- return
|
|
|
- }
|
|
|
- guideWC.digitalBoxRect = (self.view.window?.contentView?.convert(digitalPanelItem.frame, from: digitalPanelItem.superview)) ?? .zero
|
|
|
- guideWC.purchaseHandle = { [weak self] windowVC in
|
|
|
+ guideWC.purchaseHandle = { [weak self] windowVC in
|
|
|
#if VERSION_DMG
|
|
|
if IAPProductsManager.default().isAvailableAllFunction() {
|
|
|
if IAPProductsManager.default().isAvailableAdvancedPDFToOffice() {
|
|
@@ -3346,14 +3395,7 @@ extension KMMainViewController {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- if (self.toolbarController != nil && self.toolbarController.mainToolBarView != nil) {
|
|
|
- let toolBarView: KMToolbarViewController = self.toolbarController.mainToolBarView!
|
|
|
- for (key, value) in toolBarView.toolbarItems {
|
|
|
- if (key == KMRightControlToolbarItemIdentifier || key == KMLeftControlToolbarItemIdentifier) {
|
|
|
- (value as! KMToolbarItemView).unEnabled = true
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+
|
|
|
|
|
|
self.editPDFHanddler.clearData()
|
|
|
|
|
@@ -3362,8 +3404,7 @@ extension KMMainViewController {
|
|
|
controller.selectedPages = tPages
|
|
|
controller.listView = self.listView
|
|
|
self.addChild(controller)
|
|
|
- self.PDFContendView.addSubview(controller.view)
|
|
|
- controller.view.frame = self.PDFContendView.bounds
|
|
|
+
|
|
|
controller.view.autoresizingMask = [.width,.height]
|
|
|
self.listView.isHidden = true
|
|
|
|
|
@@ -3393,16 +3434,7 @@ extension KMMainViewController {
|
|
|
}
|
|
|
|
|
|
open func exitPageEdit() {
|
|
|
- if (self.toolbarController != nil && self.toolbarController.mainToolBarView != nil) {
|
|
|
- let toolBarView: KMToolbarViewController = self.toolbarController.mainToolBarView!
|
|
|
- for (key, value) in toolBarView.toolbarItems {
|
|
|
- if (key == KMRightControlToolbarItemIdentifier || key == KMLeftControlToolbarItemIdentifier) {
|
|
|
- (value as! KMToolbarItemView).unEnabled = false
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
- self.toolbarController.findItem(KMDocumentPageToolbarItemIdentifier)?.isSelected = false
|
|
|
let editController = getPDFEditController()
|
|
|
if (editController == nil) {
|
|
|
return
|
|
@@ -3478,7 +3510,6 @@ extension KMMainViewController {
|
|
|
self.digitalSignController?.view.removeFromSuperview()
|
|
|
|
|
|
// KMDocumentDigitalSignToolbarItemIdentifier
|
|
|
- self.toolbarController.findItem(KMDocumentSignToolbarItemIdentifier)?.isSelected = false
|
|
|
}
|
|
|
|
|
|
func showDigitalSignWindow(withFilePathURL fileURL: URL) {
|
|
@@ -3496,8 +3527,7 @@ extension KMMainViewController {
|
|
|
var currentPageIndex = listView.document?.index(for: listView.currentPage()) ?? 0
|
|
|
var password: String = ""
|
|
|
|
|
|
- self.toolbarController.toolbarType = .None
|
|
|
- password = listView.document?.password ?? ""
|
|
|
+ password = listView.document?.password ?? ""
|
|
|
|
|
|
digitalSignController = KMPDFDigitalSignViewController()
|
|
|
|
|
@@ -3518,14 +3548,7 @@ extension KMMainViewController {
|
|
|
self?.exitDigitalSign()
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- if let digitalSignView = digitalSignController?.view, let splitViewSuperview = mianSplitView.superview {
|
|
|
- digitalSignView.frame = splitViewSuperview.bounds
|
|
|
- digitalSignView.autoresizingMask = [.width, .height]
|
|
|
- splitViewSuperview.addSubview(digitalSignView)
|
|
|
-
|
|
|
- digitalSignController?.setCurrentPageIndex(Int(currentPageIndex))
|
|
|
- }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
// MARK: - Toolbar
|
|
@@ -3547,7 +3570,7 @@ extension KMMainViewController {
|
|
|
}
|
|
|
}
|
|
|
if toolbarItem.itemIdentifier != KMDocumentEditToolbarItemIdentifier && toolbarItem.itemIdentifier != KMRightControlToolbarItemIdentifier && toolbarItem.itemIdentifier != KMLeftControlToolbarItemIdentifier {
|
|
|
- self.commitEditingIfNeed()
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -3578,20 +3601,11 @@ extension KMMainViewController {
|
|
|
private func addBackgroundMaskView() {
|
|
|
self.removeBackgroundMaskView()
|
|
|
|
|
|
- if let superview = self.mianSplitView.superview {
|
|
|
- let view = NSView()
|
|
|
- superview.addSubview(view)
|
|
|
- view.frame = superview.bounds
|
|
|
- view.autoresizingMask = [.width, .height]
|
|
|
- view.wantsLayer = true
|
|
|
- view.layer?.backgroundColor = .white
|
|
|
- self.background_mask = view
|
|
|
- }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
private func removeBackgroundMaskView() {
|
|
|
- self.background_mask?.removeFromSuperview()
|
|
|
- self.background_mask = nil
|
|
|
+
|
|
|
}
|
|
|
|
|
|
private func _goToFirstPageForFristAppear() {
|
|
@@ -3785,8 +3799,7 @@ extension KMMainViewController {
|
|
|
self.mergeWindowController!.mergeAction = { [unowned self] controller, filePath in
|
|
|
self.view.window?.endSheet(mergeWindowController!.window!)
|
|
|
}
|
|
|
- self.toolbarController.cancelSelected(KMToolbarToolMergeItemIdentifier)
|
|
|
-
|
|
|
+
|
|
|
self.view.window?.beginSheet(self.mergeWindowController!.window!)
|
|
|
}
|
|
|
}
|
|
@@ -3801,8 +3814,7 @@ extension KMMainViewController {
|
|
|
securityWindowController.batchAction = { [unowned self] controller, files in
|
|
|
self.view.window?.endSheet((securityWindowController.window)!)
|
|
|
|
|
|
- self.toolbarController.cancelSelected(KMToolbarToolCompressItemIdentifier)
|
|
|
-
|
|
|
+
|
|
|
let batchWindowController = KMBatchOperateWindowController.sharedWindowController
|
|
|
let batchOperateFile = KMBatchOperateFile(filePath: self.document?.documentURL.path ?? "", type: .AddPassword)
|
|
|
batchWindowController.switchToOperateType(.AddPassword, files: [batchOperateFile])
|
|
@@ -4144,11 +4156,7 @@ extension KMMainViewController {
|
|
|
} else if self!.listView.editingAreas().count > 0 {
|
|
|
if self?.listView.annotationType == .addImage ||
|
|
|
self?.listView.annotationType == .addText {
|
|
|
- let textItem = self?.toolbarController.findItem(KMToolbarAddTextEditPDFItemIdentifier)
|
|
|
- let imageItem = self?.toolbarController.findItem(KMToolbarAddImageEditPDFItemIdentifier)
|
|
|
- textItem?.isSelected = false
|
|
|
- imageItem?.isSelected = false
|
|
|
- }
|
|
|
+ }
|
|
|
self?.rightSideViewController.isHidden = true
|
|
|
self?.listView.endEditIsRemoveBlock(with: self!.listView.editingAreas().first as? CPDFEditArea)
|
|
|
self?.listView.updateEditing([])
|
|
@@ -4162,11 +4170,7 @@ extension KMMainViewController {
|
|
|
} else if(self?.listView.annotationType == .addImage || self!.listView.annotationType == .addText) {
|
|
|
if self?.listView.annotationType == .addImage ||
|
|
|
self?.listView.annotationType == .addText {
|
|
|
- let textItem = self?.toolbarController.findItem(KMToolbarAddTextEditPDFItemIdentifier)
|
|
|
- let imageItem = self?.toolbarController.findItem(KMToolbarAddImageEditPDFItemIdentifier)
|
|
|
- textItem?.isSelected = false
|
|
|
- imageItem?.isSelected = false
|
|
|
- }
|
|
|
+ }
|
|
|
self?.rightSideViewController.isHidden = true
|
|
|
self?.listView.setShouAddEdit([])
|
|
|
self?.listView.change([.text, .image])
|
|
@@ -4177,11 +4181,7 @@ extension KMMainViewController {
|
|
|
} else {
|
|
|
if self?.listView.annotationType == .addImage ||
|
|
|
self?.listView.annotationType == .addText {
|
|
|
- let textItem = self?.toolbarController.findItem(KMToolbarAddTextEditPDFItemIdentifier)
|
|
|
- let imageItem = self?.toolbarController.findItem(KMToolbarAddImageEditPDFItemIdentifier)
|
|
|
- textItem?.isSelected = false
|
|
|
- imageItem?.isSelected = false
|
|
|
- }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -4442,8 +4442,7 @@ extension KMMainViewController {
|
|
|
}
|
|
|
if self.listView.toolMode == .editPDFToolMode {
|
|
|
if editSelectd {
|
|
|
- self.toolbarController.cancelSelected(KMToolbarAddTextEditPDFItemIdentifier)
|
|
|
- }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|