diff --git a/MacPass/MPDocumentWindowController.m b/MacPass/MPDocumentWindowController.m index 7949cfda..df213f3d 100644 --- a/MacPass/MPDocumentWindowController.m +++ b/MacPass/MPDocumentWindowController.m @@ -17,6 +17,7 @@ #import "MPActionHelper.h" #import "MPDatabaseSettingsWindowController.h" #import "MPConstants.h" +#import "MPSettingsHelper.h" NSString *const MPCurrentItemChangedNotification = @"com.hicknhack.macpass.MPCurrentItemChangedNotification"; @@ -94,6 +95,11 @@ NSString *const MPCurrentItemChangedNotification = @"com.hicknhack.macpass.MPCur [_splitView setHoldingPriority:NSLayoutPriorityDefaultLow+2 forSubviewAtIndex:0]; [_splitView setHoldingPriority:NSLayoutPriorityDefaultLow+1 forSubviewAtIndex:2]; + BOOL showInspector = [[NSUserDefaults standardUserDefaults] boolForKey:kMPSettingsKeyShowInspector]; + if(!showInspector) { + [inspectorView removeFromSuperview]; + } + [[self window] setDelegate:self]; MPDocument *document = [self document]; @@ -254,18 +260,21 @@ NSString *const MPCurrentItemChangedNotification = @"com.hicknhack.macpass.MPCur - (void)toggleInspector:(id)sender { NSView *inspectorView = [_inspectorViewController view]; + BOOL inspectorVisible = NO; if([inspectorView superview]) { //[inspectorView animator] [inspectorView removeFromSuperview]; } else { // Remove contraint on view removal. + inspectorVisible = YES; [_splitView addSubview:inspectorView]; [_splitView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"[inspectorView(>=200)]" options:0 metrics:nil views:NSDictionaryOfVariableBindings(inspectorView)]]; } + [[NSUserDefaults standardUserDefaults] setBool:inspectorVisible forKey:kMPSettingsKeyShowInspector]; } - (void)showEntries { diff --git a/MacPass/MPSettingsHelper.h b/MacPass/MPSettingsHelper.h index a6219945..2e7cdf47 100644 --- a/MacPass/MPSettingsHelper.h +++ b/MacPass/MPSettingsHelper.h @@ -27,6 +27,9 @@ APPKIT_EXTERN NSString *const kMPSettingsKeyLockOnSleep; APPKIT_EXTERN NSString *const kMPSettingsKeyIdleLockTimeOut; +/* Autosaving states */ +APPKIT_EXTERN NSString *const kMPSettingsKeyShowInspector; + typedef NS_ENUM(NSUInteger, MPPasswordEncoding) { MPPasswordEncodingUTF8, MPPasswordEncodingASCII, diff --git a/MacPass/MPSettingsHelper.m b/MacPass/MPSettingsHelper.m index df300e86..49db03d5 100644 --- a/MacPass/MPSettingsHelper.m +++ b/MacPass/MPSettingsHelper.m @@ -17,6 +17,7 @@ NSString *const kMPSettingsKeyEnableHttpServer = @"EnableHttpServer"; NSString *const kMPSettingsKeyShowMenuItem = @"ShowMenuItem"; NSString *const kMPSettingsKeyLockOnSleep = @"LockOnSleep"; NSString *const kMPSettingsKeyIdleLockTimeOut = @"IdleLockTimeOut"; +NSString *const kMPSettingsKeyShowInspector = @"ShowInspector"; @implementation MPSettingsHelper @@ -26,6 +27,7 @@ NSString *const kMPSettingsKeyIdleLockTimeOut = @"IdleLockTimeOut"; + (NSDictionary *)_standardDefaults { return @{ + kMPSettingsKeyShowInspector: @YES, // Show the Inspector by default kMPSettingsKeyPasteboardClearTimeout: @30, // 30 seconds kMPSettingsKeyClearPasteboardOnQuit: @YES, kMPSettingsKeyOpenEmptyDatabaseOnLaunch: @NO,