Browse Source

【BOTA】搜索列表分组场景补充细节

tangchao 1 year ago
parent
commit
6e9dd12a6f

+ 3 - 0
PDF Office/PDF Master/Class/Common/Category/CPDFKit/CPDFView+KMExtension.swift

@@ -23,5 +23,8 @@ import Foundation
         return self.document?.insertPage(pageSize, at: UInt(index)) ?? false
     }
 
+    @objc func allowsNotes() -> Bool {
+        return self.document?.allowsNotes() ?? false
+    }
     
 }

+ 12 - 0
PDF Office/PDF Master/Class/PDFWindowController/PDFListView/CPDFKitExtensions/CPDFDocumentExtensions/CPDFDocument+KMExtension.swift

@@ -171,4 +171,16 @@ extension CPDFDocument {
          
          */
     }
+    
+    func allowsNotes() -> Bool {
+//        return [self isLocked] == NO &&
+//        ([self respondsToSelector:@selector(allowsCommenting)] == NO || [self allowsCommenting]);
+        if self.isLocked {
+            return false
+        }
+        if self.allowsCommenting {
+            return true
+        }
+        return false
+    }
 }

+ 3 - 30
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/KMLeftSideViewController+Action.swift

@@ -334,8 +334,7 @@ extension KMLeftSideViewController: NSMenuDelegate {
                         selections.append(data.selection)
                     }
                 }
-//                if ([pdfView hideNotes] == NO && [[self pdfDocument] allowsNotes]) {
-                if self.listView.hideNotes == false {
+                if self.listView.hideNotes == false && self.listView.allowsNotes() {
                     item = menu.addItem(withTitle: KMLocalizedString("Add New Circle", "Menu item title"), action: #selector(addAnnotationsForSelections), target: self, tag: CAnnotationType.circle.rawValue)
                     item?.representedObject = selections
                     item = menu.addItem(withTitle: KMLocalizedString("Add New Rectangle", "Menu item title"), action: #selector(addAnnotationsForSelections), target: self, tag: CAnnotationType.square.rawValue)
@@ -368,8 +367,7 @@ extension KMLeftSideViewController: NSMenuDelegate {
                 item = menu.addItem(title: KMLocalizedString("Select", "Menu item title"), action: #selector(selectSelections), target: self)
                 item?.representedObject = selections
                 menu.addItem(.separator())
-//                if ([pdfView hideNotes] == NO && [[self pdfDocument] allowsNotes]) {
-                if self.listView.hideNotes == false {
+                if self.listView.hideNotes == false && self.listView.allowsNotes() {
                     item = menu.addItem(withTitle: KMLocalizedString("Add New Circle", "Menu item title"), action: #selector(addAnnotationsForSelections), target: self, tag: CAnnotationType.circle.rawValue)
                     item?.representedObject = selections
                     item = menu.addItem(withTitle: KMLocalizedString("Add New Rectangle", "Menu item title"), action: #selector(addAnnotationsForSelections), target: self, tag: CAnnotationType.square.rawValue)
@@ -455,8 +453,7 @@ extension KMLeftSideViewController: NSMenuDelegate {
                 item?.representedObject = items
                 
                 menu.addItem(.separator())
-                if self.listView.hideNotes == false {
-                    //                                if ([pdfView hideNotes] == NO && [items count] == 1) {
+                if self.listView.hideNotes == false && (items?.count ?? 0) == 1 {
                     let annotation = self.noteItems(items!).lastObject as? CPDFAnnotation
                     if let data = annotation?.isEditable(), data {
                         if annotation?.type == nil {
@@ -646,18 +643,6 @@ extension KMLeftSideViewController: NSMenuItemValidation {
         //            return [self interactionMode] != SKPresentationMode && [[self pdfDocument] isLocked] == NO && [pdfView toolMode] == SKSelectToolMode;
         //        } else if (action == @selector(takeSnapshot:)) {
         //            return [[self pdfDocument] isLocked] == NO;
-        //        } else if (action == @selector(toggleLeftSidePane:)) {
-        //            if ([self leftSidePaneIsOpen])
-        //                [menuItem setTitle:NSLocalizedString(@"Hide Panel", @"Menu item title")];
-        //            else
-        //                [menuItem setTitle:NSLocalizedString(@"Show Panel", @"Menu item title")];
-        //            return YES;
-        //        } else if (action == @selector(toggleRightSidePane:)) {
-        //            if ([self rightSidePaneIsOpen])
-        //                [menuItem setTitle:NSLocalizedString(@"Hide Notes Pane", @"Menu item title")];
-        //            else
-        //                [menuItem setTitle:NSLocalizedString(@"Show Notes Pane", @"Menu item title")];
-        //            return [self interactionMode] != SKPresentationMode;
         //        } else if (action == @selector(changeLeftSidePaneState:)) {
         //            [menuItem setState:mwcFlags.leftSidePaneState == (SKLeftSidePaneState)[menuItem tag] ? (([leftSideController.findTableView window] || [leftSideController.groupedFindTableView window]) ? NSMixedState : NSOnState) : NSOffState];
         //            return (SKLeftSidePaneState)[menuItem tag] == SKSidePaneStateThumbnail || [[pdfView document] outlineRoot];
@@ -756,9 +741,6 @@ extension KMLeftSideViewController: NSMenuItemValidation {
         //            return ([self.pdfView toolMode] == SKTextToolMode || [self.pdfView toolMode] == SKNoteToolMode) && [self.pdfView hideNotes] == NO && [self.pdfView.document isLocked] == NO && [[self.pdfView currentSelection] hasCharacters];
         //        } else if (action == @selector(deletePage:)) {
         //            return self.pdfView.document.pageCount > 1 ? YES : NO;
-        //        } else if (action == @selector(toggleAutoFlow:)) {
-        //            [menuItem setState:[self.pdfView isAutoFlow] ? NSOnState : NSOffState];
-        //            return YES;
         //        } else if (action == @selector(themesColor:)){
         //            if (KMPDFViewModeNormal== self.pdfView.viewMode) {
         //                [menuItem setState:(menuItem.tag == 0)?NSOnState:NSOffState];
@@ -797,15 +779,6 @@ extension KMLeftSideViewController: NSMenuItemValidation {
         //                return YES;
         //            }
         //        } else
-        //        if (action == @selector(splitViewAction:)){
-        //            if (KMPDFViewSplitModeHorizontal == self.pdfView.viewSplitMode) {
-        //                [menuItem setState:(menuItem.tag == 0)?NSOnState:NSOffState];
-        //            } else if (KMPDFViewSplitModeVertical == self.pdfView.viewSplitMode) {
-        //                [menuItem setState:(menuItem.tag == 1)?NSOnState:NSOffState];
-        //            } else if (KMPDFViewSplitModeDisable == self.pdfView.viewSplitMode) {
-        //                [menuItem setState:(menuItem.tag == 2)?NSOnState:NSOffState];
-        //            }
-        //        } else
         if (action == #selector(outlineContextMenuItemClicked_AddEntry) ||
             action == #selector(outlineContextMenuItemClicked_AddChildEntry) ||
             action == #selector(outlineContextMenuItemClicked_AddAuntEntry) ||

+ 0 - 1
PDF Office/PDF Master/Class/PDFWindowController/ViewController/KMMainViewController+MenuAction.swift

@@ -439,7 +439,6 @@ extension KMMainViewController {
     }
     
     @IBAction func toggleAutoFlow(_ sender: Any?) {
-        KMPrint("toggleAutoFlow")
         if (self.listView.isAutoFlow()) {
             self.listView.stopAutoFlow()
         } else {