|
@@ -91,10 +91,7 @@ class KMLeftSideViewController: KMSideViewController {
|
|
|
self.annotationViewController.listView = self.listView
|
|
|
self.view.addSubview(self.annotationViewController.view)
|
|
|
self.annotationViewController.reloadData()
|
|
|
-// self.annotationViewController.view.isHidden = true
|
|
|
self.annotationViewController.view.frame = NSMakeRect(0, 0, 1, 1)
|
|
|
-// self.annotationViewController.annotationOutlineView.outlineView.delegate = nil
|
|
|
-// self.annotationViewController.annotationOutlineView.outlineView.dataSource = nil
|
|
|
}
|
|
|
|
|
|
func showPanelView(show: Bool) {
|
|
@@ -458,6 +455,8 @@ class KMLeftSideViewController: KMSideViewController {
|
|
|
return view
|
|
|
}()
|
|
|
|
|
|
+ private var _copysPages: [CPDFPage] = []
|
|
|
+
|
|
|
override func loadView() {
|
|
|
super.loadView()
|
|
|
|
|
@@ -827,6 +826,7 @@ class KMLeftSideViewController: KMSideViewController {
|
|
|
self.findTableView.dataSource = self
|
|
|
self.groupedFindTableView.delegate = self
|
|
|
self.groupedFindTableView.dataSource = self
|
|
|
+ self.thumbnailTableView.menu?.delegate = self
|
|
|
// [[thumbnailTableView menu] setDelegate:mainController];
|
|
|
// [[findTableView menu] setDelegate:mainController];
|
|
|
// [[groupedFindTableView menu] setDelegate:mainController];
|
|
@@ -4353,3 +4353,384 @@ extension KMLeftSideViewController: NSOutlineViewDelegate, NSOutlineViewDataSour
|
|
|
*/
|
|
|
}
|
|
|
|
|
|
+extension KMLeftSideViewController: NSMenuDelegate {
|
|
|
+ func menuNeedsUpdate(_ menu: NSMenu) {
|
|
|
+ if menu.isEqual(to: self.tocOutlineView.menu) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var item: NSMenuItem?
|
|
|
+ menu.removeAllItems()
|
|
|
+ if menu.isEqual(to: self.thumbnailTableView.menu) {
|
|
|
+ let row = self.thumbnailTableView.clickedRow
|
|
|
+ if self.listView.document.documentURL == nil || self.thumbnailTableView.selectedRowIndexes.contains(row) == false{
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if (row != -1 && self.listView.document.isLocked == false) {
|
|
|
+ if(self.thumbnailTableView.selectedRowIndexes.count == self.listView.document.pageCount) {
|
|
|
+ item = menu.addItem(title: KMLocalizedString("Cut", "Menu item title"), action: nil, target: self)
|
|
|
+ } else {
|
|
|
+ item = menu.addItem(title: KMLocalizedString("Cut", "Menu item title"), action: #selector(cutPage), target: self)
|
|
|
+ }
|
|
|
+ item?.representedObject = IndexSet(integer: row)
|
|
|
+
|
|
|
+
|
|
|
+ item = menu.addItem(title: KMLocalizedString("Copy", "Menu item title"), action: #selector(copyPage), target: self)
|
|
|
+ item?.representedObject = IndexSet(integer: row)
|
|
|
+
|
|
|
+ if (self._copysPages.count > 0) {
|
|
|
+ item = menu.addItem(title: KMLocalizedString("Paste", "Menu item title"), action: #selector(pastePage), target: self)
|
|
|
+ }else{
|
|
|
+ item = menu.addItem(title: KMLocalizedString("Paste", "Menu item title"), action: nil, target: self)
|
|
|
+ }
|
|
|
+ item?.representedObject = IndexSet(integer: row)
|
|
|
+
|
|
|
+ menu.addItem(.separator())
|
|
|
+
|
|
|
+ if(self.thumbnailTableView.selectedRowIndexes.count == self.listView.document.pageCount) {
|
|
|
+ item = menu.addItem(title: KMLocalizedString("Delete", "Menu item title"), action: nil, target: self)
|
|
|
+ } else {
|
|
|
+ item = menu.addItem(title: KMLocalizedString("Delete", "Menu item title"), action: #selector(deletePage), target: self)
|
|
|
+ }
|
|
|
+ item?.representedObject = IndexSet(integer: row)
|
|
|
+
|
|
|
+ menu.addItem(.separator())
|
|
|
+
|
|
|
+ item = menu.addItem(title: KMLocalizedString("Rotate", "Menu item title"), action: #selector(rotatePage), target: self)
|
|
|
+ item?.representedObject = IndexSet(integer: row)
|
|
|
+
|
|
|
+ item = menu.addItem(title: KMLocalizedString("Insert", "Menu item title"), action: nil, target: self)
|
|
|
+ let subMenu = NSMenu()
|
|
|
+ subMenu.addItem(title: KMLocalizedString("Blank Page", "Menu item title"), action: #selector(quickInsert), target: self)
|
|
|
+ subMenu.addItem(title: KMLocalizedString("Blank Page - Custom...", "Menu item title"), action: #selector(insert), target: self)
|
|
|
+ subMenu.addItem(title: KMLocalizedString("From PDF", "Menu item title"), action: #selector(insertPDF), target: self)
|
|
|
+ item?.submenu = subMenu
|
|
|
+ item?.representedObject = IndexSet(integer: row)
|
|
|
+
|
|
|
+ item = menu.addItem(title: KMLocalizedString("Extract", "Menu item title"), action: #selector(extractPage), target: self)
|
|
|
+ item?.representedObject = IndexSet(integer: row)
|
|
|
+
|
|
|
+ item = menu.addItem(title: KMLocalizedString("Page Edit", "Menu item title"), action: #selector(pageEdit), target: self)
|
|
|
+
|
|
|
+ menu.addItem(.separator())
|
|
|
+
|
|
|
+ var displayStr = ""
|
|
|
+ if (self.isDisplayPageSize) {
|
|
|
+ displayStr = KMLocalizedString("Hide Page Size", "Menu item title")
|
|
|
+ } else {
|
|
|
+ displayStr = KMLocalizedString("Display Page Size", "Menu item title")
|
|
|
+ }
|
|
|
+ item = menu.addItem(title: displayStr, action: #selector(displayPageSize), target: self)
|
|
|
+ item?.representedObject = IndexSet(integer: row)
|
|
|
+
|
|
|
+ item = menu.addItem(title: KMLocalizedString("Share", "Menu item title"), action: nil, target: self)
|
|
|
+
|
|
|
+// NSString * tName = [self fileNameWithSelectedPages:leftSideController.thumbnailTableView.selectedRowIndexes];
|
|
|
+// if (tName.length > 50) {
|
|
|
+// tName = [tName substringWithRange:NSMakeRange(0, 50)];
|
|
|
+// }
|
|
|
+ var tName = self.listView.document.documentURL.lastPathComponent
|
|
|
+ item?.submenu = NSSharingServicePicker.menu(forSharingItems: [self.listView.document.documentURL], subjectContext: tName, withTarget: self, selector: #selector(sharePage), serviceDelegate: nil)
|
|
|
+ }
|
|
|
+ }
|
|
|
+// else if ([menu isEqual:[leftSideController.findTableView menu]]) {
|
|
|
+// NSIndexSet *rowIndexes = [leftSideController.findTableView selectedRowIndexes];
|
|
|
+// NSInteger row = [leftSideController.findTableView clickedRow];
|
|
|
+// if (row != -1) {
|
|
|
+// if ([rowIndexes containsIndex:row] == NO)
|
|
|
+// rowIndexes = [NSIndexSet indexSetWithIndex:row];
|
|
|
+// NSArray *selections = [[leftSideController.findArrayController arrangedObjects] objectsAtIndexes:rowIndexes];
|
|
|
+// if ([pdfView hideNotes] == NO && [[self pdfDocument] allowsNotes]) {
|
|
|
+// item = [menu addItemWithTitle:NSLocalizedString(@"Add New Circle", @"Menu item title") action:@selector(addAnnotationsForSelections:) target:self tag:SKCircleNote];
|
|
|
+// [item setRepresentedObject:selections];
|
|
|
+// item = [menu addItemWithTitle:NSLocalizedString(@"Add New Rectangle", @"Menu item title") action:@selector(addAnnotationsForSelections:) target:self tag:SKSquareNote];
|
|
|
+// [item setRepresentedObject:selections];
|
|
|
+// item = [menu addItemWithTitle:NSLocalizedString(@"Add New Highlight", @"Menu item title") action:@selector(addAnnotationsForSelections:) target:self tag:SKHighlightNote];
|
|
|
+// [item setRepresentedObject:selections];
|
|
|
+// item = [menu addItemWithTitle:NSLocalizedString(@"Add New Underline", @"Menu item title") action:@selector(addAnnotationsForSelections:) target:self tag:SKUnderlineNote];
|
|
|
+// [item setRepresentedObject:selections];
|
|
|
+// item = [menu addItemWithTitle:NSLocalizedString(@"Add New Strikethrough", @"Menu item title") action:@selector(addAnnotationsForSelections:) target:self tag:SKStrikeOutNote];
|
|
|
+// [item setRepresentedObject:selections];
|
|
|
+// }
|
|
|
+// }
|
|
|
+// // }
|
|
|
+// // else if ([menu isEqual:[leftSideController.groupedFindTableView menu]]) {
|
|
|
+// // NSIndexSet *rowIndexes = [leftSideController.groupedFindTableView selectedRowIndexes];
|
|
|
+// // NSInteger row = [leftSideController.groupedFindTableView clickedRow];
|
|
|
+// // if (row != -1) {
|
|
|
+// // if ([rowIndexes containsIndex:row] == NO)
|
|
|
+// // rowIndexes = [NSIndexSet indexSetWithIndex:row];
|
|
|
+// // NSArray *selections = [[[leftSideController.groupedFindArrayController arrangedObjects] objectsAtIndexes:rowIndexes] valueForKeyPath:@"@unionOfArrays.matches"];
|
|
|
+// // item = [menu addItemWithTitle:NSLocalizedString(@"Select", @"Menu item title") action:@selector(selectSelections:) target:self];
|
|
|
+// // [item setRepresentedObject:selections];
|
|
|
+// // [menu addItem:[NSMenuItem separatorItem]];
|
|
|
+// // if ([pdfView hideNotes] == NO && [[self pdfDocument] allowsNotes]) {
|
|
|
+// // item = [menu addItemWithTitle:NSLocalizedString(@"Add New Circle", @"Menu item title") action:@selector(addAnnotationsForSelections:) target:self tag:SKCircleNote];
|
|
|
+// // [item setRepresentedObject:selections];
|
|
|
+// // item = [menu addItemWithTitle:NSLocalizedString(@"Add New Rectangle", @"Menu item title") action:@selector(addAnnotationsForSelections:) target:self tag:SKSquareNote];
|
|
|
+// // [item setRepresentedObject:selections];
|
|
|
+// // item = [menu addItemWithTitle:NSLocalizedString(@"Add New Highlight", @"Menu item title") action:@selector(addAnnotationsForSelections:) target:self tag:SKHighlightNote];
|
|
|
+// // [item setRepresentedObject:selections];
|
|
|
+// // item = [menu addItemWithTitle:NSLocalizedString(@"Add New Underline", @"Menu item title") action:@selector(addAnnotationsForSelections:) target:self tag:SKUnderlineNote];
|
|
|
+// // [item setRepresentedObject:selections];
|
|
|
+// // item = [menu addItemWithTitle:NSLocalizedString(@"Add New Strikethrough", @"Menu item title") action:@selector(addAnnotationsForSelections:) target:self tag:SKStrikeOutNote];
|
|
|
+// // [item setRepresentedObject:selections];
|
|
|
+// // }
|
|
|
+// // }
|
|
|
+// } else if ([menu isEqual:[rightSideController.snapshotTableView menu]]) {
|
|
|
+// NSInteger row = [rightSideController.snapshotTableView clickedRow];
|
|
|
+// if (row != -1) {
|
|
|
+// SKSnapshotWindowController *controller = [[rightSideController.snapshotArrayController arrangedObjects] objectAtIndex:row];
|
|
|
+//
|
|
|
+// if ([[controller window] isVisible]) {
|
|
|
+// item = [menu addItemWithTitle:NSLocalizedString(@"Hide", @"Menu item title") action:@selector(hideSnapshot:) target:self];
|
|
|
+// [item setRepresentedObject:controller];
|
|
|
+// } else {
|
|
|
+// item = [menu addItemWithTitle:NSLocalizedString(@"Show", @"Menu item title") action:@selector(showSnapshot:) target:self];
|
|
|
+// [item setRepresentedObject:controller];
|
|
|
+// }
|
|
|
+// [menu addItem:[NSMenuItem separatorItem]];
|
|
|
+//
|
|
|
+// item = [menu addItemWithTitle:NSLocalizedString(@"Export", @"Menu item title") action:nil target:self];
|
|
|
+// NSMenu *subMenu = [NSMenu menu];
|
|
|
+//
|
|
|
+// NSMenuItem *t = [subMenu addItemWithTitle:NSLocalizedString(@"PNG", @"Menu item title") action:@selector(menuItemClick_ExportPNG:) target:self];
|
|
|
+// [t setRepresentedObject:controller];
|
|
|
+//
|
|
|
+// t = [subMenu addItemWithTitle:NSLocalizedString(@"JPG", @"Menu item title") action:@selector(menuItemClick_ExportJPG:) target:self];
|
|
|
+// [t setRepresentedObject:controller];
|
|
|
+//
|
|
|
+// t = [subMenu addItemWithTitle:NSLocalizedString(@"PDF", @"Menu item title") action:@selector(menuItemClick_ExportPDF:) target:self];
|
|
|
+// [t setRepresentedObject:controller];
|
|
|
+// item.submenu = subMenu;
|
|
|
+//
|
|
|
+// item = [menu addItemWithTitle:NSLocalizedString(@"Print", @"Menu item title") action:@selector(menuItemClick_Print:) target:self];
|
|
|
+// [item setRepresentedObject:controller];
|
|
|
+// [menu addItem:[NSMenuItem separatorItem]];
|
|
|
+//
|
|
|
+// item = [menu addItemWithTitle:NSLocalizedString(@"Copy", @"Menu item title") action:@selector(menuItemClick_Copy:) target:self];
|
|
|
+// [item setRepresentedObject:controller];
|
|
|
+// [menu addItem:[NSMenuItem separatorItem]];
|
|
|
+//
|
|
|
+// item = [menu addItemWithTitle:NSLocalizedString(@"Delete", @"Menu item title") action:@selector(deleteSnapshot:) target:self];
|
|
|
+// [item setRepresentedObject:controller];
|
|
|
+// item = [menu addItemWithTitle:NSLocalizedString(@"Delete All Snapshots", @"Menu item title") action:@selector(deleteAllSnapshot:) target:self];
|
|
|
+// [item setRepresentedObject:controller];
|
|
|
+// }
|
|
|
+// } else if ([menu isEqual:[rightSideController.noteOutlineView menu]]) {
|
|
|
+// NSArray *items;
|
|
|
+// NSIndexSet *rowIndexes = [rightSideController.noteOutlineView selectedRowIndexes];
|
|
|
+// NSInteger row = [rightSideController.noteOutlineView clickedRow];
|
|
|
+// if (row != -1) {
|
|
|
+// if ([rowIndexes containsIndex:row] == NO)
|
|
|
+// rowIndexes = [NSIndexSet indexSetWithIndex:row];
|
|
|
+// items = [rightSideController.noteOutlineView itemsAtRowIndexes:rowIndexes];
|
|
|
+//
|
|
|
+// PDFAnnotation *foldNote = (PDFAnnotation *)notes[row];
|
|
|
+// BOOL isFold = YES;
|
|
|
+// if ([rightSideController.allFoldNotes containsObject:foldNote]) {
|
|
|
+// isFold = NO;
|
|
|
+// }
|
|
|
+// item = [menu addItemWithTitle:NSLocalizedString(@"Expand", nil) action:@selector(unfoldNoteAction:) target:self];
|
|
|
+// if (isFold)
|
|
|
+// [item setState:NSControlStateValueOff];
|
|
|
+// else
|
|
|
+// [item setState:NSControlStateValueOn];
|
|
|
+// [item setRepresentedObject:items];
|
|
|
+// item = [menu addItemWithTitle:NSLocalizedString(@"Collapse", nil) action:@selector(foldNoteAction:) target:self];
|
|
|
+// if (isFold)
|
|
|
+// [item setState:NSControlStateValueOn];
|
|
|
+// else
|
|
|
+// [item setState:NSControlStateValueOff];
|
|
|
+// [item setRepresentedObject:items];
|
|
|
+//
|
|
|
+// //UX改版删除
|
|
|
+// // if ([self outlineView:rightSideController.noteOutlineView canCopyItems:items]) {
|
|
|
+// // item = [menu addItemWithTitle:NSLocalizedString(@"Copy", @"Menu item title") action:@selector(copyNotes:) target:self];
|
|
|
+// // [item setRepresentedObject:items];
|
|
|
+// // }
|
|
|
+// [menu addItem:[NSMenuItem separatorItem]];
|
|
|
+// if ([pdfView hideNotes] == NO && [items count] == 1) {
|
|
|
+// PDFAnnotation *annotation = [[self noteItems:items] lastObject];
|
|
|
+// if ([annotation isEditable]) {
|
|
|
+// if ([(PDFAnnotation *)[items lastObject] type] == nil) {
|
|
|
+// if ([[(SKNoteText *)[items lastObject] note] isNote]) {
|
|
|
+// item = [menu addItemWithTitle:[NSLocalizedString(@"Edit", @"Menu item title") stringByAppendingEllipsis] action:@selector(editNoteTextFromTable:) target:self];
|
|
|
+// [item setRepresentedObject:annotation];
|
|
|
+// }
|
|
|
+// } else if ([[rightSideController.noteOutlineView tableColumnWithIdentifier:NOTE_COLUMNID] isHidden]) {
|
|
|
+// item = [menu addItemWithTitle:[NSLocalizedString(@"Edit", @"Menu item title") stringByAppendingEllipsis] action:@selector(editThisAnnotation:) target:pdfView];
|
|
|
+// [item setRepresentedObject:annotation];
|
|
|
+// } else {
|
|
|
+// item = [menu addItemWithTitle:NSLocalizedString(@"Edit", @"Menu item title") action:@selector(editNoteFromTable:) target:self];
|
|
|
+// [item setRepresentedObject:annotation];
|
|
|
+// item = [menu addItemWithTitle:[NSLocalizedString(@"Edit", @"Menu item title") stringByAppendingEllipsis] action:@selector(editThisAnnotation:) target:pdfView];
|
|
|
+// [item setRepresentedObject:annotation];
|
|
|
+// [item setKeyEquivalentModifierMask:NSEventModifierFlagOption];
|
|
|
+// [item setAlternate:YES];
|
|
|
+// }
|
|
|
+// }
|
|
|
+// // if ([pdfView hideNotes] == NO && [[self pdfDocument] allowsNotes]) {
|
|
|
+// // if ([pdfView activeAnnotation] == annotation) {
|
|
|
+// // item = [menu addItemWithTitle:NSLocalizedString(@"Deselect", @"Menu item title") action:@selector(deselectNote:) target:self];
|
|
|
+// // [item setRepresentedObject:annotation];
|
|
|
+// // } else {
|
|
|
+// // item = [menu addItemWithTitle:NSLocalizedString(@"Select", @"Menu item title") action:@selector(selectNote:) target:self];
|
|
|
+// // [item setRepresentedObject:annotation];
|
|
|
+// // }
|
|
|
+// // item = [menu addItemWithTitle:NSLocalizedString(@"Show", @"Menu item title") action:@selector(revealNote:) target:self];
|
|
|
+// // [item setRepresentedObject:annotation];
|
|
|
+// // }
|
|
|
+// }
|
|
|
+// // if ([menu numberOfItems] > 0)
|
|
|
+// // [menu addItem:[NSMenuItem separatorItem]];
|
|
|
+// // item = [menu addItemWithTitle:[items count] == 1 ? NSLocalizedString(@"Auto Size Row", @"Menu item title") : NSLocalizedString(@"Auto Size Rows", @"Menu item title") action:@selector(autoSizeNoteRows:) target:self];
|
|
|
+// // [item setRepresentedObject:items];
|
|
|
+// // item = [menu addItemWithTitle:[items count] == 1 ? NSLocalizedString(@"Undo Auto Size Row", @"Menu item title") : NSLocalizedString(@"Undo Auto Size Rows", @"Menu item title") action:@selector(resetHeightOfNoteRows:) target:self];
|
|
|
+// // [item setRepresentedObject:items];
|
|
|
+// // [item setKeyEquivalentModifierMask:NSAlternateKeyMask];
|
|
|
+// // [item setAlternate:YES];
|
|
|
+// // [menu addItemWithTitle:NSLocalizedString(@"Auto Size All", @"Menu item title") action:@selector(autoSizeNoteRows:) target:self];
|
|
|
+// // item = [menu addItemWithTitle:NSLocalizedString(@"Undo Auto Size All", @"Menu item title") action:@selector(resetHeightOfNoteRows:) target:self];
|
|
|
+// // [item setKeyEquivalentModifierMask:NSAlternateKeyMask];
|
|
|
+// // [item setAlternate:YES];
|
|
|
+// // [menu addItemWithTitle:NSLocalizedString(@"Automatically Resize", @"Menu item title") action:@selector(toggleAutoResizeNoteRows:) target:self];
|
|
|
+//
|
|
|
+// if ([menu numberOfItems] > 0) {
|
|
|
+// // [menu addItem:[NSMenuItem separatorItem]];
|
|
|
+// item = [menu addItemWithTitle:NSLocalizedStringFromTable(@"Export Annotations…", @"MainMenu", @"Menu item title") action:@selector(exportAnnotationNotes:) target:self];
|
|
|
+//
|
|
|
+// NSMenu *subMenu = [NSMenu menu];
|
|
|
+// item.submenu = subMenu;
|
|
|
+// item = [subMenu addItemWithTitle:NSLocalizedStringFromTable(@"PDF", @"MainMenu", @"Menu item title") action:@selector(exportAnnotationNotes:) target:self];
|
|
|
+// item.tag = 0;
|
|
|
+// item = [subMenu addItemWithTitle:NSLocalizedStringFromTable(@"PDF Bundle", @"MainMenu", @"Menu item title") action:@selector(exportAnnotationNotes:) target:self];
|
|
|
+// item.tag = 1;
|
|
|
+// item = [subMenu addItemWithTitle:NSLocalizedStringFromTable(@"PDF Reader Pro Edition Notes", @"MainMenu", @"Menu item title") action:@selector(exportAnnotationNotes:) target:self];
|
|
|
+// item.tag = 2;
|
|
|
+// item = [subMenu addItemWithTitle:NSLocalizedStringFromTable(@"Notes as Text", @"MainMenu", @"Menu item title") action:@selector(exportAnnotationNotes:) target:self];
|
|
|
+// item.tag = 3;
|
|
|
+// item = [subMenu addItemWithTitle:NSLocalizedStringFromTable(@"Notes as RTF", @"MainMenu", @"Menu item title") action:@selector(exportAnnotationNotes:) target:self];
|
|
|
+// item.tag = 4;
|
|
|
+// item = [subMenu addItemWithTitle:NSLocalizedStringFromTable(@"Notes as RTFD", @"MainMenu", @"Menu item title") action:@selector(exportAnnotationNotes:) target:self];
|
|
|
+// item.tag = 5;
|
|
|
+// item = [subMenu addItemWithTitle:NSLocalizedStringFromTable(@"Notes as FDF", @"MainMenu", @"Menu item title") action:@selector(exportAnnotationNotes:) target:self];
|
|
|
+// item.tag = 6;
|
|
|
+//
|
|
|
+// [menu addItem:[NSMenuItem separatorItem]];
|
|
|
+// if ([self outlineView:rightSideController.noteOutlineView canDeleteItems:items]) {
|
|
|
+// item = [menu addItemWithTitle:NSLocalizedString(@"Delete", @"Menu item title") action:@selector(deleteNotes:) target:self];
|
|
|
+// [item setRepresentedObject:items];
|
|
|
+// }
|
|
|
+// item = [menu addItemWithTitle:NSLocalizedStringFromTable(@"Remove All Annotations", @"MainMenu", @"Menu item title") action:@selector(removeAllAnnotations:) target:self];
|
|
|
+// }
|
|
|
+//
|
|
|
+//
|
|
|
+// } else {
|
|
|
+// item = [menu addItemWithTitle:NSLocalizedStringFromTable(@"Export Annotations…", @"MainMenu", @"Menu item title") action:@selector(exportAnnotationNotes:) target:self];
|
|
|
+//
|
|
|
+// NSMenu *subMenu = [NSMenu menu];
|
|
|
+// item.submenu = subMenu;
|
|
|
+// item = [subMenu addItemWithTitle:NSLocalizedStringFromTable(@"PDF", @"MainMenu", @"Menu item title") action:@selector(exportAnnotationNotes:) target:self];
|
|
|
+// item.tag = 0;
|
|
|
+// item = [subMenu addItemWithTitle:NSLocalizedStringFromTable(@"PDF Bundle", @"MainMenu", @"Menu item title") action:@selector(exportAnnotationNotes:) target:self];
|
|
|
+// item.tag = 1;
|
|
|
+// item = [subMenu addItemWithTitle:NSLocalizedStringFromTable(@"PDF Reader Pro Edition Notes", @"MainMenu", @"Menu item title") action:@selector(exportAnnotationNotes:) target:self];
|
|
|
+// item.tag = 2;
|
|
|
+// item = [subMenu addItemWithTitle:NSLocalizedStringFromTable(@"Notes as Text", @"MainMenu", @"Menu item title") action:@selector(exportAnnotationNotes:) target:self];
|
|
|
+// item.tag = 3;
|
|
|
+// item = [subMenu addItemWithTitle:NSLocalizedStringFromTable(@"Notes as RTF", @"MainMenu", @"Menu item title") action:@selector(exportAnnotationNotes:) target:self];
|
|
|
+// item.tag = 4;
|
|
|
+// item = [subMenu addItemWithTitle:NSLocalizedStringFromTable(@"Notes as RTFD", @"MainMenu", @"Menu item title") action:@selector(exportAnnotationNotes:) target:self];
|
|
|
+// item.tag = 5;
|
|
|
+// item = [subMenu addItemWithTitle:NSLocalizedStringFromTable(@"Notes as FDF", @"MainMenu", @"Menu item title") action:@selector(exportAnnotationNotes:) target:self];
|
|
|
+// item.tag = 6;
|
|
|
+//
|
|
|
+// item = [menu addItemWithTitle:NSLocalizedStringFromTable(@"Remove All Annotations", @"MainMenu", @"Menu item title") action:@selector(removeAllAnnotations:) target:self];
|
|
|
+// }
|
|
|
+// }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// MARK: - Menu Item Actions
|
|
|
+
|
|
|
+extension KMLeftSideViewController {
|
|
|
+ @objc func cutPage(_ sender: AnyObject?) {
|
|
|
+ KMPrint("KMLeftSideViewController-cutPage...")
|
|
|
+// if (![IAPProductsManager defaultManager].isAvailableAllFunction) {
|
|
|
+// [[KMPurchaseCompareWindowController sharedInstance] showWindow:nil];
|
|
|
+// return;
|
|
|
+// }
|
|
|
+// [self tableView:leftSideController.thumbnailTableView cutRowsWithIndexes:leftSideController.thumbnailTableView.selectedRowIndexes];
|
|
|
+ }
|
|
|
+
|
|
|
+ @objc func copyPage(_ sender: AnyObject?) {
|
|
|
+ KMPrint("KMLeftSideViewController-copyPage...")
|
|
|
+// [self tableView:leftSideController.thumbnailTableView copyRowsWithIndexes:leftSideController.thumbnailTableView.selectedRowIndexes];
|
|
|
+ }
|
|
|
+
|
|
|
+ @objc func pastePage(_ sender: AnyObject?) {
|
|
|
+ KMPrint("KMLeftSideViewController-pastePage...")
|
|
|
+// [self tableView:leftSideController.thumbnailTableView pasteFromPasteboard:nil];
|
|
|
+ }
|
|
|
+
|
|
|
+ @objc func deletePage(_ sender: AnyObject?) {
|
|
|
+ KMPrint("KMLeftSideViewController-deletePage...")
|
|
|
+// if (![IAPProductsManager defaultManager].isAvailableAllFunction) {
|
|
|
+// [[KMPurchaseCompareWindowController sharedInstance] showWindow:nil];
|
|
|
+// return;
|
|
|
+// }
|
|
|
+// [self tableView:leftSideController.thumbnailTableView deleteRowsWithIndexes:leftSideController.thumbnailTableView.selectedRowIndexes];
|
|
|
+ }
|
|
|
+
|
|
|
+ @objc func rotatePage(_ sender: AnyObject?) {
|
|
|
+ KMPrint("KMLeftSideViewController-rotatePage...")
|
|
|
+// if (![IAPProductsManager defaultManager].isAvailableAllFunction) {
|
|
|
+// [[KMPurchaseCompareWindowController sharedInstance] showWindow:nil];
|
|
|
+// return;
|
|
|
+// }
|
|
|
+//
|
|
|
+// [self tableView:leftSideController.thumbnailTableView rotateRowsWithIndexes:leftSideController.thumbnailTableView.selectedRowIndexes];
|
|
|
+ }
|
|
|
+
|
|
|
+ @objc func quickInsert(_ sender: AnyObject?) {
|
|
|
+ KMPrint("KMLeftSideViewController-quickInsert...")
|
|
|
+ }
|
|
|
+
|
|
|
+ @objc func insert(_ sender: AnyObject?) {
|
|
|
+ KMPrint("KMLeftSideViewController-insert...")
|
|
|
+ }
|
|
|
+
|
|
|
+ @objc func insertPDF(_ sender: AnyObject?) {
|
|
|
+ KMPrint("KMLeftSideViewController-insertPDF...")
|
|
|
+ }
|
|
|
+
|
|
|
+ @objc func extractPage(_ sender: AnyObject?) {
|
|
|
+ KMPrint("KMLeftSideViewController-extractPage...")
|
|
|
+ }
|
|
|
+
|
|
|
+ @objc func pageEdit(_ sender: AnyObject?) {
|
|
|
+ KMPrint("KMLeftSideViewController-pageEdit...")
|
|
|
+ }
|
|
|
+
|
|
|
+ @objc func displayPageSize(_ sender: AnyObject?) {
|
|
|
+ KMPrint("KMLeftSideViewController-displayPageSize...")
|
|
|
+ }
|
|
|
+
|
|
|
+ @objc func sharePage(_ sender: AnyObject?) {
|
|
|
+ KMPrint("KMLeftSideViewController-sharePage...")
|
|
|
+ }
|
|
|
+
|
|
|
+ private func _tableView(_ tv: NSTableView, cutRowsWithIndexes rowIndexes: IndexSet) {
|
|
|
+// if tv.isEqual(to: self.thumbnailTableView) {
|
|
|
+// self._copysPages.removeAll()
|
|
|
+// for i in rowIndexes {
|
|
|
+// if (idx != NSNotFound) {
|
|
|
+// let page = self.listView.document.page(at: idx)
|
|
|
+// self._copysPages.append(page)
|
|
|
+// }
|
|
|
+// }
|
|
|
+// [self tableView:tv deleteRowsWithIndexes:rowIndexes];
|
|
|
+// }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|