Pārlūkot izejas kodu

【综合】系统菜单栏PDF展示相关菜单入口补充

tangchao 1 gadu atpakaļ
vecāks
revīzija
e5966a027e

+ 8 - 0
PDF Office/PDF Master.xcodeproj/project.pbxproj

@@ -2854,6 +2854,9 @@
 		BB3A429A2B4BC75D006D0642 /* NotesPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB3A42992B4BC75C006D0642 /* NotesPanel.xib */; };
 		BB3A429B2B4BC75D006D0642 /* NotesPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB3A42992B4BC75C006D0642 /* NotesPanel.xib */; };
 		BB3A429C2B4BC75D006D0642 /* NotesPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB3A42992B4BC75C006D0642 /* NotesPanel.xib */; };
+		BB3A429E2B4BF03A006D0642 /* KMSystemPDFMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB3A429D2B4BF03A006D0642 /* KMSystemPDFMenu.swift */; };
+		BB3A429F2B4BF03A006D0642 /* KMSystemPDFMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB3A429D2B4BF03A006D0642 /* KMSystemPDFMenu.swift */; };
+		BB3A42A02B4BF03A006D0642 /* KMSystemPDFMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB3A429D2B4BF03A006D0642 /* KMSystemPDFMenu.swift */; };
 		BB3A668C2B06FD0100575343 /* KMBotaEnum.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB3A668B2B06FD0100575343 /* KMBotaEnum.swift */; };
 		BB3A668D2B06FD0100575343 /* KMBotaEnum.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB3A668B2B06FD0100575343 /* KMBotaEnum.swift */; };
 		BB3A668E2B06FD0100575343 /* KMBotaEnum.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB3A668B2B06FD0100575343 /* KMBotaEnum.swift */; };
@@ -5591,6 +5594,7 @@
 		BB35C49E2975362900D46EE2 /* KMRedactTopToolBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMRedactTopToolBar.swift; sourceTree = "<group>"; };
 		BB3A42952B4BC72C006D0642 /* KMNotesPanelController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMNotesPanelController.swift; sourceTree = "<group>"; };
 		BB3A42992B4BC75C006D0642 /* NotesPanel.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = NotesPanel.xib; sourceTree = "<group>"; };
+		BB3A429D2B4BF03A006D0642 /* KMSystemPDFMenu.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMSystemPDFMenu.swift; sourceTree = "<group>"; };
 		BB3A668B2B06FD0100575343 /* KMBotaEnum.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBotaEnum.swift; sourceTree = "<group>"; };
 		BB3A668F2B07099F00575343 /* KMFindTableviewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMFindTableviewCell.swift; sourceTree = "<group>"; };
 		BB3A66952B071B0300575343 /* KMSnapshotTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMSnapshotTableViewCell.swift; sourceTree = "<group>"; };
@@ -11293,6 +11297,7 @@
 				BBFEF7262B3A78EC00C28AC0 /* KMSystemToolMenu.swift */,
 				BBFEF72A2B3A791B00C28AC0 /* KMSystemWindowMenu.swift */,
 				BBFEF72E2B3A794700C28AC0 /* KMSystemViewMenu.swift */,
+				BB3A429D2B4BF03A006D0642 /* KMSystemPDFMenu.swift */,
 			);
 			path = SystemMenu;
 			sourceTree = "<group>";
@@ -13739,6 +13744,7 @@
 				AD3AAD752B0DCEAA00DE5FE7 /* KMCompareSaveView.swift in Sources */,
 				9FAAA32A290BD01D0046FFCE /* KMHomeHistoryFileViewController.swift in Sources */,
 				BB146FB7299DC0D100784A6A /* GTLRRuntimeCommon.m in Sources */,
+				BB3A429E2B4BF03A006D0642 /* KMSystemPDFMenu.swift in Sources */,
 				BBFE6E6D2930D9C600142C01 /* KMMergeSettingWindowController.swift in Sources */,
 				9F8539CB29430BF300DF644E /* KMBrowserWindowController.swift in Sources */,
 				9F0CB5192986568000007028 /* KMDesignToken+BorderRadiusTopRight.swift in Sources */,
@@ -14530,6 +14536,7 @@
 				BB89727A294DFD1E0045787C /* KMWatermarkTextView.swift in Sources */,
 				BB5726F12B20707D0089D283 /* CPDFMarkupAnnotation+PDFListView.swift in Sources */,
 				9F1F82D3292F6D510092C4B4 /* KMPDFInsertPreviewViewController.swift in Sources */,
+				BB3A429F2B4BF03A006D0642 /* KMSystemPDFMenu.swift in Sources */,
 				BBAFFB1C29CDD19C00C56112 /* KMMergeSelect.swift in Sources */,
 				9F78EFBC28F7C1CC001E66F4 /* KMHomeViewController.swift in Sources */,
 				9FBA0EEF28FFC716001117AF /* KMHomeFastToolViewController.swift in Sources */,
@@ -15930,6 +15937,7 @@
 				ADAFDA4A2AEA7F1300F084BC /* KMAdvertisementShowView.swift in Sources */,
 				AD85D1B72AF0CCFC000F4D28 /* KMHomeHistoryListViewModel.swift in Sources */,
 				AD8F06192999DB5900D93CBC /* KMPrintDrawPage.swift in Sources */,
+				BB3A42A02B4BF03A006D0642 /* KMSystemPDFMenu.swift in Sources */,
 				9F512CC92B4640AB00EC0BC3 /* KMPageDisplayCustomThemesCollectionViewItem.swift in Sources */,
 				BBFDFA962AF328BA00E08AA2 /* KMBatchOperateManager.swift in Sources */,
 				9FF94F1B29A770B500B1EF69 /* KMFillSignShapePanel.swift in Sources */,

+ 6 - 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 = "1035"
-            endingLineNumber = "1035"
+            startingLineNumber = "1054"
+            endingLineNumber = "1054"
             landmarkName = "rotateAllRight(_:)"
             landmarkType = "7">
          </BreakpointContent>
@@ -334,8 +334,8 @@
             filePath = "PDF Master/Class/ChromiumTabs/KMBrowserWindowController.swift"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "2233"
-            endingLineNumber = "2233"
+            startingLineNumber = "2240"
+            endingLineNumber = "2240"
             landmarkName = "autoSelectContent(_:)"
             landmarkType = "7">
          </BreakpointContent>
@@ -350,8 +350,8 @@
             filePath = "PDF Master/Class/ChromiumTabs/KMBrowserWindowController.swift"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "1962"
-            endingLineNumber = "1962"
+            startingLineNumber = "1969"
+            endingLineNumber = "1969"
             landmarkName = "editWatermark(_:)"
             landmarkType = "7">
          </BreakpointContent>

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

@@ -657,10 +657,6 @@ extension KMBrowserWindowController {
         KMPrint("toggleToolbarShow ...")
     }
     
-    @IBAction func changeDisplayMode(_ sender: Any?) {
-        KMPrint("changeDisplayMode ...")
-    }
-    
     @IBAction func toggleDisplayAsBook(_ sender: Any?) {
         KMPrint("toggleDisplayAsBook ...")
     }
@@ -1554,6 +1550,17 @@ extension KMBrowserWindowController {
     }
 }
 
+extension KMBrowserWindowController: KMSystemPDFMenuProtocol {
+    @IBAction func changeDisplayMode(_ sender: Any?) {
+        if (self.canResponseDocumentAction() == false) {
+            return
+        }
+        if let document = self.browser.activeTabContents() as? KMMainDocument, document.isHome == false {
+            document.mainViewController?.changeDisplayMode(sender)
+        }
+    }
+}
+
 // MARK: - KMSystemGotoMenuProtocol
 
 extension KMBrowserWindowController: KMSystemGotoMenuProtocol {

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

@@ -558,6 +558,25 @@ extension KMMainViewController {
     }
 }
 
+extension KMMainViewController: KMSystemPDFMenuProtocol {
+    func changeDisplayMode(_ sender: Any?) {
+        guard let item = sender as? NSMenuItem else {
+            NSSound.beep()
+            return
+        }
+        let mode = item.tag
+        if mode == 0 {
+            self.selectDisplay(display: .singlePage)
+        } else if mode == 1 {
+            self.selectDisplay(display: .singlePageContinuous)
+        } else if mode == 2 {
+            self.selectDisplay(display: .twoUp)
+        } else if mode == 3 {
+            self.selectDisplay(display: .twoUpContinuous)
+        }
+    }
+}
+
 // MARK: goto Menu
 
 extension KMMainViewController {

+ 6 - 0
PDF Office/PDF Master/Class/SystemMenu/KMSystemMenu.swift

@@ -19,6 +19,9 @@ class KMSystemMenu: NSObject {
     }
     public struct Annotation {
 
+    }
+    public struct PDF {
+        
     }
     public struct Goto {
         
@@ -42,6 +45,9 @@ class KMSystemMenu: NSObject {
     public static func isAnnotationSelector(sel: Selector) -> Bool {
         return KMSystemMenu.Annotation.actions().contains(sel)
     }
+    public static func isPDFSelector(sel: Selector) -> Bool {
+        return KMSystemMenu.PDF.actions().contains(sel)
+    }
     public static func isGotoSelector(sel: Selector) -> Bool {
         return KMSystemMenu.Goto.actions().contains(sel)
     }

+ 21 - 0
PDF Office/PDF Master/Class/SystemMenu/KMSystemPDFMenu.swift

@@ -0,0 +1,21 @@
+//
+//  KMSystemPDFMenu.swift
+//  PDF Master
+//
+//  Created by tangchao on 2024/1/8.
+//
+
+import Cocoa
+
+@objc protocol KMSystemPDFMenuProtocol: NSObjectProtocol {
+    @objc optional func changeDisplayMode(_ sender: Any?)
+}
+
+extension KMSystemMenu.PDF {
+    
+    public static let changeDisplayModeSelector    = NSSelectorFromString("changeDisplayMode:")
+    
+    public static func actions() -> [Selector] {
+        return [self.changeDisplayModeSelector]
+    }
+}