From 0cb404c0728a49bfd4a446fe19419934497b6699 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 28 Nov 2017 12:16:08 +0100 Subject: [PATCH] Added title to pickchar. Fixed remain-counter to actually display remaining count. --- MacPass/MPPickcharViewController.m | 14 +++++++++++++- MacPass/MPTreeDelegate.m | 2 +- MacPass/PickcharView.xib | 2 +- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/MacPass/MPPickcharViewController.m b/MacPass/MPPickcharViewController.m index c077b663..ec5808b0 100644 --- a/MacPass/MPPickcharViewController.m +++ b/MacPass/MPPickcharViewController.m @@ -16,10 +16,15 @@ @property (weak) IBOutlet NSTextField *pickedValueTextField; @property (weak) IBOutlet NSButton *togglePasswordDisplayButton; @property (weak) IBOutlet NSTextField *pickedStatusTextField; +@property (nonatomic) NSInteger availableCountToPick; @end @implementation MPPickcharViewController ++ (NSSet *)keyPathsForValuesAffectingAvailableCountToPick { + return [NSSet setWithArray:@[NSStringFromSelector(@selector(countToPick)), NSStringFromSelector(@selector(pickedValue))]]; +} + - (NSNibName)nibName { return @"PickcharView"; } @@ -76,8 +81,12 @@ [self _updatePickedStatus]; } +- (NSInteger)availableCountToPick { + return (self.countToPick - self.pickedValue.composedCharacterLength); +} + - (void)_updatePickedStatus { - self.pickedStatusTextField.stringValue = [NSString stringWithFormat:@"%ld characters remaining", self.pickedValue.composedCharacterLength]; + self.pickedStatusTextField.stringValue = [NSString stringWithFormat:@"%ld characters remaining", self.availableCountToPick]; } - (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView { @@ -98,6 +107,9 @@ } - (void)tableView:(NSTableView *)tableView didClickTableColumn:(NSTableColumn *)tableColumn { + if(self.availableCountToPick <= 0) { + return; + } NSInteger index = [tableView.tableColumns indexOfObjectIdenticalTo:tableColumn]; if(index == NSNotFound) { return; diff --git a/MacPass/MPTreeDelegate.m b/MacPass/MPTreeDelegate.m index 77c2fbfb..14760a4e 100644 --- a/MacPass/MPTreeDelegate.m +++ b/MacPass/MPTreeDelegate.m @@ -95,13 +95,13 @@ pickCharViewController.sourceValue = value; pickCharViewController.countToPick = 10; - NSPanel *panel = [[NSPanel alloc] initWithContentRect:NSMakeRect(0, 0, 100, 100) styleMask:NSWindowStyleMaskNonactivatingPanel|NSWindowStyleMaskTitled|NSWindowStyleMaskResizable backing:NSBackingStoreRetained defer:YES]; panel.level = NSScreenSaverWindowLevel; panel.contentViewController = pickCharViewController; + panel.title = NSLocalizedString(@"PICKCHAR_WINDOW_TITLE", @"Window displayed to the user to pick an amout of characters"); [panel center]; if(NSModalResponseOK == [NSApp runModalForWindow:panel]) { /* add appropriate key press comamnds? or let the pick-char view-controller handel this? */ diff --git a/MacPass/PickcharView.xib b/MacPass/PickcharView.xib index 9f71504a..164d89f4 100644 --- a/MacPass/PickcharView.xib +++ b/MacPass/PickcharView.xib @@ -23,7 +23,7 @@ - +