Saving last state of Inspector (last document wins)

This commit is contained in:
michael starke
2013-07-18 21:23:32 +02:00
parent d4c7d49d6f
commit 0e102d3f0f
3 changed files with 14 additions and 0 deletions

View File

@@ -17,6 +17,7 @@
#import "MPActionHelper.h" #import "MPActionHelper.h"
#import "MPDatabaseSettingsWindowController.h" #import "MPDatabaseSettingsWindowController.h"
#import "MPConstants.h" #import "MPConstants.h"
#import "MPSettingsHelper.h"
NSString *const MPCurrentItemChangedNotification = @"com.hicknhack.macpass.MPCurrentItemChangedNotification"; 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+2 forSubviewAtIndex:0];
[_splitView setHoldingPriority:NSLayoutPriorityDefaultLow+1 forSubviewAtIndex:2]; [_splitView setHoldingPriority:NSLayoutPriorityDefaultLow+1 forSubviewAtIndex:2];
BOOL showInspector = [[NSUserDefaults standardUserDefaults] boolForKey:kMPSettingsKeyShowInspector];
if(!showInspector) {
[inspectorView removeFromSuperview];
}
[[self window] setDelegate:self]; [[self window] setDelegate:self];
MPDocument *document = [self document]; MPDocument *document = [self document];
@@ -254,18 +260,21 @@ NSString *const MPCurrentItemChangedNotification = @"com.hicknhack.macpass.MPCur
- (void)toggleInspector:(id)sender { - (void)toggleInspector:(id)sender {
NSView *inspectorView = [_inspectorViewController view]; NSView *inspectorView = [_inspectorViewController view];
BOOL inspectorVisible = NO;
if([inspectorView superview]) { if([inspectorView superview]) {
//[inspectorView animator] //[inspectorView animator]
[inspectorView removeFromSuperview]; [inspectorView removeFromSuperview];
} }
else { else {
// Remove contraint on view removal. // Remove contraint on view removal.
inspectorVisible = YES;
[_splitView addSubview:inspectorView]; [_splitView addSubview:inspectorView];
[_splitView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"[inspectorView(>=200)]" [_splitView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"[inspectorView(>=200)]"
options:0 options:0
metrics:nil metrics:nil
views:NSDictionaryOfVariableBindings(inspectorView)]]; views:NSDictionaryOfVariableBindings(inspectorView)]];
} }
[[NSUserDefaults standardUserDefaults] setBool:inspectorVisible forKey:kMPSettingsKeyShowInspector];
} }
- (void)showEntries { - (void)showEntries {

View File

@@ -27,6 +27,9 @@ APPKIT_EXTERN NSString *const kMPSettingsKeyLockOnSleep;
APPKIT_EXTERN NSString *const kMPSettingsKeyIdleLockTimeOut; APPKIT_EXTERN NSString *const kMPSettingsKeyIdleLockTimeOut;
/* Autosaving states */
APPKIT_EXTERN NSString *const kMPSettingsKeyShowInspector;
typedef NS_ENUM(NSUInteger, MPPasswordEncoding) { typedef NS_ENUM(NSUInteger, MPPasswordEncoding) {
MPPasswordEncodingUTF8, MPPasswordEncodingUTF8,
MPPasswordEncodingASCII, MPPasswordEncodingASCII,

View File

@@ -17,6 +17,7 @@ NSString *const kMPSettingsKeyEnableHttpServer = @"EnableHttpServer";
NSString *const kMPSettingsKeyShowMenuItem = @"ShowMenuItem"; NSString *const kMPSettingsKeyShowMenuItem = @"ShowMenuItem";
NSString *const kMPSettingsKeyLockOnSleep = @"LockOnSleep"; NSString *const kMPSettingsKeyLockOnSleep = @"LockOnSleep";
NSString *const kMPSettingsKeyIdleLockTimeOut = @"IdleLockTimeOut"; NSString *const kMPSettingsKeyIdleLockTimeOut = @"IdleLockTimeOut";
NSString *const kMPSettingsKeyShowInspector = @"ShowInspector";
@implementation MPSettingsHelper @implementation MPSettingsHelper
@@ -26,6 +27,7 @@ NSString *const kMPSettingsKeyIdleLockTimeOut = @"IdleLockTimeOut";
+ (NSDictionary *)_standardDefaults { + (NSDictionary *)_standardDefaults {
return @{ return @{
kMPSettingsKeyShowInspector: @YES, // Show the Inspector by default
kMPSettingsKeyPasteboardClearTimeout: @30, // 30 seconds kMPSettingsKeyPasteboardClearTimeout: @30, // 30 seconds
kMPSettingsKeyClearPasteboardOnQuit: @YES, kMPSettingsKeyClearPasteboardOnQuit: @YES,
kMPSettingsKeyOpenEmptyDatabaseOnLaunch: @NO, kMPSettingsKeyOpenEmptyDatabaseOnLaunch: @NO,