|
@@ -424,10 +424,29 @@ extension KMMainViewController {
|
|
|
self.listView.displayMode = .night
|
|
|
} else if mode == 3 {
|
|
|
self.listView.displayMode = .green
|
|
|
+ } else {
|
|
|
+ self.listView.displayMode = .custom
|
|
|
+
|
|
|
+ var data: Data? = nil
|
|
|
+ if let themesData = UserDefaults.standard.object(forKey: "kKMPDFViewModeThemesArray") as? Data {
|
|
|
+ data = themesData
|
|
|
+ }
|
|
|
+ let appArray = NSKeyedUnarchiver.unarchiveObject(with: data ?? Data()) as? [Any] ?? []
|
|
|
+ let mutableArray = appArray
|
|
|
+ if mutableArray.count > 0 {
|
|
|
+ let themesArray = mutableArray as! [NSColor]
|
|
|
+ let color = themesArray[mode]
|
|
|
+ self.listView.displayModeCustomColor = color
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
self.listView.layoutDocumentView()
|
|
|
self.listView.setNeedsDisplayForVisiblePages()
|
|
|
+
|
|
|
+// [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithInteger:mode] forKey:@"kPDFViewModeKey"];
|
|
|
+// [[NSUserDefaults standardUserDefaults] synchronize];
|
|
|
+ UserDefaults.standard.set(mode, forKey: "kPDFViewModeKey")
|
|
|
+ UserDefaults.standard.synchronize()
|
|
|
}
|
|
|
|
|
|
@IBAction func toggleStatusBar(_ sender: Any?) {
|
|
@@ -1476,16 +1495,49 @@ extension KMMainViewController: NSMenuItemValidation, NSMenuDelegate {
|
|
|
return true
|
|
|
} else if action == KMSystemMenu.View.themesColorSelector {
|
|
|
let mode = menuItem.tag
|
|
|
+
|
|
|
+ var viewMode: KMPDFViewMode = .normal
|
|
|
+ if let storedViewMode = UserDefaults.standard.value(forKey: "kPDFViewModeKey") as? Int {
|
|
|
+ viewMode = KMPDFViewMode(rawValue: UInt(storedViewMode)) ?? .normal
|
|
|
+ }
|
|
|
+
|
|
|
if mode == 0 {
|
|
|
- menuItem.state = self.listView.displayMode == .normal ? .on : .off
|
|
|
+ menuItem.state = viewMode == .normal ? .on : .off
|
|
|
} else if mode == 1 {
|
|
|
- menuItem.state = self.listView.displayMode == .soft ? .on : .off
|
|
|
+ menuItem.state = viewMode == .soft ? .on : .off
|
|
|
} else if mode == 2 {
|
|
|
- menuItem.state = self.listView.displayMode == .night ? .on : .off
|
|
|
+ menuItem.state = viewMode == .night ? .on : .off
|
|
|
} else if mode == 3 {
|
|
|
- menuItem.state = self.listView.displayMode == .green ? .on : .off
|
|
|
+ menuItem.state = viewMode == .green ? .on : .off
|
|
|
+ } else if mode == 4 {
|
|
|
+ menuItem.state = viewMode == .themes1 ? .on : .off
|
|
|
+ } else if mode == 5 {
|
|
|
+ menuItem.state = viewMode == .themes2 ? .on : .off
|
|
|
+ } else if mode == 6 {
|
|
|
+ menuItem.state = viewMode == .themes3 ? .on : .off
|
|
|
+ } else if mode == 7 {
|
|
|
+ menuItem.state = viewMode == .themes4 ? .on : .off
|
|
|
}
|
|
|
- return true
|
|
|
+
|
|
|
+ var data: Data? = nil
|
|
|
+ if let themesData = UserDefaults.standard.object(forKey: "kKMPDFViewModeThemesArray") as? Data {
|
|
|
+ data = themesData
|
|
|
+ }
|
|
|
+ var themesCount = 0
|
|
|
+ let appArray = NSKeyedUnarchiver.unarchiveObject(with: data ?? Data()) as? [Any] ?? []
|
|
|
+ if appArray.count > 0 {
|
|
|
+ themesCount = menuItem.tag - appArray.count
|
|
|
+ } else {
|
|
|
+ themesCount = menuItem.tag - 4
|
|
|
+ }
|
|
|
+ if themesCount >= 0 {
|
|
|
+ menuItem.isHidden = true
|
|
|
+ return false
|
|
|
+ }else {
|
|
|
+ menuItem.isHidden = false
|
|
|
+ return true
|
|
|
+ }
|
|
|
+// return true
|
|
|
} else if action == KMSystemMenu.View.splitViewActionSelector {
|
|
|
let mode = menuItem.tag
|
|
|
if mode == 0 { // hor
|