Bladeren bron

【系统菜单栏】批注菜单,补充form表单、编辑笔记入口

tangchao 1 jaar geleden
bovenliggende
commit
1396c565b7

+ 10 - 5
PDF Office/PDF Master/Class/ChromiumTabs/KMBrowserWindowController.swift

@@ -693,10 +693,6 @@ extension KMBrowserWindowController {
         }
     }
     
-    @IBAction func editNote(_ sender: Any?) {
-        KMPrint("editNote ...")
-    }
-    
     @IBAction func changeColor(_ sender: Any?) {
         KMPrint("changeColor ...")
     }
@@ -2059,7 +2055,16 @@ extension KMBrowserWindowController {
             return
         }
         if let document = self.browser.activeTabContents() as? KMMainDocument, document.isHome == false {
-            document.mainViewController?.table(addForm)
+            document.mainViewController?.addForm(sender)
+        }
+    }
+    
+    @IBAction func editNote(_ sender: Any?) {
+        if (self.canResponseDocumentAction() == false) {
+            return
+        }
+        if let document = self.browser.activeTabContents() as? KMMainDocument, document.isHome == false {
+            document.mainViewController?.editNote(sender)
         }
     }
     

+ 33 - 0
PDF Office/PDF Master/Class/PDFWindowController/Toolbar/KMToolbarViewController.swift

@@ -974,6 +974,39 @@ extension KMToolbarViewController : KMToolbarViewDelegate,NSToolbarItemValidatio
                         }
                     }
                 }
+            } else if self.toolbarType == .Form {
+                item.isSelected = false
+                if pdfView.toolMode == .formToolMode {
+                    if item.itemIdentifier == KMToolbarToolTextFieldItemIdentifier {
+                       if annotationType == .textField {
+                            item.isSelected = true
+                        }
+                    } else if item.itemIdentifier == KMToolbarToolCheckBoxItemIdentifier {
+                        if annotationType == .checkBox {
+                            item.isSelected = true
+                        }
+                    } else if item.itemIdentifier == KMToolbarToolRadioButtonItemIdentifier {
+                        if annotationType == .radioButton {
+                            item.isSelected = true
+                        }
+                    } else if item.itemIdentifier == KMToolbarToolListBoxItemIdentifier {
+                        if annotationType == .listMenu {
+                            item.isSelected = true
+                        }
+                    } else if item.itemIdentifier == KMToolbarToolPullDownmenuItemIdentifier {
+                        if annotationType == .comboBox {
+                            item.isSelected = true
+                        }
+                    } else if item.itemIdentifier == KMToolbarToolButtonIdentifier {
+                        if annotationType == .actionButton {
+                            item.isSelected = true
+                        }
+                    } else if item.itemIdentifier == KMToolbarToolSignBoxIdentifier {
+                        if annotationType == .signature {
+                            item.isSelected = true
+                        }
+                    }
+                }
             }
         }
     }

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

@@ -4543,6 +4543,7 @@ extension KMMainViewController : KMMainToolbarControllerDelegate {
                 } else if toolbarItem.itemIdentifier == KMToolbarConversionOCRIdentifier {
                     self.showOCRWindow()
                 } else if toolbarItem.itemIdentifier == KMAnnotationImageToolbarItemIdentifier {
+                    toolbarItem.isSelected = false
                     self.imageAnnotation(toolbarItem)
                 } else if toolbarItem.itemIdentifier == KMAnnotationTableToolbarItemIdentifier {
                     self.tableAnnotation(toolbarItem)

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

@@ -580,6 +580,16 @@ extension KMMainViewController {
         }
     }
     
+    @IBAction func editNote(_ sender: Any?) {
+        if self.listView.hideNotes {
+            NSSound.beep()
+            return
+        }
+        if let anno = self.listView.activeAnnotation {
+            self.listView.edit(anno)
+        }
+    }
+    
     @IBAction func menuItemAction_hiddenAllAnnotation(_ sender: Any) {
         self.showOrHideNotes()
     }
@@ -1408,6 +1418,18 @@ extension KMMainViewController: NSMenuItemValidation, NSMenuDelegate {
             }
         }
         
+        if KMSystemMenu.isAnnotationSelector(sel: action) {
+            if action == KMSystemMenu.Annotation.editNoteSelector {
+                if self.interactionMode == .presentation {
+                    return false
+                }
+                guard let anno = self.listView?.activeAnnotation else {
+                    return false
+                }
+                return anno.isEditable()
+            }
+        }
+        
         return true
     }
 }

+ 3 - 0
PDF Office/PDF Master/Class/README.md

@@ -47,6 +47,9 @@
 ## 幻灯片
 * 选项设置 SKPresentationOptionsSheetController
 
+## 注释工具
+* 笔记 CPDFListAnnotationNoteWindowController
+
 ## xxx
 
 [sign in](https://www.baidu.com) the [dashboard](https://www.baidu.com). to [sign up](https://www.baidu.com) 

+ 7 - 1
PDF Office/PDF Master/Class/SystemMenu/KMSystemAnnotationMenu.swift

@@ -38,6 +38,8 @@ protocol KMSystemAnnotationMenuProtocol: NSObjectProtocol {
     func table(_ sender: Any)
     func addForm(_ sender: Any)
     
+    func editNote(_ sender: Any)
+    
     func menuItemAction_hiddenAllAnnotation(_ sender: Any)
     func menuItemAction_clearAllAnnotation(_ sender: Any)
 }
@@ -57,6 +59,8 @@ extension KMSystemAnnotationMenuProtocol {
     func image(_ sender: Any) {}
     func table(_ sender: Any) {}
     func addForm(_ sender: Any) {}
+    
+    func editNote(_ sender: Any) {}
 }
 
 extension KMSystemMenu.Annotation {
@@ -88,6 +92,8 @@ extension KMSystemMenu.Annotation {
     public static let tableSelector       = NSSelectorFromString("table:")
     public static let addFormSelector       = NSSelectorFromString("addForm:")
     
+    public static let editNoteSelector       = NSSelectorFromString("editNote:")
+    
     public static let hiddenAllSelector     = NSSelectorFromString("menuItemAction_hiddenAllAnnotation:")
     public static let clearAllSelector      = NSSelectorFromString("menuItemAction_clearAllAnnotation:")
     
@@ -100,7 +106,7 @@ extension KMSystemMenu.Annotation {
                 // stamp
                 self.stampSelector, self.stampStandardSelector, self.stampDynamicSelector, self.stampCustomSelector, self.notesStampSelector, 
                 // other
-                self.signureSelector, self.imageSelector, self.tableSelector, self.addFormSelector,
+                self.signureSelector, self.imageSelector, self.tableSelector, self.addFormSelector, self.editNoteSelector,
                 self.hiddenAllSelector, self.clearAllSelector]
     }
 }

+ 8 - 8
PDF Office/PDF Reader Pro.xcodeproj/xcuserdata/kdanmobile.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -46,8 +46,8 @@
             filePath = "PDF Master/Class/ChromiumTabs/KMBrowserWindowController.swift"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "1773"
-            endingLineNumber = "1773"
+            startingLineNumber = "1769"
+            endingLineNumber = "1769"
             landmarkName = "togglePresentation(_:)"
             landmarkType = "7">
          </BreakpointContent>
@@ -237,8 +237,8 @@
             filePath = "PDF Master/Class/ChromiumTabs/KMBrowserWindowController.swift"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "808"
-            endingLineNumber = "808"
+            startingLineNumber = "804"
+            endingLineNumber = "804"
             landmarkName = "toggleFullscreen(_:)"
             landmarkType = "7">
          </BreakpointContent>
@@ -285,8 +285,8 @@
             filePath = "PDF Master/Class/PDFWindowController/ViewController/KMMainViewController+MenuAction.swift"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "946"
-            endingLineNumber = "946"
+            startingLineNumber = "956"
+            endingLineNumber = "956"
             landmarkName = "autoCropAll(_:)"
             landmarkType = "7">
          </BreakpointContent>
@@ -301,8 +301,8 @@
             filePath = "PDF Master/Class/PDFWindowController/ViewController/KMMainViewController+MenuAction.swift"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "951"
-            endingLineNumber = "951"
+            startingLineNumber = "961"
+            endingLineNumber = "961"
             landmarkName = "smartAutoCropAll(_:)"
             landmarkType = "7">
          </BreakpointContent>