Browse Source

【综合】系统菜单栏,View菜单 左边栏菜单入口补充

tangchao 1 year ago
parent
commit
5b18230109

+ 38 - 6
PDF Office/PDF Master.xcodeproj/xcuserdata/kdanmobile.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -318,8 +318,8 @@
             filePath = "PDF Master/Class/PDFWindowController/ViewController/KMMainViewController+MenuAction.swift"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "1179"
-            endingLineNumber = "1179"
+            startingLineNumber = "1189"
+            endingLineNumber = "1189"
             landmarkName = "rotateAllRight(_:)"
             landmarkType = "7">
          </BreakpointContent>
@@ -334,8 +334,8 @@
             filePath = "PDF Master/Class/ChromiumTabs/KMBrowserWindowController.swift"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "2357"
-            endingLineNumber = "2357"
+            startingLineNumber = "2362"
+            endingLineNumber = "2362"
             landmarkName = "autoSelectContent(_:)"
             landmarkType = "7">
          </BreakpointContent>
@@ -350,8 +350,8 @@
             filePath = "PDF Master/Class/ChromiumTabs/KMBrowserWindowController.swift"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "2086"
-            endingLineNumber = "2086"
+            startingLineNumber = "2091"
+            endingLineNumber = "2091"
             landmarkName = "editWatermark(_:)"
             landmarkType = "7">
          </BreakpointContent>
@@ -420,5 +420,37 @@
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "875AF444-D860-4A57-8CA8-4DE7812FEB01"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "PDF Master/Class/PDFWindowController/ViewController/KMMainViewController+MenuAction.swift"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "400"
+            endingLineNumber = "400"
+            landmarkName = "menuItemAction_annotation(_:)"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "EB366725-5AE5-4BA6-8D62-1A129E67E084"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "PDF Master/Class/PDFWindowController/ViewController/KMMainViewController+MenuAction.swift"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "405"
+            endingLineNumber = "405"
+            landmarkName = "menuItemAction_search(_:)"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
    </Breakpoints>
 </Bucket>

+ 9 - 4
PDF Office/PDF Master/Class/ChromiumTabs/KMBrowserWindowController.swift

@@ -617,10 +617,6 @@ extension KMBrowserWindowController {
         KMPrint("editNote ...")
     }
     
-    @IBAction func changeLeftSidePaneState(_ sender: Any?) {
-        KMPrint("changeLeftSidePaneState ...")
-    }
-    
     @IBAction func splitViewAction(_ sender: Any?) {
         KMPrint("splitViewAction ...")
     }
@@ -1374,6 +1370,15 @@ extension KMBrowserWindowController: KMSystemViewMenuProtocol {
             document.mainViewController?.toggleLeftSidePane(sender)
         }
     }
+    
+    @IBAction func changeLeftSidePaneState(_ sender: Any?) {
+        if (self.canResponseDocumentAction() == false) {
+            return
+        }
+        if let document = self.browser.activeTabContents() as? KMMainDocument, document.isHome == false {
+            document.mainViewController?.changeLeftSidePaneState(sender)
+        }
+    }
 }
 
 // MARK: - KMSystemEditMenuProtocol

+ 14 - 0
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/KMLeftSideViewController.swift

@@ -5286,6 +5286,20 @@ extension KMLeftSideViewController {
         }
         return ""
     }
+    
+    func switchType(_ type: BotaType) {
+        if type == .Thumbnail {
+            self.leftView.segmentedControl.selectedSegment = 0
+        } else if type == .Outline {
+            self.leftView.segmentedControl.selectedSegment = 1
+        } else if type == .Annotation {
+            self.leftView.segmentedControl.selectedSegment = 2
+        } else if type == .snapshot {
+            self.leftView.segmentedControl.selectedSegment = 3
+        } else if type == .Search {
+            self.leftView.segmentedControl.selectedSegment = 4
+        }
+    }
 
 }
 

+ 21 - 6
PDF Office/PDF Master/Class/PDFWindowController/ViewController/KMMainViewController+MenuAction.swift

@@ -385,23 +385,23 @@ extension KMMainViewController {
     }
     
     @IBAction func menuItemAction_thumai(_ sender: Any) {
-        self.leftSideViewController.refreshMethodType(methodType: .Thumbnail)
+        self.leftSideViewController.switchType(.Thumbnail)
     }
 
     @IBAction func menuItemAction_outline(_ sender: Any) {
-        self.leftSideViewController.refreshMethodType(methodType: .Outline)
+        self.leftSideViewController.switchType(.Outline)
     }
 
     @IBAction func menuItemAction_bookmark(_ sender: Any) {
-        self.leftSideViewController.refreshMethodType(methodType: .BookMark)
+        self.leftSideViewController.switchType(.Annotation)
     }
     
     @IBAction func menuItemAction_annotation(_ sender: Any) {
-        self.leftSideViewController.refreshMethodType(methodType: .Annotation)
+        self.leftSideViewController.switchType(.Annotation)
     }
 
     @IBAction func menuItemAction_search(_ sender: Any) {
-        self.leftSideViewController.refreshMethodType(methodType: .Search)
+        self.leftSideViewController.switchType(.Search)
     }
 
     @IBAction func menuItemAction_topic(_ sender: Any) {
@@ -447,6 +447,16 @@ extension KMMainViewController {
             self.openLeftPane()
         }
     }
+    
+    @IBAction func changeLeftSidePaneState(_ sender: Any?) {
+        guard let item = sender as? NSMenuItem else {
+            NSSound.beep()
+            return
+        }
+        if item.tag == 3 {
+            self.leftSideViewController.switchType(.snapshot)
+        }
+    }
 }
 
 // MARK: Annotation Menu
@@ -1237,7 +1247,7 @@ extension KMMainViewController: NSMenuItemValidation, NSMenuDelegate {
             if (menuItem.action == #selector(menuItemAction_outline) && type == .Outline) {
                 menuItem.state = .on
             }
-            if (menuItem.action == #selector(menuItemAction_bookmark) && type == .BookMark) {
+            if (menuItem.action == #selector(menuItemAction_bookmark) && type == .Annotation) {
                 menuItem.state = .on
             }
             if (menuItem.action == #selector(menuItemAction_annotation) && type == .Annotation) {
@@ -1351,6 +1361,11 @@ extension KMMainViewController: NSMenuItemValidation, NSMenuDelegate {
                     menuItem.title = NSLocalizedString("Show Panel", comment: "Menu item title")
                 }
                 return true
+            } else if action == KMSystemMenu.View.changeLeftSidePaneStateSelector {
+                if menuItem.tag == 3 { // 快照
+                    menuItem.state = self.leftSideViewController.type.methodType == .snapshot ? .on : .off
+                }
+                return true
             }
         }
         

+ 5 - 1
PDF Office/PDF Master/Class/SystemMenu/KMSystemViewMenu.swift

@@ -62,6 +62,7 @@ protocol KMSystemViewMenuProtocol {
     func toggleReadingBar(_ sender: Any?)
     
     func toggleLeftSidePane(_ sender: Any?)
+    func changeLeftSidePaneState(_ sender: Any?)
     
 }
 extension KMSystemViewMenuProtocol {
@@ -128,6 +129,8 @@ extension KMSystemMenu.View {
     
     public static let toggleLeftSidePaneSelector   = NSSelectorFromString("toggleLeftSidePane:")
     
+    public static let changeLeftSidePaneStateSelector   = NSSelectorFromString("changeLeftSidePaneState:")
+    
     public static func actions() -> [Selector] {
         return [self.adjustWidthSelector, self.adjustPageSelector, self.sizeSelector, self.zoomOutSelector, self.zoomInSelector,
                 // page show
@@ -145,6 +148,7 @@ extension KMSystemMenu.View {
                 self.togglePresentationSelector, self.chooseTransitionSelector,
                 self.toggleAutoFlowSelector, self.chooseAutoFlowSettingSelector,
                 self.toggleReadingBarSelector,
-                self.toggleLeftSidePaneSelector]
+                self.toggleLeftSidePaneSelector,
+                self.changeLeftSidePaneStateSelector]
     }
 }