Added settings to remember last used key file. Functionality still missing

This commit is contained in:
michael starke
2013-11-16 00:05:11 +01:00
parent 190bca5201
commit 14130d0aa0
5 changed files with 246 additions and 1923 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -19,5 +19,6 @@
@property (weak) IBOutlet NSButton *lockOnSleepCheckButton; @property (weak) IBOutlet NSButton *lockOnSleepCheckButton;
@property (weak) IBOutlet NSButton *reopenLastDatabase; @property (weak) IBOutlet NSButton *reopenLastDatabase;
@property (weak) IBOutlet NSButton *createUntitledOnActivation; @property (weak) IBOutlet NSButton *createUntitledOnActivation;
@property (weak) IBOutlet NSButton *rememberKeyFileCheckButton;
@end @end

View File

@@ -32,19 +32,15 @@ NSString *const MPGeneralSetingsIdentifier = @"GeneralSettingsTab";
- (void)didLoadView { - (void)didLoadView {
NSUserDefaultsController *defaultsController = [NSUserDefaultsController sharedUserDefaultsController]; NSUserDefaultsController *defaultsController = [NSUserDefaultsController sharedUserDefaultsController];
NSString *reopenLastFilePath = [NSString stringWithFormat:@"values.%@", kMPSettingsKeyReopenLastDatabaseOnLaunch];
//NSString *createUntitledOnActivatePaht = [NSString stringWithFormat:@"values.%@", kMPSettingsKeyOpenEmptyDatabaseOnLaunch]; [self.clearPasteboardOnQuitCheckButton bind:NSValueBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyClearPasteboardOnQuit] options:nil];
NSString *clearPasteboardKeyPath = [NSString stringWithFormat:@"values.%@", kMPSettingsKeyClearPasteboardOnQuit]; [self.doubleClickURLToLaunchCheckButton bind:NSValueBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyDoubleClickURLToLaunch] options:nil];
NSString *doubleClickURLToLaunchKeyPath = [NSString stringWithFormat:@"values.%@", kMPSettingsKeyDoubleClickURLToLaunch]; [self.clearPasteboardTimeoutPopup bind:NSSelectedTagBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyPasteboardClearTimeout] options:nil];
NSString *clearPasteboardTimeOutKeyPath = [NSString stringWithFormat:@"values.%@", kMPSettingsKeyPasteboardClearTimeout]; [self.lockOnSleepCheckButton bind:NSValueBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyLockOnSleep] options:nil];
NSString *idleTimeOutKeyPath = [NSString stringWithFormat:@"values.%@", kMPSettingsKeyIdleLockTimeOut]; [self.idleTimeOutPopup bind:NSSelectedTagBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyIdleLockTimeOut] options:nil];
NSString *lockOnSleepKeyPath = [NSString stringWithFormat:@"values.%@", kMPSettingsKeyLockOnSleep]; [self.reopenLastDatabase bind:NSValueBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyReopenLastDatabaseOnLaunch] options:nil];
[self.clearPasteboardOnQuitCheckButton bind:NSValueBinding toObject:defaultsController withKeyPath:clearPasteboardKeyPath options:nil]; [self.rememberKeyFileCheckButton bind:NSValueBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyRememberKeyFilesForDatabases] options:nil];
[self.doubleClickURLToLaunchCheckButton bind:NSValueBinding toObject:defaultsController withKeyPath:doubleClickURLToLaunchKeyPath options:nil];
[self.clearPasteboardTimeoutPopup bind:NSSelectedTagBinding toObject:defaultsController withKeyPath:clearPasteboardTimeOutKeyPath options:nil];
[self.lockOnSleepCheckButton bind:NSValueBinding toObject:defaultsController withKeyPath:lockOnSleepKeyPath options:nil];
[self.idleTimeOutPopup bind:NSSelectedTagBinding toObject:defaultsController withKeyPath:idleTimeOutKeyPath options:nil];
[self.reopenLastDatabase bind:NSValueBinding toObject:defaultsController withKeyPath:reopenLastFilePath options:nil];
[self.createUntitledOnActivation setState:NSOffState]; [self.createUntitledOnActivation setState:NSOffState];
//[self.createUntitledOnActivation bind:NSValueBinding toObject:defaultsController withKeyPath:createUntitledOnActivatePaht options:nil]; //[self.createUntitledOnActivation bind:NSValueBinding toObject:defaultsController withKeyPath:createUntitledOnActivatePaht options:nil];
} }

View File

@@ -39,6 +39,8 @@ APPKIT_EXTERN NSString *const kMPSettingsKeyLegacyHideURL;
/* Document/Key Location store */ /* Document/Key Location store */
APPKIT_EXTERN NSString *const kMPSettingsKeyLastDatabasePath; APPKIT_EXTERN NSString *const kMPSettingsKeyLastDatabasePath;
APPKIT_EXTERN NSString *const kMPSettingsKeyFilesForDatabases;
APPKIT_EXTERN NSString *const kMPSettingsKeyRememberKeyFilesForDatabases;
/* /*
APPKIT_EXTERN NSString *const kMPSettingsKeyLastKeyURL; APPKIT_EXTERN NSString *const kMPSettingsKeyLastKeyURL;
APPKIT_EXTERN NSString *const kMPSettingsKeyRememberLastKey; APPKIT_EXTERN NSString *const kMPSettingsKeyRememberLastKey;
@@ -52,5 +54,6 @@ typedef NS_ENUM(NSUInteger, MPPasswordEncoding) {
@interface MPSettingsHelper : NSObject @interface MPSettingsHelper : NSObject
+ (void)setupDefaults; + (void)setupDefaults;
+ (NSString *)defaultControllerPathForKey:(NSString *)key;
@end @end

View File

@@ -27,6 +27,8 @@ NSString *const kMPSettingsKeyLegacyHideNotes = @"LegacyHideNotes";
NSString *const kMPSettingsKeyLegacyHideURL = @"LegacyHideURL"; NSString *const kMPSettingsKeyLegacyHideURL = @"LegacyHideURL";
NSString *const kMPSettingsKeyLastDatabasePath = @"MPLastDatabasePath"; NSString *const kMPSettingsKeyLastDatabasePath = @"MPLastDatabasePath";
NSString *const kMPSettingsKeyFilesForDatabases = @"MPKeyFilesForDatabases";
NSString *const kMPSettingsKeyRememberKeyFilesForDatabases = @"kMPSettingsKeyRememberKeyFilesForDatabases";
@implementation MPSettingsHelper @implementation MPSettingsHelper
@@ -34,6 +36,10 @@ NSString *const kMPSettingsKeyLastDatabasePath = @"MPLastDatabasePath";
[[NSUserDefaults standardUserDefaults] registerDefaults:[self _standardDefaults]]; [[NSUserDefaults standardUserDefaults] registerDefaults:[self _standardDefaults]];
} }
+ (NSString *)defaultControllerPathForKey:(NSString *)key {
return [NSString stringWithFormat:@"values.%@", key];
}
+ (NSDictionary *)_standardDefaults { + (NSDictionary *)_standardDefaults {
return @{ return @{
kMPSettingsKeyShowInspector: @YES, // Show the Inspector by default kMPSettingsKeyShowInspector: @YES, // Show the Inspector by default
@@ -51,7 +57,8 @@ NSString *const kMPSettingsKeyLastDatabasePath = @"MPLastDatabasePath";
kMPSettingsKeyLegacyHidePassword: @YES, kMPSettingsKeyLegacyHidePassword: @YES,
kMPSettingsKeyLegacyHideTitle: @NO, kMPSettingsKeyLegacyHideTitle: @NO,
kMPSettingsKeyLegacyHideURL: @NO, kMPSettingsKeyLegacyHideURL: @NO,
kMPSettingsKeyLegacyHideUsername: @NO kMPSettingsKeyLegacyHideUsername: @NO,
kMPSettingsKeyRememberKeyFilesForDatabases: @NO
}; };
} }