diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 0662e639..6733f2bf 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -74,8 +74,8 @@ 4C669BA216760ED100DD0774 /* UUID.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C669B7B16760ED100DD0774 /* UUID.m */; }; 4C69A73A16D589DF00EC1B1A /* MPGradientView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C69A73916D589DF00EC1B1A /* MPGradientView.m */; }; 4C6B0E8C16C9B99B00A9ED23 /* PasswordInputView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C6B0E8B16C9B99B00A9ED23 /* PasswordInputView.xib */; }; - 4C77547516E55FE800970E02 /* MPInspectorTabViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C77547416E55FE800970E02 /* MPInspectorTabViewController.m */; }; - 4C77547716E55FFC00970E02 /* InspectorTabView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C77547616E55FFC00970E02 /* InspectorTabView.xib */; }; + 4C77547516E55FE800970E02 /* MPInspectorViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C77547416E55FE800970E02 /* MPInspectorViewController.m */; }; + 4C77547716E55FFC00970E02 /* InspectorView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C77547616E55FFC00970E02 /* InspectorView.xib */; }; 4C77E36715B84A240093A587 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C77E36615B84A240093A587 /* Cocoa.framework */; }; 4C77E37115B84A240093A587 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 4C77E36F15B84A240093A587 /* InfoPlist.strings */; }; 4C77E37315B84A240093A587 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C77E37215B84A240093A587 /* main.m */; }; @@ -246,9 +246,9 @@ 4C69A73816D589DF00EC1B1A /* MPGradientView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPGradientView.h; sourceTree = ""; }; 4C69A73916D589DF00EC1B1A /* MPGradientView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPGradientView.m; sourceTree = ""; }; 4C6B0E8B16C9B99B00A9ED23 /* PasswordInputView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = PasswordInputView.xib; sourceTree = ""; }; - 4C77547316E55FE800970E02 /* MPInspectorTabViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPInspectorTabViewController.h; sourceTree = ""; }; - 4C77547416E55FE800970E02 /* MPInspectorTabViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPInspectorTabViewController.m; sourceTree = ""; }; - 4C77547616E55FFC00970E02 /* InspectorTabView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = InspectorTabView.xib; sourceTree = ""; }; + 4C77547316E55FE800970E02 /* MPInspectorViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPInspectorViewController.h; sourceTree = ""; }; + 4C77547416E55FE800970E02 /* MPInspectorViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPInspectorViewController.m; sourceTree = ""; }; + 4C77547616E55FFC00970E02 /* InspectorView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = InspectorView.xib; sourceTree = ""; }; 4C77E36215B84A240093A587 /* MacPass.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MacPass.app; sourceTree = BUILT_PRODUCTS_DIR; }; 4C77E36615B84A240093A587 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; 4C77E36915B84A240093A587 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; }; @@ -358,7 +358,7 @@ 4C5A11FD1708DE8700223D8A /* PasswordCreatorView.xib */, 4C25D58416CF0F8800F6806C /* WelcomeView.xib */, 4C3FFD9D16DAF60600DF9186 /* FilterBar.xib */, - 4C77547616E55FFC00970E02 /* InspectorTabView.xib */, + 4C77547616E55FFC00970E02 /* InspectorView.xib */, 4CE39AC016ECE359000FE29D /* IconSelection.xib */, 4C69A73816D589DF00EC1B1A /* MPGradientView.h */, 4C69A73916D589DF00EC1B1A /* MPGradientView.m */, @@ -658,8 +658,8 @@ 4CDF01A216D1B76700D0AC08 /* MPEntryViewController.m */, 4C61EA0116D2FD0800AC519E /* MPOutlineViewController.h */, 4C61EA0216D2FD0800AC519E /* MPOutlineViewController.m */, - 4C77547316E55FE800970E02 /* MPInspectorTabViewController.h */, - 4C77547416E55FE800970E02 /* MPInspectorTabViewController.m */, + 4C77547316E55FE800970E02 /* MPInspectorViewController.h */, + 4C77547416E55FE800970E02 /* MPInspectorViewController.m */, 4CE39ABD16ECE34A000FE29D /* MPIconSelectViewController.h */, 4CE39ABE16ECE34A000FE29D /* MPIconSelectViewController.m */, 4C40AC581707819A0073D1C3 /* MPAbstractSettingsViewController.h */, @@ -852,7 +852,7 @@ 4CB9339916D3A0DD00A13B5D /* Credits.rtf in Resources */, 4C3FFD9E16DAF60600DF9186 /* FilterBar.xib in Resources */, 4C431BCF16E2BAB000700A81 /* OverlayWindow.xib in Resources */, - 4C77547716E55FFC00970E02 /* InspectorTabView.xib in Resources */, + 4C77547716E55FFC00970E02 /* InspectorView.xib in Resources */, 4C888C9016EB6C91003D34A1 /* Localizable.strings in Resources */, 4CE39AC116ECE359000FE29D /* IconSelection.xib in Resources */, 4C5A11FF1708DE8800223D8A /* PasswordCreatorView.xib in Resources */, @@ -946,7 +946,7 @@ 4C431BCD16E2A82800700A81 /* MPPasteBoardController.m in Sources */, 4CE8246F16E2E93400573141 /* MPOverlayWindowController.m in Sources */, 4CE8247516E2F2B900573141 /* MPOverlayView.m in Sources */, - 4C77547516E55FE800970E02 /* MPInspectorTabViewController.m in Sources */, + 4C77547516E55FE800970E02 /* MPInspectorViewController.m in Sources */, 4CFC53BF16E94729007396BE /* MPShadowBox.m in Sources */, 4C888C9316EB6F5E003D34A1 /* MPToolbarItem.m in Sources */, 4C888C9716EB754B003D34A1 /* MPActionHelper.m in Sources */, diff --git a/MacPass/InspectorTabView.xib b/MacPass/InspectorView.xib similarity index 94% rename from MacPass/InspectorTabView.xib rename to MacPass/InspectorView.xib index 4b61f713..ebb8f2f7 100644 --- a/MacPass/InspectorTabView.xib +++ b/MacPass/InspectorView.xib @@ -33,7 +33,7 @@ - MPInspectorTabViewController + MPInspectorViewController FirstResponder @@ -42,7 +42,7 @@ NSApplication - + 256 @@ -50,7 +50,6 @@ 268 {{40, 416}, {41, 17}} - _NS:1535 YES @@ -91,7 +90,6 @@ 268 {{86, 416}, {120, 22}} - _NS:9 YES @@ -126,7 +124,6 @@ 268 {{14, 386}, {67, 17}} - _NS:1535 YES @@ -147,7 +144,6 @@ 268 {{86, 291}, {80, 22}} - _NS:9 YES @@ -172,7 +168,6 @@ 268 {{86, 384}, {120, 22}} - _NS:9 YES @@ -194,7 +189,6 @@ 268 {{86, 352}, {80, 22}} - _NS:9 YES @@ -216,7 +210,6 @@ 268 {{52, 354}, {29, 17}} - _NS:1535 YES @@ -237,7 +230,6 @@ 268 {{174, 352}, {32, 25}} - _NS:22 YES @@ -266,7 +258,6 @@ 268 {{17, 293}, {64, 17}} - _NS:1535 YES @@ -287,7 +278,6 @@ 268 {{174, 289}, {32, 25}} - _NS:22 YES @@ -323,7 +313,6 @@ {{20, 467}, {48, 48}} - _NS:9 YES @@ -348,7 +337,6 @@ 268 {{73, 483}, {136, 17}} - _NS:1535 {200, 750} @@ -370,15 +358,12 @@ 268 {{20, 457}, {186, 2}} - _NS:9 MPSeparator {226, 535} - - _NS:11 @@ -1614,74 +1599,6 @@ - - MPInspectorTabViewController - MPViewController - - togglePasswordDisplay: - id - - - togglePasswordDisplay: - - togglePasswordDisplay: - id - - - - NSTextField - MPPopupImageView - NSTextField - NSButton - NSSecureTextField - NSButton - NSTextField - NSTextField - NSTextField - - - - URLTextField - NSTextField - - - itemImageView - MPPopupImageView - - - itemNameTextfield - NSTextField - - - openURLButton - NSButton - - - passwordTextField - NSSecureTextField - - - showPasswordCreator - NSButton - - - titleOrNameLabel - NSTextField - - - titleTextField - NSTextField - - - usernameTextField - NSTextField - - - - IBProjectSource - ./Classes/MPInspectorTabViewController.h - - MPPopupImageView NSImageView @@ -1698,14 +1615,6 @@ ./Classes/MPSeparator.h - - MPViewController - NSViewController - - IBProjectSource - ./Classes/MPViewController.h - - NSLayoutConstraint NSObject diff --git a/MacPass/KdbEntry+Undo.h b/MacPass/KdbEntry+Undo.h index e91f55ae..6f976b87 100644 --- a/MacPass/KdbEntry+Undo.h +++ b/MacPass/KdbEntry+Undo.h @@ -8,6 +8,13 @@ #import "Kdb.h" +APPKIT_EXTERN NSString *const MPEntryTitleUndoableKey; +APPKIT_EXTERN NSString *const MPEntryUsernameUndoableKey; +APPKIT_EXTERN NSString *const MPEntryPasswordUndoableKey; +APPKIT_EXTERN NSString *const MPEntryUrlUndoableKey; +APPKIT_EXTERN NSString *const MPEntryNotesUndoableKey; + + @interface KdbEntry (Undo) + (NSUndoManager *)undoManager; diff --git a/MacPass/KdbEntry+Undo.m b/MacPass/KdbEntry+Undo.m index de0280ba..108f61b1 100644 --- a/MacPass/KdbEntry+Undo.m +++ b/MacPass/KdbEntry+Undo.m @@ -9,6 +9,12 @@ #import "KdbEntry+Undo.h" #import "KdbGroup+MPAdditions.h" +NSString *const MPEntryTitleUndoableKey = @"titleUndoable"; +NSString *const MPEntryUsernameUndoableKey = @"usernameUndoable"; +NSString *const MPEntryPasswordUndoableKey = @"passwordUndoable"; +NSString *const MPEntryUrlUndoableKey = @"urlUndoable"; +NSString *const MPEntryNotesUndoableKey = @"notesUndoable"; + @implementation KdbEntry (Undo) + (NSUndoManager *)undoManager { @@ -49,19 +55,19 @@ } - (void)setPasswordUndoable:(NSString *)password { - [[KdbEntry undoManager] registerUndoWithTarget:self selector:@selector(setTitleUndoable:) object:self.password]; + [[KdbEntry undoManager] registerUndoWithTarget:self selector:@selector(setPasswordUndoable:) object:self.password]; [[KdbEntry undoManager] setActionName:NSLocalizedString(@"UNDO_SET_PASSWORT", "Undo set password")]; [self setPassword:password]; } - (void)setUrlUndoable:(NSString *)url { - [[KdbEntry undoManager] registerUndoWithTarget:self selector:@selector(setTitleUndoable:) object:self.url]; + [[KdbEntry undoManager] registerUndoWithTarget:self selector:@selector(setUrlUndoable:) object:self.url]; [[KdbEntry undoManager] setActionName:NSLocalizedString(@"UNDO_SET_URL", "Undo set URL")]; [self setUrl:url]; } - (void)setNotesUndoable:(NSString *)notes { - [[KdbEntry undoManager] registerUndoWithTarget:self selector:@selector(setTitleUndoable:) object:self.notes]; + [[KdbEntry undoManager] registerUndoWithTarget:self selector:@selector(setNotesUndoable:) object:self.notes]; [[KdbEntry undoManager] setActionName:NSLocalizedString(@"UNDO_SET_NOTES", "Undo set notes")]; [self setNotes:notes]; } diff --git a/MacPass/KdbGroup+Undo.h b/MacPass/KdbGroup+Undo.h index a78f9d1b..8fecf9a9 100644 --- a/MacPass/KdbGroup+Undo.h +++ b/MacPass/KdbGroup+Undo.h @@ -8,10 +8,15 @@ #import "Kdb.h" +APPKIT_EXTERN NSString *const MPGroupNameUndoableKey; + @interface KdbGroup (Undo) + (NSUndoManager *)undoManager; +- (NSString *)nameUndoable; +- (void)setNameUndoable:(NSString *)newName; + - (void)removeEntryUndoable:(KdbEntry *)entry; - (void)addEntryUndoable:(KdbEntry *)entry; diff --git a/MacPass/KdbGroup+Undo.m b/MacPass/KdbGroup+Undo.m index 076fe4eb..81591608 100644 --- a/MacPass/KdbGroup+Undo.m +++ b/MacPass/KdbGroup+Undo.m @@ -8,12 +8,24 @@ #import "KdbGroup+Undo.h" +NSString *const MPGroupNameUndoableKey = @"nameUndoable"; + @implementation KdbGroup (Undo) + (NSUndoManager *)undoManager { return [[[NSDocumentController sharedDocumentController] currentDocument] undoManager]; } +- (NSString *)nameUndoable { + return [self name]; +} + +- (void)setNameUndoable:(NSString *)newName { + [[KdbGroup undoManager] registerUndoWithTarget:self selector:@selector(setNameUndoable:) object:self.name]; + [[KdbGroup undoManager] setActionName:NSLocalizedString(@"UNDO_SET_NAME", "Undo set name")]; + self.name = newName; +} + - (void)removeEntryUndoable:(KdbEntry *)entry { [[KdbGroup undoManager] registerUndoWithTarget:self selector:@selector(addEntryUndoable:) object:entry]; [[KdbGroup undoManager] setActionName:NSLocalizedString(@"UNDO_DELETE_ENTRY", "Undo deleting of entry")]; diff --git a/MacPass/MPDocumentWindowController.h b/MacPass/MPDocumentWindowController.h index 38f7a8cc..98c727d4 100644 --- a/MacPass/MPDocumentWindowController.h +++ b/MacPass/MPDocumentWindowController.h @@ -10,7 +10,7 @@ @class MPViewController; @class MPEntryViewController; -@class MPInspectorTabViewController; +@class MPInspectorViewController; @class MPPasswordEditViewController; @class MPPasswordInputController; @class MPOutlineViewController; @@ -23,7 +23,7 @@ @property (readonly, retain) MPPasswordEditViewController *passwordEditController; @property (readonly, retain) MPEntryViewController *entryViewController; @property (readonly, retain) MPOutlineViewController *outlineViewController; -@property (readonly, retain) MPInspectorTabViewController *inspectorTabViewController; +@property (readonly, retain) MPInspectorViewController *inspectorTabViewController; @property (readonly, retain) MPCreationViewController *creationViewController; - (void)showEntries; diff --git a/MacPass/MPDocumentWindowController.m b/MacPass/MPDocumentWindowController.m index 82e327d1..d2c51261 100644 --- a/MacPass/MPDocumentWindowController.m +++ b/MacPass/MPDocumentWindowController.m @@ -13,7 +13,7 @@ #import "MPPasswordEditViewController.h" #import "MPToolbarDelegate.h" #import "MPOutlineViewController.h" -#import "MPInspectorTabViewController.h" +#import "MPInspectorViewController.h" #import "MPAppDelegate.h" #import "DMSplitView.h" @@ -35,7 +35,7 @@ @property (retain) MPPasswordEditViewController *passwordEditController; @property (retain) MPEntryViewController *entryViewController; @property (retain) MPOutlineViewController *outlineViewController; -@property (retain) MPInspectorTabViewController *inspectorTabViewController; +@property (retain) MPInspectorViewController *inspectorTabViewController; @property (retain) MPToolbarDelegate *toolbarDelegate; @@ -53,7 +53,7 @@ _needsDecryption = NO; _toolbarDelegate = [[MPToolbarDelegate alloc] init]; _outlineViewController = [[MPOutlineViewController alloc] init]; - _inspectorTabViewController = [[MPInspectorTabViewController alloc] init]; + _inspectorTabViewController = [[MPInspectorViewController alloc] init]; _passwordEditController = [[MPPasswordEditViewController alloc] init]; } return self; diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index f9ca39b8..453a85b3 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -198,7 +198,8 @@ NSString *const _toggleFilterUsernameButton = @"SearchUsername"; if(isTitleColumn || isGroupColumn) { view = [tableView makeViewWithIdentifier:_MPTableImageCellView owner:self]; if( isTitleColumn ) { - [[view textField] setStringValue:entry.title]; + [[view textField] bind:NSValueBinding toObject:entry withKeyPath:@"title" options:nil]; + //[[view textField] setStringValue:entry.title]; [[view imageView] setImage:[MPIconHelper icon:(MPIconType)entry.image]]; } else { @@ -208,15 +209,18 @@ NSString *const _toggleFilterUsernameButton = @"SearchUsername"; } else if( isPasswordColum ) { view = [tableView makeViewWithIdentifier:_MPTAbleSecurCellView owner:self]; + [[view textField] bind:NSValueBinding toObject:entry withKeyPath:@"password" options:nil]; [[view textField] setStringValue:entry.password]; } else if( isUsernameColumn || isURLColumn ) { view = [tableView makeViewWithIdentifier:_MPTableStringCellView owner:self]; if(isURLColumn) { - [[view textField] setStringValue:entry.url]; + [[view textField] bind:NSValueBinding toObject:entry withKeyPath:@"url" options:nil]; + //[[view textField] setStringValue:entry.url]; } else { - [[view textField] setStringValue:entry.username]; + [[view textField] bind:NSValueBinding toObject:entry withKeyPath:@"username" options:nil]; + //[[view textField] setStringValue:entry.username]; } } diff --git a/MacPass/MPInspectorTabViewController.h b/MacPass/MPInspectorViewController.h similarity index 93% rename from MacPass/MPInspectorTabViewController.h rename to MacPass/MPInspectorViewController.h index 6dd0d4b5..fa705601 100644 --- a/MacPass/MPInspectorTabViewController.h +++ b/MacPass/MPInspectorViewController.h @@ -10,7 +10,7 @@ @class MPPopupImageView; -@interface MPInspectorTabViewController : MPViewController +@interface MPInspectorViewController : MPViewController @property (assign) IBOutlet MPPopupImageView *itemImageView; @property (assign) IBOutlet NSTextField *itemNameTextfield; diff --git a/MacPass/MPInspectorTabViewController.m b/MacPass/MPInspectorViewController.m similarity index 84% rename from MacPass/MPInspectorTabViewController.m rename to MacPass/MPInspectorViewController.m index 492c9b2f..eafa2fa8 100644 --- a/MacPass/MPInspectorTabViewController.m +++ b/MacPass/MPInspectorViewController.m @@ -6,7 +6,7 @@ // Copyright (c) 2013 HicknHack Software GmbH. All rights reserved. // -#import "MPInspectorTabViewController.h" +#import "MPInspectorViewController.h" #import "MPEntryViewController.h" #import "MPOutlineViewDelegate.h" #import "MPShadowBox.h" @@ -15,8 +15,9 @@ #import "MPIconSelectViewController.h" #import "KdbLib.h" #import "KdbEntry+Undo.h" +#import "KdbGroup+Undo.h" -@interface MPInspectorTabViewController () { +@interface MPInspectorViewController () { BOOL _visible; } @@ -38,10 +39,10 @@ @end -@implementation MPInspectorTabViewController +@implementation MPInspectorViewController - (id)init { - return [[MPInspectorTabViewController alloc] initWithNibName:@"InspectorTabView" bundle:nil]; + return [[MPInspectorViewController alloc] initWithNibName:@"InspectorView" bundle:nil]; } - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { @@ -120,33 +121,46 @@ } - (void)_showEntry { - [self.itemNameTextfield setStringValue:self.selectedEntry.title]; + [self.itemNameTextfield bind:NSValueBinding toObject:self.selectedEntry withKeyPath:MPEntryTitleUndoableKey options:nil]; [self.itemImageView setImage:[MPIconHelper icon:(MPIconType)self.selectedEntry.image ]]; - [self.passwordTextField setStringValue:self.selectedEntry.password]; - [self.usernameTextField bind:NSValueBinding toObject:self.selectedEntry withKeyPath:@"usernameUndoable" options:nil]; - //[self.usernameTextField setStringValue:self.selectedEntry.username]; + [self.passwordTextField bind:NSValueBinding toObject:self.selectedEntry withKeyPath:MPEntryPasswordUndoableKey options:nil]; + [self.usernameTextField bind:NSValueBinding toObject:self.selectedEntry withKeyPath:MPEntryUsernameUndoableKey options:nil]; [self.titleOrNameLabel setStringValue:NSLocalizedString(@"TITLE",@"")]; - [self.titleTextField setStringValue:self.selectedEntry.title]; - [self.URLTextField setStringValue:self.selectedEntry.url]; + [self.titleTextField bind:NSValueBinding toObject:self.selectedEntry withKeyPath:MPEntryTitleUndoableKey options:nil]; + [self.URLTextField bind:NSValueBinding toObject:self.selectedEntry withKeyPath:MPEntryUrlUndoableKey options:nil]; [self _setInputEnabled:YES]; } - (void)_showGroup { - [self.itemNameTextfield setStringValue:self.selectedGroup.name]; + [self.itemNameTextfield bind:NSValueBinding toObject:self.selectedGroup withKeyPath:MPGroupNameUndoableKey options:nil]; [self.itemImageView setImage:[MPIconHelper icon:(MPIconType)self.selectedGroup.image ]]; [self.titleOrNameLabel setStringValue:NSLocalizedString(@"NAME",@"")]; - [self.titleTextField setStringValue:self.selectedGroup.name]; + [self.titleTextField bind:NSValueBinding toObject:self.selectedGroup withKeyPath:MPGroupNameUndoableKey options:nil]; + + // Clear other bindins + [self.passwordTextField unbind:NSValueBinding]; + [self.usernameTextField unbind:NSValueBinding]; + [self.URLTextField unbind:NSValueBinding]; + + // Reset Fields [self.passwordTextField setStringValue:@""]; [self.usernameTextField setStringValue:@""]; [self.URLTextField setStringValue:@""]; - + [self _setInputEnabled:YES]; } - (void)_clearContent { [self _setInputEnabled:NO]; + + [self.itemNameTextfield unbind:NSValueBinding]; + [self.passwordTextField unbind:NSValueBinding]; + [self.usernameTextField unbind:NSValueBinding]; + [self.titleTextField unbind:NSValueBinding]; + [self.URLTextField unbind:NSValueBinding]; + [self.itemNameTextfield setStringValue:NSLocalizedString(@"INSPECTOR_NO_SELECTION", @"No item selected in inspector")]; [self.itemImageView setImage:[NSImage imageNamed:NSImageNameActionTemplate]]; diff --git a/MacPass/MacPass-Info.plist b/MacPass/MacPass-Info.plist index 15d87888..d2680fc8 100644 --- a/MacPass/MacPass-Info.plist +++ b/MacPass/MacPass-Info.plist @@ -46,7 +46,7 @@ CFBundleSignature ???? CFBundleVersion - 74B + 759 LSMinimumSystemVersion ${MACOSX_DEPLOYMENT_TARGET} NSHumanReadableCopyright diff --git a/MacPass/en.lproj/Localizable.strings b/MacPass/en.lproj/Localizable.strings index 38881fc8..0f3d23a8 100644 Binary files a/MacPass/en.lproj/Localizable.strings and b/MacPass/en.lproj/Localizable.strings differ