|
@@ -5220,7 +5220,24 @@ extension KMLeftSideViewController {
|
|
|
}
|
|
|
|
|
|
@objc func quickInsert(_ sender: AnyObject?) {
|
|
|
- KMPrint("KMLeftSideViewController-quickInsert...")
|
|
|
+// if (![[IAPProductsManager defaultManager] isAvailableAllFunction]) {
|
|
|
+// [[KMPurchaseCompareWindowController sharedInstance] showWindow:nil];
|
|
|
+// return;
|
|
|
+// }
|
|
|
+
|
|
|
+ let idx = self.thumbnailTableView.selectedRowIndexes.first ?? NSNotFound
|
|
|
+ if idx == NSNotFound || idx >= self.listView.document.pageCount {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ let result = self.listView.insertPage(KMNormalBlankSize, at: idx+1)
|
|
|
+ if result == false {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ var selectedIndexSet = IndexSet()
|
|
|
+ selectedIndexSet.insert(idx+1)
|
|
|
+ self.insertPages(selectedIndexSet, pageAt: idx)
|
|
|
}
|
|
|
|
|
|
@objc func insert(_ sender: AnyObject?) {
|
|
@@ -5510,31 +5527,9 @@ extension KMLeftSideViewController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-// MARK: - Other
|
|
|
+// MARK: - Undo & Redo
|
|
|
|
|
|
extension KMLeftSideViewController {
|
|
|
- @objc func goToSelectedOutlineItem(_ sender: AnyObject?) {
|
|
|
- let outlineItem = self.tocOutlineView.item(atRow: self.tocOutlineView.selectedRow)
|
|
|
- let outline = self.tocOutlineView
|
|
|
- if let cnt = outline?.selectedRowIndexes.count, cnt == 1 {
|
|
|
- if outlineItem is CPDFOutline {
|
|
|
- let outline = (outlineItem as! CPDFOutline)
|
|
|
- if let des = outline.destination {
|
|
|
- self.listView.go(to: des)
|
|
|
- } else if let action = outline.action {
|
|
|
- self.listView.perform(action)
|
|
|
- }
|
|
|
- } else if outlineItem is CPDFBookmark {
|
|
|
- let bookmark = outlineItem as! CPDFBookmark
|
|
|
- self.listView.go(toPageIndex: bookmark.pageIndex, animated: true)
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @objc func goToSelectedFindResults(_ sender: AnyObject?) {
|
|
|
- KMPrint("KMLeftSideViewController-goToSelectedFindResults...")
|
|
|
- }
|
|
|
-
|
|
|
@objc dynamic func tableView(_ tv: NSTableView, rotateRowsWithIndexes rowIndexes: NSIndexSet) {
|
|
|
if tv.isEqual(to: self.thumbnailTableView) {
|
|
|
for idx in rowIndexes {
|
|
@@ -5569,5 +5564,61 @@ extension KMLeftSideViewController {
|
|
|
let pageIndex = min(index, Int((self.listView.document?.pageCount ?? 0))-1)
|
|
|
self.listView.go(toPageIndex: pageIndex, animated: false)
|
|
|
}
|
|
|
+
|
|
|
+ @objc dynamic func insertPages(_ selectedIndexSet: IndexSet, pageAt index: Int) {
|
|
|
+ (self.listView.undoManager?.prepare(withInvocationTarget: self) as AnyObject).deletePages(selectedIndexSet, pageAt: index)
|
|
|
+ self.listView.layoutDocumentView()
|
|
|
+// [pageLabels setArray:[[pdfView document] pageLabels]];
|
|
|
+ self.resetThumbnails()
|
|
|
+
|
|
|
+ if let pageIndex = selectedIndexSet.first {
|
|
|
+ self.listView.go(toPageIndex: pageIndex, animated: false)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @objc dynamic func deletePages(_ selectedIndexSet: IndexSet, pageAt index: Int) {
|
|
|
+ (self.listView.undoManager?.prepare(withInvocationTarget: self) as AnyObject).insertPages(selectedIndexSet, pageAt: index)
|
|
|
+
|
|
|
+ for idx in selectedIndexSet {
|
|
|
+ if idx < self.listView.document.pageCount {
|
|
|
+ self.listView.document.removePage(at: UInt(idx))
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ self.listView.layoutDocumentView()
|
|
|
+// [pageLabels setArray:[[pdfView document] pageLabels]];
|
|
|
+ self.resetThumbnails()
|
|
|
+ let pageIndex = min(index, Int(self.listView.document.pageCount)-1)
|
|
|
+ self.listView.go(toPageIndex: pageIndex, animated: false)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// MARK: - Other
|
|
|
+
|
|
|
+extension KMLeftSideViewController {
|
|
|
+ @objc func goToSelectedOutlineItem(_ sender: AnyObject?) {
|
|
|
+ let outlineItem = self.tocOutlineView.item(atRow: self.tocOutlineView.selectedRow)
|
|
|
+ let outline = self.tocOutlineView
|
|
|
+ if let cnt = outline?.selectedRowIndexes.count, cnt == 1 {
|
|
|
+ if outlineItem is CPDFOutline {
|
|
|
+ let outline = (outlineItem as! CPDFOutline)
|
|
|
+ if let des = outline.destination {
|
|
|
+ self.listView.go(to: des)
|
|
|
+ } else if let action = outline.action {
|
|
|
+ self.listView.perform(action)
|
|
|
+ }
|
|
|
+ } else if outlineItem is CPDFBookmark {
|
|
|
+ let bookmark = outlineItem as! CPDFBookmark
|
|
|
+ self.listView.go(toPageIndex: bookmark.pageIndex, animated: true)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @objc func goToSelectedFindResults(_ sender: AnyObject?) {
|
|
|
+ KMPrint("KMLeftSideViewController-goToSelectedFindResults...")
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
|
|
|
+
|