Browse Source

【菜单栏】PDF - 使用当前PDF阅读设置作为默认值,功能无效 -- 整体优化

lizhe 9 months ago
parent
commit
0f77c5509c

+ 18 - 5
PDF Office/PDF Master/Class/PDFWindowController/ViewController/KMMainViewController+Action.swift

@@ -799,19 +799,24 @@ extension KMMainViewController {
                 self.listView.scaleFactor = data.floatValue.cgFloat
             }
         }
-        if let data = setup.object(forKey: KMMainModel.Key.kDisplaysPageBreaks) as? NSNumber {
-            self.listView.displaysPageBreaks = data.boolValue
+        
+        if let data = setup.object(forKey: KMMainModel.Key.kDisplayMode) as? NSNumber {
+            self.listView.setDisplay(CPDFDisplayViewMode(rawValue: data.intValue) ?? .singlePage)
         }
+        
         if let data = setup.object(forKey: KMMainModel.Key.kDisplaysAsBook) as? NSNumber {
             self.listView.displaysAsBook = data.boolValue
         }
-        if let data = setup.object(forKey: KMMainModel.Key.kDisplayMode) as? NSNumber {
-            self.listView.setDisplay(CPDFDisplayViewMode(rawValue: data.intValue) ?? .singlePage)
+        
+        if let data = setup.object(forKey: KMMainModel.Key.kDisplaysPageBreaks) as? NSNumber {
+            self.listView.displaysPageBreaks = data.boolValue
         }
+        
         if let data = setup.object(forKey: KMMainModel.Key.kDisplayBox) as? NSNumber {
             self.listView.displayBox = CPDFDisplayBox(rawValue: data.intValue) ?? .cropBox
         }
         
+        self.listView.layoutDocumentView()
         self.savePageNumberIfNeed()
     }
     
@@ -836,7 +841,15 @@ extension KMMainViewController {
         setup[KMMainModel.Key.kAutoScales] = NSNumber(value: listView.autoScales)
         setup[KMMainModel.Key.kDisplayMode] = NSNumber(value: listView.fetchDisplayViewMode().rawValue)
         
-        KMPreferenceManager.shared.viewPageDisplayType = KMPDFDisplayType(rawValue: listView.fetchDisplayViewMode().rawValue) ?? .singlePage
+        if listView.displaysAsBook {
+            if listView.fetchDisplayViewMode() == .twoUp {
+                KMPreferenceManager.shared.viewPageDisplayType = .bookMode
+            } else {
+                KMPreferenceManager.shared.viewPageDisplayType = .bookContinuous
+            }
+        } else {
+            KMPreferenceManager.shared.viewPageDisplayType = KMPDFDisplayType(rawValue: listView.fetchDisplayViewMode().rawValue) ?? .singlePage
+        }
         
         return setup
     }