Added title to pickchar. Fixed remain-counter to actually display remaining count.

This commit is contained in:
michael starke
2017-11-28 12:16:08 +01:00
parent 173e7fe44f
commit 0cb404c072
3 changed files with 15 additions and 3 deletions

View File

@@ -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<NSString *> *)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;

View File

@@ -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? */

View File

@@ -23,7 +23,7 @@
<subviews>
<textField horizontalHuggingPriority="249" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="KQ1-tZ-qja" customClass="HNHUIRoundedSecureTextField">
<rect key="frame" x="20" y="49" width="276" height="24"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="Wi0-xp-KgI">
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" enabled="NO" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="Wi0-xp-KgI">
<font key="font" size="13" name="Menlo-Regular"/>
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>