|
@@ -1925,21 +1925,15 @@ extension KMMainViewController {
|
|
|
// progress.window?.contentView?.layer?.backgroundColor = NSColor.km_init(hex: "#ffffff").cgColor
|
|
|
// progress.progressField.textColor = NSColor.black
|
|
|
progress.message = NSLocalizedString("Converting...", comment: "")
|
|
|
- progressController = progress
|
|
|
- progressController?.message = message
|
|
|
+ self.progressC = progress
|
|
|
+ self.progressC?.message = message
|
|
|
if maxValue > 0 {
|
|
|
- progressController?.indeterminate = false
|
|
|
- progressController?.maxValue = Double(maxValue)
|
|
|
+ progressC?.indeterminate = false
|
|
|
+ progressC?.maxValue = Double(maxValue)
|
|
|
} else {
|
|
|
- progressController?.indeterminate = true
|
|
|
+ progressC?.indeterminate = true
|
|
|
}
|
|
|
- if maxValue > 0 {
|
|
|
- progressController?.indeterminate = false
|
|
|
- progressController?.maxValue = Double(maxValue)
|
|
|
- } else {
|
|
|
- progressController?.indeterminate = true
|
|
|
- }
|
|
|
- self.km_beginSheet(windowC: progressController!)
|
|
|
+ self.km_beginSheet(windowC: progressC!)
|
|
|
}
|
|
|
|
|
|
// 白边距
|
|
@@ -1954,8 +1948,8 @@ extension KMMainViewController {
|
|
|
beginProgressSheet(with: KMLocalizedString("Cropping Pages", "Message for progress sheet"), maxValue: min(18, self.listView.document.pageCount))
|
|
|
var rectArray: Array<NSRect> = []
|
|
|
for i in 0 ..< self.listView.document.pageCount {
|
|
|
- progressController?.increment(by: Double(i))
|
|
|
- progressController?.doubleValue = Double(i)
|
|
|
+ progressC?.increment(by: Double(i))
|
|
|
+ progressC?.doubleValue = Double(i)
|
|
|
let page = self.listView.document.page(at: i)
|
|
|
var rect = KMCropTools.getPageForegroundBox(page!)
|
|
|
let bounds: NSRect = (page?.bounds(for: .mediaBox))!
|
|
@@ -2004,8 +1998,8 @@ extension KMMainViewController {
|
|
|
beginProgressSheet(with: KMLocalizedString("Cropping Pages", "Message for progress sheet"), maxValue: min(18, self.listView.document.pageCount))
|
|
|
var rectArray: Array<NSRect> = []
|
|
|
for i in 0 ..< self.listView.document.pageCount {
|
|
|
- progressController?.increment(by: Double(i))
|
|
|
- progressController?.doubleValue = Double(i)
|
|
|
+ progressC?.increment(by: Double(i))
|
|
|
+ progressC?.doubleValue = Double(i)
|
|
|
let page = self.listView.document.page(at: i)
|
|
|
var rect = KMCropTools.getPageForegroundBox(page!)
|
|
|
let bounds: NSRect = (page?.bounds(for: .mediaBox))!
|
|
@@ -2058,12 +2052,12 @@ extension KMMainViewController {
|
|
|
if let page = self.listView.document.page(at: 0) {
|
|
|
rect[0] = KMCropTools.getPageForegroundBox(page)
|
|
|
}
|
|
|
- progressController?.increment(by: 1)
|
|
|
+ progressC?.increment(by: 1)
|
|
|
} else if (count < 19) {
|
|
|
for i in 0 ..< 19 {
|
|
|
if let page = self.listView.document.page(at: UInt(i)) {
|
|
|
rect[i % 2] = NSUnionRect(rect[i % 2], KMCropTools.getPageForegroundBox(page))
|
|
|
- progressController?.increment(by: Double(i))
|
|
|
+ progressC?.increment(by: Double(i))
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
@@ -2075,7 +2069,7 @@ extension KMMainViewController {
|
|
|
if let page = self.listView.document.page(at: UInt(k)) {
|
|
|
rect[k % 2] = NSUnionRect(rect[k % 2], KMCropTools.getPageForegroundBox(page))
|
|
|
cnt += 1
|
|
|
- progressController?.increment(by: Double(cnt))
|
|
|
+ progressC?.increment(by: Double(cnt))
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -2132,150 +2126,6 @@ extension KMMainViewController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private func cropCustomArea() {
|
|
|
- self.listView.toolMode = .selectToolMode
|
|
|
-
|
|
|
- self.listView.autoScales = true
|
|
|
- self.listView.autoScales = false
|
|
|
- var pageHeight: CGFloat = NSHeight(self.listView.currentPage().bounds(for: self.listView.displayBox))
|
|
|
- if (self.listView.displaysPageBreaks) {
|
|
|
- pageHeight += 8
|
|
|
- }
|
|
|
-
|
|
|
- var scaleFactor: CGFloat = fmax(self.listView.minimumScaleFactor, NSHeight(self.listView.frame)/pageHeight)
|
|
|
-// if (scaleFactor < self.preView.scaleFactor) {
|
|
|
- self.listView.scaleFactor = scaleFactor
|
|
|
-// }
|
|
|
-
|
|
|
- let tipView = KMCropTipView()
|
|
|
- tipView.setString(string: "请框选裁剪区域")
|
|
|
- tipView.frame = self.topTipBox.contentView!.frame
|
|
|
- tipView.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
|
|
|
- self.addTopTip(tipView)
|
|
|
-
|
|
|
- tipView.enterAction = {
|
|
|
- () in
|
|
|
- var rect = NSIntegralRect(self.listView.currentSelectionRect())
|
|
|
- if (NSIsEmptyRect(rect)) {
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- let window = KMCropSettingWindowController(windowNibName: "KMCropSettingWindowController")
|
|
|
- self.view.window?.beginSheet(window.window!)
|
|
|
- self.cropSettingWindowController = window
|
|
|
-
|
|
|
- window.itemClick = { [self]
|
|
|
- (index: Int) in
|
|
|
- if (index == 1) { /// 取消
|
|
|
- self.view.window?.endSheet((self.cropSettingWindowController?.window)!)
|
|
|
- self.cropSettingWindowController = nil
|
|
|
- return
|
|
|
- }
|
|
|
- let pageRangeType = self.cropSettingWindowController.pageRangeIndex
|
|
|
- let pageCount: Int = Int(self.listView.document.pageCount)
|
|
|
- var pages: Array<Int> = []
|
|
|
- if (pageRangeType == 0) { /// 当前页面
|
|
|
- pages.append(self.listView.currentPageIndex)
|
|
|
- } else if (pageRangeType == 1) { /// 全部页面
|
|
|
- for i in 0 ..< pageCount {
|
|
|
- pages.append(i)
|
|
|
- }
|
|
|
- } else if (pageRangeType == 2) { /// 奇数页面
|
|
|
- var string: String = ""
|
|
|
- for i in 0 ..< pageCount {
|
|
|
- if (i % 2 == 1) {
|
|
|
- continue
|
|
|
- }
|
|
|
-
|
|
|
- pages.append(i)
|
|
|
- }
|
|
|
- } else if (pageRangeType == 3) { /// 偶数页面
|
|
|
- var string: String = ""
|
|
|
- for i in 0 ..< pageCount {
|
|
|
- if (i % 2 == 0) {
|
|
|
- continue
|
|
|
- }
|
|
|
-
|
|
|
- pages.append(i)
|
|
|
- }
|
|
|
- } else { /// 自定义
|
|
|
- for i in self.cropSettingWindowController.pageRangePages {
|
|
|
- pages.append(i)
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if (pages.count < 0) {
|
|
|
- let alert = NSAlert()
|
|
|
- alert.messageText = "请选择页面"
|
|
|
- alert.runModal()
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- var pageSize: NSSize = NSZeroSize
|
|
|
- if (self.cropSettingWindowController.pageSize == "None") {
|
|
|
-
|
|
|
- } else {
|
|
|
- pageSize = KMCropTools.getPageSizeValue(self.cropSettingWindowController.pageSize)
|
|
|
- }
|
|
|
-
|
|
|
- for i in pages {
|
|
|
- var page: CPDFPage = self.listView.document.page(at: UInt(i))
|
|
|
- var rect = NSIntegralRect(self.listView.selectionRect)
|
|
|
-
|
|
|
- if (NSIsEmptyRect(rect)) {
|
|
|
- rect = KMCropTools.getPageForegroundBox(page)
|
|
|
- }
|
|
|
-
|
|
|
- var newRect = NSIntersectionRect(rect, (page.bounds(for: .mediaBox)))
|
|
|
- page.setBounds(newRect, for: .cropBox)
|
|
|
-
|
|
|
- if (pageSize.width == 0 && pageSize.height == 0) {
|
|
|
-
|
|
|
- } else {
|
|
|
-// let tiffData = page.pdfListViewTIFFData(for: rect)
|
|
|
- let index: UInt = (page.pageIndex())
|
|
|
-// let newPage: CPDFPage = nil
|
|
|
-// self.listView.document.removePage(at: index)
|
|
|
-// newPage.setBounds(NSMakeRect(0, 0, pageSize.width, pageSize.height), for: .cropBox)
|
|
|
- // let result = self.preView.document.insertPageObject(newPage, at: index)
|
|
|
- let result = self.listView.document.insertPage(pageSize, at: index)
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- /// 保存到临时路径
|
|
|
- let toPath: String = self.listView.document.documentURL.path
|
|
|
- let documentPath = NSTemporaryDirectory()
|
|
|
- let tempPath: String = "\(documentPath)/\(toPath.lastPathComponent)"
|
|
|
- if (FileManager.default.fileExists(atPath: tempPath)) {
|
|
|
- try?FileManager.default.removeItem(atPath: tempPath)
|
|
|
- }
|
|
|
-
|
|
|
- let result = self.listView.document.write(to: URL(fileURLWithPath: tempPath))
|
|
|
- if (result) {
|
|
|
- if (FileManager.default.fileExists(atPath: toPath)) {
|
|
|
- try?FileManager.default.removeItem(atPath: toPath)
|
|
|
- }
|
|
|
-
|
|
|
- try?FileManager.default.moveItem(atPath: tempPath, toPath: toPath)
|
|
|
- } else {
|
|
|
- try?FileManager.default.removeItem(atPath: tempPath)
|
|
|
- }
|
|
|
- DispatchQueue.main.async {
|
|
|
- self.listView.toolMode = .textToolMode
|
|
|
-
|
|
|
- /// 刷新预览视图
|
|
|
- self.listView.layoutDocumentView()
|
|
|
-
|
|
|
- self.listView.displayBox = .cropBox
|
|
|
- }
|
|
|
-
|
|
|
- self.view.window?.endSheet((self.cropSettingWindowController?.window)!)
|
|
|
- self.cropSettingWindowController = nil
|
|
|
- self.addTopTip(nil)
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
@objc private func shareDocument(sender:KMToolbarViewController, limit: Bool = false) {
|
|
|
if (limit) {
|
|
|
var doucumentURL : URL = self.listView.document.documentURL
|
|
@@ -3115,21 +2965,21 @@ extension KMMainViewController {
|
|
|
progress.window?.contentView?.layer?.backgroundColor = NSColor.km_init(hex: "#36383B").cgColor
|
|
|
progress.progressField.textColor = NSColor.white
|
|
|
progress.message = NSLocalizedString("Converting...", comment: "")
|
|
|
- progressController = progress
|
|
|
- progressController?.message = message
|
|
|
+ progressC = progress
|
|
|
+ progressC?.message = message
|
|
|
if maxValue > 0 {
|
|
|
- progressController?.indeterminate = false
|
|
|
- progressController?.maxValue = Double(maxValue)
|
|
|
+ progressC?.indeterminate = false
|
|
|
+ progressC?.maxValue = Double(maxValue)
|
|
|
} else {
|
|
|
- progressController?.indeterminate = true
|
|
|
+ progressC?.indeterminate = true
|
|
|
}
|
|
|
- self.km_beginSheet(windowC: progressController!)
|
|
|
+ self.km_beginSheet(windowC: progressC!)
|
|
|
}
|
|
|
|
|
|
func dismissProgressSheet() {
|
|
|
- progressController?.stopAnimation()
|
|
|
+ progressC?.stopAnimation()
|
|
|
self.km_endSheet()
|
|
|
- progressController = nil
|
|
|
+ progressC = nil
|
|
|
}
|
|
|
|
|
|
func converFilesToPath(files: Array<KMBatchOperateFile>) -> [String] {
|