|
@@ -8,39 +8,42 @@
|
|
import Cocoa
|
|
import Cocoa
|
|
|
|
|
|
class KMGeneralPreferences: NSViewController {
|
|
class KMGeneralPreferences: NSViewController {
|
|
-
|
|
|
|
/*
|
|
/*
|
|
#define @""
|
|
#define @""
|
|
#define AUTOMATICALLYCHECKSFORUPDATES_KEY @"automaticallyChecksForUpdates"
|
|
#define AUTOMATICALLYCHECKSFORUPDATES_KEY @"automaticallyChecksForUpdates"
|
|
#define UPDATECHECKINTERVAL_KEY @"updateCheckInterval"
|
|
#define UPDATECHECKINTERVAL_KEY @"updateCheckInterval"
|
|
-
|
|
|
|
-
|
|
|
|
*/
|
|
*/
|
|
private let UPDATEINTERVAL_KEY = "updateInterval"
|
|
private let UPDATEINTERVAL_KEY = "updateInterval"
|
|
private let SUScheduledCheckIntervalKey = "SUScheduledCheckInterval"
|
|
private let SUScheduledCheckIntervalKey = "SUScheduledCheckInterval"
|
|
|
|
|
|
- @IBOutlet var updateIntervalPopUpButton: NSPopUpButton!
|
|
|
|
|
|
+ @IBOutlet weak var authorLabel: NSTextField!
|
|
|
|
+ @IBOutlet weak var authorTextField: NSTextField!
|
|
|
|
|
|
- @IBOutlet var openFilesLabelField: NSTextField!
|
|
|
|
- @IBOutlet var openFilesMatrix: NSMatrix!
|
|
|
|
- @IBOutlet var updateIntervalLabelField: NSTextField!
|
|
|
|
|
|
+ @IBOutlet weak var openTabLabel: NSTextField!
|
|
|
|
+ @IBOutlet weak var openTabButton: NSPopUpButton!
|
|
|
|
+ @IBOutlet weak var showConvertMenuButton: NSButton!
|
|
|
|
+ @IBOutlet weak var defaultOpenButton: NSButton!
|
|
|
|
+ @IBOutlet weak var reopenLastOpenFilesButton: NSButton!
|
|
|
|
+ @IBOutlet weak var autoSaveLbl: NSTextField!
|
|
|
|
+ @IBOutlet weak var autoSaveInfoBtn: NSButton!
|
|
|
|
+ @IBOutlet weak var autoSaveSlider: NSSlider!
|
|
|
|
|
|
- @IBOutlet var savePasswordsMatrix: NSMatrix!
|
|
|
|
- @IBOutlet var authorLabel: NSTextField!
|
|
|
|
- @IBOutlet var authorTextField: NSTextField!
|
|
|
|
|
|
+ @IBOutlet weak var openFilesLabelField: NSTextField!
|
|
|
|
+ @IBOutlet weak var openFilesMatrix: NSMatrix!
|
|
|
|
+ @IBOutlet weak var showLeftSideButton: NSButton!
|
|
|
|
+ @IBOutlet weak var rememberSnapshotButton: NSButton!
|
|
|
|
+ @IBOutlet weak var normalButton: NSButton!
|
|
|
|
+ @IBOutlet weak var fullScreenButton: NSButton!
|
|
|
|
|
|
- @IBOutlet var defaultOpenButton: NSButton!
|
|
|
|
- @IBOutlet var openTabLabel: NSTextField!
|
|
|
|
- @IBOutlet var openTabButton: NSPopUpButton!
|
|
|
|
|
|
+ @IBOutlet weak var autoSaveNotesBackupButton: NSButton!
|
|
|
|
|
|
- @IBOutlet var showConvertMenuButton: NSButton!
|
|
|
|
- @IBOutlet var autoSaveInfoBtn: NSButton!
|
|
|
|
- @IBOutlet var autoSaveSlider: NSSlider!
|
|
|
|
|
|
+ @IBOutlet weak var keepSnapshotOnTopButton: NSButton!
|
|
|
|
|
|
- @IBOutlet var autoSaveLbl: NSTextField!
|
|
|
|
|
|
+ @IBOutlet var savePasswordsMatrix: NSMatrix!
|
|
|
|
+
|
|
|
|
+ @IBOutlet var updateIntervalPopUpButton: NSPopUpButton!
|
|
|
|
+ @IBOutlet var updateIntervalLabelField: NSTextField!
|
|
|
|
|
|
- @IBOutlet weak var normalButton: NSButton!
|
|
|
|
- @IBOutlet weak var fullScreenButton: NSButton!
|
|
|
|
var revertPDFSettingsButtons: [NSButton] = []
|
|
var revertPDFSettingsButtons: [NSButton] = []
|
|
|
|
|
|
var updateInterval: Int = 0 {
|
|
var updateInterval: Int = 0 {
|
|
@@ -90,20 +93,53 @@ class KMGeneralPreferences: NSViewController {
|
|
|
|
|
|
override func loadView() {
|
|
override func loadView() {
|
|
super.loadView()
|
|
super.loadView()
|
|
|
|
+
|
|
|
|
+ // self.showConvertMenuButton.state = [KMStatusBar systemStatusBar].isShow ? NSControlStateValueOn : NSControlStateValueOff;
|
|
|
|
|
|
- let userName = UserDefaults.standard.string(forKey: "SKUserName")
|
|
|
|
- self.authorTextField.stringValue = userName != nil ? userName! : NSFullUserName()
|
|
|
|
- // self.defaultOpenButton.state = [[KMHomeWindowController homeWindow] isDefaultOpenForPDF] ? NSControlStateValueOn : NSControlStateValueOff;
|
|
|
|
|
|
+ #if VERSION_FREE
|
|
|
|
+ // if (![IAPProductsManager defaultManager].isAvailableAllFunction) {
|
|
|
|
+ // [[NSUserDefaults standardUserDefaults] setInteger:1 forKey:@"KMOpenDocumentInTab"];
|
|
|
|
+ // }
|
|
|
|
+ #endif
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ // [[NSUserDefaultsController sharedUserDefaultsController] addObserver:self forKeys:[NSArray arrayWithObjects:SKStringConstants.defaultPDFDisplaySettingsKey, SKStringConstants.defaultFullScreenPDFDisplaySettingsKey, nil] context:&KMGeneralPreferencesDefaultsObservationContext];
|
|
|
|
+ // [NSUserDefaultsController sharedUserDefaultsController]
|
|
|
|
+ #if VERSION_DMG
|
|
|
|
+// [[SUUpdater sharedUpdater] addObserver:self forKeyPath:AUTOMATICALLYCHECKSFORUPDATES_KEY options:0 context:&KMGeneralPreferencesUpdaterObservationContext];
|
|
|
|
+// [[SUUpdater sharedUpdater] addObserver:self forKeyPath:UPDATECHECKINTERVAL_KEY options:0 context:&KMGeneralPreferencesUpdaterObservationContext];
|
|
|
|
+ #endif
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ override func viewDidLoad() {
|
|
|
|
+ super.viewDidLoad()
|
|
|
|
|
|
self.authorLabel.stringValue = KMLocalizedString("Author:", nil)
|
|
self.authorLabel.stringValue = KMLocalizedString("Author:", nil)
|
|
- self.defaultOpenButton.title = KMLocalizedString("Set PDF Reader Pro as the default PDF viewer", nil)
|
|
|
|
|
|
+ self.authorTextField.delegate = self
|
|
|
|
+ self.authorTextField.stringValue = KMPreferenceManager.shared.author
|
|
|
|
+
|
|
self.openTabLabel.stringValue = String(format: "%@:", KMLocalizedString("Open a document in", nil))
|
|
self.openTabLabel.stringValue = String(format: "%@:", KMLocalizedString("Open a document in", nil))
|
|
for item in self.openTabButton.itemArray {
|
|
for item in self.openTabButton.itemArray {
|
|
item.title = KMLocalizedString(item.title, nil)
|
|
item.title = KMLocalizedString(item.title, nil)
|
|
}
|
|
}
|
|
-
|
|
|
|
self.showConvertMenuButton.title = KMLocalizedString("Show PDF Reader Pro in menu bar", nil)
|
|
self.showConvertMenuButton.title = KMLocalizedString("Show PDF Reader Pro in menu bar", nil)
|
|
- // self.showConvertMenuButton.state = [KMStatusBar systemStatusBar].isShow ? NSControlStateValueOn : NSControlStateValueOff;
|
|
|
|
|
|
+ self.defaultOpenButton.title = KMLocalizedString("Set PDF Reader Pro as the default PDF viewer", nil)
|
|
|
|
+ self.defaultOpenButton.state = KMPreference.shared.setDefaultPDFReader ? .on : .off
|
|
|
|
+ self.reopenLastOpenFilesButton.state = KMPreference.shared.openLastUnclosedDocumentWhenAppStart ? .on : .off
|
|
|
|
+ self.autoSaveInfoBtn.title = KMLocalizedString("Autosave Documents", nil)
|
|
|
|
+ self.autoSaveInfoBtn.state = AutoSaveManager.manager.autoSaveEnabled ? .on : .off
|
|
|
|
+ self.autoSaveSlider.isEnabled = AutoSaveManager.manager.autoSaveEnabled
|
|
|
|
+ if (AutoSaveManager.manager.timeInterval > 1) {
|
|
|
|
+ self.autoSaveSlider.floatValue = Float((AutoSaveManager.manager.timeInterval - 1) / 19)
|
|
|
|
+ } else {
|
|
|
|
+ self.autoSaveSlider.floatValue = 0
|
|
|
|
+ }
|
|
|
|
+ self.autoSaveLbl.stringValue = String(format: "%.0f %@", AutoSaveManager.manager.timeInterval, KMLocalizedString("minute(s)", nil))
|
|
|
|
+
|
|
|
|
+ self.showLeftSideButton.state = KMPreference.shared.showLeftSideBar ? .on : .off
|
|
|
|
+ self.rememberSnapshotButton.state = KMPreference.shared.rememberSnapshot ? .on : .off
|
|
|
|
+ self.autoSaveNotesBackupButton.state = KMPreference.shared.autoSaveNoteBackup ? .on : .off
|
|
|
|
+ self.keepSnapshotOnTopButton.state = KMPreference.shared.keepSnapshotWindowToTop ? .on : .off
|
|
|
|
|
|
self.authorLabel.sizeToFit()
|
|
self.authorLabel.sizeToFit()
|
|
var frame = self.authorTextField.frame
|
|
var frame = self.authorTextField.frame
|
|
@@ -113,13 +149,8 @@ class KMGeneralPreferences: NSViewController {
|
|
frame = self.openTabButton.frame
|
|
frame = self.openTabButton.frame
|
|
frame.origin.x = CGRectGetMaxX(self.openTabLabel.frame)+5
|
|
frame.origin.x = CGRectGetMaxX(self.openTabLabel.frame)+5
|
|
self.openTabButton.frame = frame
|
|
self.openTabButton.frame = frame
|
|
-
|
|
|
|
self.openTabButton.isEnabled = true
|
|
self.openTabButton.isEnabled = true
|
|
- #if VERSION_FREE
|
|
|
|
- // if (![IAPProductsManager defaultManager].isAvailableAllFunction) {
|
|
|
|
- // [[NSUserDefaults standardUserDefaults] setInteger:1 forKey:@"KMOpenDocumentInTab"];
|
|
|
|
- // }
|
|
|
|
- #endif
|
|
|
|
|
|
+
|
|
self.revertPDFSettingsButtons = [self.normalButton, self.fullScreenButton]
|
|
self.revertPDFSettingsButtons = [self.normalButton, self.fullScreenButton]
|
|
KMAutoSizeButtons(self.revertPDFSettingsButtons, rightAlign: false)
|
|
KMAutoSizeButtons(self.revertPDFSettingsButtons, rightAlign: false)
|
|
_ = KMAutoSizeLabelFields([openFilesLabelField], [openFilesMatrix], false)
|
|
_ = KMAutoSizeLabelFields([openFilesLabelField], [openFilesMatrix], false)
|
|
@@ -130,29 +161,6 @@ class KMGeneralPreferences: NSViewController {
|
|
|
|
|
|
self._synchronizeUpdateInterval()
|
|
self._synchronizeUpdateInterval()
|
|
self._updateRevertButtons()
|
|
self._updateRevertButtons()
|
|
-
|
|
|
|
- // [[NSUserDefaultsController sharedUserDefaultsController] addObserver:self forKeys:[NSArray arrayWithObjects:SKStringConstants.defaultPDFDisplaySettingsKey, SKStringConstants.defaultFullScreenPDFDisplaySettingsKey, nil] context:&KMGeneralPreferencesDefaultsObservationContext];
|
|
|
|
- // [NSUserDefaultsController sharedUserDefaultsController]
|
|
|
|
- #if VERSION_DMG
|
|
|
|
-// [[SUUpdater sharedUpdater] addObserver:self forKeyPath:AUTOMATICALLYCHECKSFORUPDATES_KEY options:0 context:&KMGeneralPreferencesUpdaterObservationContext];
|
|
|
|
-// [[SUUpdater sharedUpdater] addObserver:self forKeyPath:UPDATECHECKINTERVAL_KEY options:0 context:&KMGeneralPreferencesUpdaterObservationContext];
|
|
|
|
- #endif
|
|
|
|
-
|
|
|
|
- self.autoSaveInfoBtn.title = KMLocalizedString("Autosave Documents", nil)
|
|
|
|
- self.autoSaveInfoBtn.state = AutoSaveManager.manager.autoSaveEnabled ? .on : .off
|
|
|
|
- self.autoSaveSlider.isEnabled = AutoSaveManager.manager.autoSaveEnabled
|
|
|
|
-
|
|
|
|
- if (AutoSaveManager.manager.timeInterval > 1) {
|
|
|
|
- self.autoSaveSlider.floatValue = Float((AutoSaveManager.manager.timeInterval - 1) / 19)
|
|
|
|
- } else {
|
|
|
|
- self.autoSaveSlider.floatValue = 0;
|
|
|
|
- }
|
|
|
|
- self.autoSaveLbl.stringValue = String(format: "%.0f %@", AutoSaveManager.manager.timeInterval, KMLocalizedString("minute(s)", nil))
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- override func viewDidLoad() {
|
|
|
|
- super.viewDidLoad()
|
|
|
|
- // Do view setup here.
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@IBAction func revertPDFViewSettings(_ sender: AnyObject?) {
|
|
@IBAction func revertPDFViewSettings(_ sender: AnyObject?) {
|
|
@@ -170,11 +178,7 @@ class KMGeneralPreferences: NSViewController {
|
|
}
|
|
}
|
|
|
|
|
|
@IBAction func defaultOpenButtonAction(_ sender: AnyObject?) {
|
|
@IBAction func defaultOpenButtonAction(_ sender: AnyObject?) {
|
|
-// if ([self.defaultOpenButton state]) {
|
|
|
|
- // [[KMHomeWindowController homeWindow] setDefaultOpenForPDF:YES];
|
|
|
|
-// } else {
|
|
|
|
- // [[KMHomeWindowController homeWindow] setDefaultOpenForPDF:NO];
|
|
|
|
-// }
|
|
|
|
|
|
+ KMPreference.shared.setDefaultPDFReader = self.defaultOpenButton.state == .on
|
|
}
|
|
}
|
|
|
|
|
|
@IBAction func openTabButtonAction(_ sender: AnyObject?) {
|
|
@IBAction func openTabButtonAction(_ sender: AnyObject?) {
|
|
@@ -208,6 +212,26 @@ class KMGeneralPreferences: NSViewController {
|
|
// } else {
|
|
// } else {
|
|
// // [KMStatusBar systemStatusBar].isShow = NO;
|
|
// // [KMStatusBar systemStatusBar].isShow = NO;
|
|
// }
|
|
// }
|
|
|
|
+ KMPreference.shared.showInMenuBar = self.showConvertMenuButton.state == .on
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @IBAction func reopenLastOpenFilesAtStartupAction(_ sender: NSButton) {
|
|
|
|
+ KMPreference.shared.openLastUnclosedDocumentWhenAppStart = sender.state == .on
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @IBAction func showLeftSideAction(_ sender: Any) {
|
|
|
|
+ KMPreference.shared.showLeftSideBar = self.showLeftSideButton.state == .on
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @IBAction func rememberSnapshotAction(_ sender: Any) {
|
|
|
|
+ KMPreference.shared.rememberSnapshot = self.rememberSnapshotButton.state == .on
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @IBAction func autoSaveNoteBackupAction(_ sender: Any) {
|
|
|
|
+ KMPreference.shared.autoSaveNoteBackup = self.autoSaveNotesBackupButton.state == .on
|
|
|
|
+ }
|
|
|
|
+ @IBAction func keepSnapshotOnTopAction(_ sender: Any) {
|
|
|
|
+ KMPreference.shared.keepSnapshotWindowToTop = self.keepSnapshotOnTopButton.state == .on
|
|
}
|
|
}
|
|
|
|
|
|
@IBAction func autoSaveButtonAction(_ sender: AnyObject?) {
|
|
@IBAction func autoSaveButtonAction(_ sender: AnyObject?) {
|
|
@@ -311,3 +335,11 @@ extension KMGeneralPreferences: KMPreferencePane {
|
|
#endif
|
|
#endif
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+extension KMGeneralPreferences: NSTextFieldDelegate {
|
|
|
|
+ func controlTextDidChange(_ obj: Notification) {
|
|
|
|
+ if self.authorTextField.isEqual(to: obj.object) { // 作者
|
|
|
|
+ KMPreference.shared.author = self.authorTextField.stringValue
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|