From 1f105c5bdb9ae59a4692782557d007ef970540d3 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 17 Jun 2013 21:01:20 +0200 Subject: [PATCH] Fixed #18. Passwords are now displayed as 8-dots or empy --- MacPass/MPAssociateRequestHandler.h | 13 +++++++ MacPass/MPAssociateRequestHandler.m | 13 +++++++ MacPass/MPEntryViewController.m | 13 ++++--- MacPass/MPServerRequestHandler.h | 13 +++++++ MacPass/MPStringLengthValueTransformer.h | 17 +++++++++ MacPass/MPStringLengthValueTransformer.m | 39 +++++++++++++++++++++ MacPass/MPUppercaseStringValueTransformer.m | 2 +- 7 files changed, 105 insertions(+), 5 deletions(-) create mode 100644 MacPass/MPAssociateRequestHandler.h create mode 100644 MacPass/MPAssociateRequestHandler.m create mode 100644 MacPass/MPServerRequestHandler.h create mode 100644 MacPass/MPStringLengthValueTransformer.h create mode 100644 MacPass/MPStringLengthValueTransformer.m diff --git a/MacPass/MPAssociateRequestHandler.h b/MacPass/MPAssociateRequestHandler.h new file mode 100644 index 00000000..daf106be --- /dev/null +++ b/MacPass/MPAssociateRequestHandler.h @@ -0,0 +1,13 @@ +// +// MPAssociateRequestHandler.h +// MacPass +// +// Created by Michael Starke on 17.06.13. +// Copyright (c) 2013 HicknHack Software GmbH. All rights reserved. +// + +#import + +@interface MPAssociateRequestHandler : NSObject + +@end diff --git a/MacPass/MPAssociateRequestHandler.m b/MacPass/MPAssociateRequestHandler.m new file mode 100644 index 00000000..1da2e2b8 --- /dev/null +++ b/MacPass/MPAssociateRequestHandler.m @@ -0,0 +1,13 @@ +// +// MPAssociateRequestHandler.m +// MacPass +// +// Created by Michael Starke on 17.06.13. +// Copyright (c) 2013 HicknHack Software GmbH. All rights reserved. +// + +#import "MPAssociateRequestHandler.h" + +@implementation MPAssociateRequestHandler + +@end diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index 0af0e3af..d4179cc0 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -15,15 +15,19 @@ #import "MPDocumentWindowController.h" #import "MPPasteBoardController.h" #import "MPOverlayWindowController.h" -#import "KdbGroup+MPTreeTools.h" -#import "KdbGroup+Undo.h" -#import "KdbEntry+Undo.h" + #import "MPContextMenuHelper.h" #import "MPConstants.h" #import "MPEntryTableDataSource.h" +#import "MPStringLengthValueTransformer.h" + #import "HNHTableHeaderCell.h" #import "HNHGradientView.h" +#import "KdbGroup+MPTreeTools.h" +#import "KdbGroup+Undo.h" +#import "KdbEntry+Undo.h" + NSString *const MPDidChangeSelectedEntryNotification = @"com.macpass.MPDidChangeSelectedEntryNotification"; #define STATUS_BAR_ANIMATION_TIME 0.2 @@ -194,7 +198,8 @@ NSString *const _toggleFilterUsernameButton = @"SearchUsername"; } else if( isPasswordColum ) { view = [tableView makeViewWithIdentifier:_MPTAbleSecurCellView owner:self]; - [[view textField] bind:NSValueBinding toObject:entry withKeyPath:MPEntryPasswordUndoableKey options:nil]; + NSDictionary *options = @{ NSValueTransformerBindingOption : [NSValueTransformer valueTransformerForName:MPStringLengthValueTransformerName] }; + [[view textField] bind:NSValueBinding toObject:entry withKeyPath:MPEntryPasswordUndoableKey options:options]; } else if( isUsernameColumn || isURLColumn ) { view = [tableView makeViewWithIdentifier:_MPTableStringCellView owner:self]; diff --git a/MacPass/MPServerRequestHandler.h b/MacPass/MPServerRequestHandler.h new file mode 100644 index 00000000..8f23a02c --- /dev/null +++ b/MacPass/MPServerRequestHandler.h @@ -0,0 +1,13 @@ +// +// MPServerRequestHandler.h +// MacPass +// +// Created by Michael Starke on 17.06.13. +// Copyright (c) 2013 HicknHack Software GmbH. All rights reserved. +// + +#import + +@protocol MPServerRequestHandler + +@end diff --git a/MacPass/MPStringLengthValueTransformer.h b/MacPass/MPStringLengthValueTransformer.h new file mode 100644 index 00000000..9571c492 --- /dev/null +++ b/MacPass/MPStringLengthValueTransformer.h @@ -0,0 +1,17 @@ +// +// MPStringLengthValueTransformer.h +// MacPass +// +// Created by Michael Starke on 17.06.13. +// Copyright (c) 2013 HicknHack Software GmbH. All rights reserved. +// + +#import + +APPKIT_EXTERN NSString *const MPStringLengthValueTransformerName; + +@interface MPStringLengthValueTransformer : NSValueTransformer + ++ (void)registerTransformer; + +@end diff --git a/MacPass/MPStringLengthValueTransformer.m b/MacPass/MPStringLengthValueTransformer.m new file mode 100644 index 00000000..a4292e4c --- /dev/null +++ b/MacPass/MPStringLengthValueTransformer.m @@ -0,0 +1,39 @@ +// +// MPStringLengthValueTransformer.m +// MacPass +// +// Created by Michael Starke on 17.06.13. +// Copyright (c) 2013 HicknHack Software GmbH. All rights reserved. +// + +#import "MPStringLengthValueTransformer.h" +#define CROP_LENGHT 10; + +NSString *const MPStringLengthValueTransformerName = @"com.hicknhack.macpass.MPMPStringLengthValueTransformer"; + +@implementation MPStringLengthValueTransformer + ++ (Class)transformedValueClass { + return [NSString class]; +} + ++ (BOOL)allowsReverseTransformation { + return NO; +} + ++ (void)registerTransformer { + MPStringLengthValueTransformer *transformer = [[MPStringLengthValueTransformer alloc] init]; + [NSValueTransformer setValueTransformer:transformer + forName:MPStringLengthValueTransformerName]; + [transformer release]; +} + +- (id)transformedValue:(id)value { + NSUInteger length = 0; + if([value isKindOfClass:[NSString class]]) { + length = [value length]; + } + return (length > 0) ? @"12345678" : @""; +} + +@end diff --git a/MacPass/MPUppercaseStringValueTransformer.m b/MacPass/MPUppercaseStringValueTransformer.m index f0464940..9d7beb5b 100644 --- a/MacPass/MPUppercaseStringValueTransformer.m +++ b/MacPass/MPUppercaseStringValueTransformer.m @@ -8,7 +8,7 @@ #import "MPUppercaseStringValueTransformer.h" -NSString *const MPUppsercaseStringValueTransformerName = @"StringToUppercaseStringTransformer"; +NSString *const MPUppsercaseStringValueTransformerName = @"com.hicknhack.macpass.StringToUppercaseStringTransformer"; @implementation MPUppercaseStringValueTransformer