Aligned naming, Pickchars dialog now automatically closes when all characters are picked. Table columns now start at 1 instead of 0.

This commit is contained in:
Michael Starke
2018-12-28 19:27:37 +01:00
parent 7898d3c146
commit 56a6fce658
8 changed files with 38 additions and 32 deletions

View File

@@ -18,7 +18,7 @@
4C0AF62F195C1F2B009E658D /* MPEntrySearchContext.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C0AF62E195C1F2B009E658D /* MPEntrySearchContext.m */; };
4C0B038C18E36DA400B9F9C9 /* MPFixAutotypeWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C0B038A18E36DA400B9F9C9 /* MPFixAutotypeWindowController.m */; };
4C0B038D18E36DA400B9F9C9 /* FixAutotypeWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C0B038B18E36DA400B9F9C9 /* FixAutotypeWindow.xib */; };
4C0B5338205C1516003D277E /* PickcharView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C0B533A205C1516003D277E /* PickcharView.xib */; };
4C0B5338205C1516003D277E /* PickcharsView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C0B533A205C1516003D277E /* PickcharsView.xib */; };
4C0B533F205C1561003D277E /* PickfieldView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C0B5341205C1561003D277E /* PickfieldView.xib */; };
4C0C59F118B17F10009C7B76 /* DDHotKeyUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C0C59EF18B17F10009C7B76 /* DDHotKeyUtilities.m */; };
4C0DBEF51BF508DE00F9B287 /* PluginSettings.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C0DBEF71BF508DE00F9B287 /* PluginSettings.xib */; };
@@ -243,7 +243,7 @@
4CD034AA1BFE113B003C002C /* MPPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD034A51BFE113B003C002C /* MPPlugin.m */; };
4CD034AC1BFE113B003C002C /* MPPluginHost.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD034A91BFE113B003C002C /* MPPluginHost.m */; };
4CD2B9061849424B0051B395 /* MPAutotypeContext.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD2B9051849424B0051B395 /* MPAutotypeContext.m */; };
4CD4EE131FC7284000EA6EB3 /* MPPickcharViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD4EE111FC7284000EA6EB3 /* MPPickcharViewController.m */; };
4CD4EE131FC7284000EA6EB3 /* MPPickcharsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD4EE111FC7284000EA6EB3 /* MPPickcharsViewController.m */; };
4CD5D705177A5F3300100649 /* MPDatabaseSettingsWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD5D704177A5F3300100649 /* MPDatabaseSettingsWindowController.m */; };
4CD60C131C104AD4005BE5F8 /* HNHUi.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 4CC281881C0F675B00B9174D /* HNHUi.framework */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
4CD7223B17A7CB0700F5A1E1 /* MPWorkflowSettingsController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD7223A17A7CB0700F5A1E1 /* MPWorkflowSettingsController.m */; };
@@ -349,9 +349,9 @@
4C0B038918E36DA400B9F9C9 /* MPFixAutotypeWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPFixAutotypeWindowController.h; sourceTree = "<group>"; };
4C0B038A18E36DA400B9F9C9 /* MPFixAutotypeWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPFixAutotypeWindowController.m; sourceTree = "<group>"; };
4C0B038B18E36DA400B9F9C9 /* FixAutotypeWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = FixAutotypeWindow.xib; sourceTree = "<group>"; };
4C0B5339205C1516003D277E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/PickcharView.xib; sourceTree = "<group>"; };
4C0B533C205C151D003D277E /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/PickcharView.strings; sourceTree = "<group>"; };
4C0B533E205C1526003D277E /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/PickcharView.strings; sourceTree = "<group>"; };
4C0B5339205C1516003D277E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/PickcharsView.xib; sourceTree = "<group>"; };
4C0B533C205C151D003D277E /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/PickcharsView.strings; sourceTree = "<group>"; };
4C0B533E205C1526003D277E /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/PickcharsView.strings; sourceTree = "<group>"; };
4C0B5340205C1561003D277E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/PickfieldView.xib; sourceTree = "<group>"; };
4C0B5343205C1563003D277E /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/PickfieldView.strings; sourceTree = "<group>"; };
4C0B5345205C1567003D277E /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/PickfieldView.strings; sourceTree = "<group>"; };
@@ -793,8 +793,8 @@
4CD034A91BFE113B003C002C /* MPPluginHost.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MPPluginHost.m; path = MacPass/MPPluginHost.m; sourceTree = SOURCE_ROOT; };
4CD2B9041849424B0051B395 /* MPAutotypeContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAutotypeContext.h; sourceTree = "<group>"; };
4CD2B9051849424B0051B395 /* MPAutotypeContext.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAutotypeContext.m; sourceTree = "<group>"; };
4CD4EE101FC7284000EA6EB3 /* MPPickcharViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPPickcharViewController.h; sourceTree = "<group>"; };
4CD4EE111FC7284000EA6EB3 /* MPPickcharViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MPPickcharViewController.m; sourceTree = "<group>"; };
4CD4EE101FC7284000EA6EB3 /* MPPickcharsViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPPickcharsViewController.h; sourceTree = "<group>"; };
4CD4EE111FC7284000EA6EB3 /* MPPickcharsViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MPPickcharsViewController.m; sourceTree = "<group>"; };
4CD5D703177A5F3300100649 /* MPDatabaseSettingsWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPDatabaseSettingsWindowController.h; sourceTree = "<group>"; };
4CD5D704177A5F3300100649 /* MPDatabaseSettingsWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPDatabaseSettingsWindowController.m; sourceTree = "<group>"; };
4CD7223917A7CB0700F5A1E1 /* MPWorkflowSettingsController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPWorkflowSettingsController.h; sourceTree = "<group>"; };
@@ -929,7 +929,7 @@
6A74B0722076F4B50049BC29 /* sv-SE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sv-SE"; path = "sv-SE.lproj/ReferenceBuilderView.strings"; sourceTree = "<group>"; };
6A74B0732076F4B50049BC29 /* sv-SE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sv-SE"; path = "sv-SE.lproj/AutotypeBuilderView.strings"; sourceTree = "<group>"; };
6A74B0742076F4B50049BC29 /* sv-SE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sv-SE"; path = "sv-SE.lproj/AutotypeCandidateSelectionView.strings"; sourceTree = "<group>"; };
6A74B0752076F4B50049BC29 /* sv-SE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sv-SE"; path = "sv-SE.lproj/PickcharView.strings"; sourceTree = "<group>"; };
6A74B0752076F4B50049BC29 /* sv-SE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sv-SE"; path = "sv-SE.lproj/PickcharsView.strings"; sourceTree = "<group>"; };
6A74B0762076F4B50049BC29 /* sv-SE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sv-SE"; path = "sv-SE.lproj/PickfieldView.strings"; sourceTree = "<group>"; };
6A74B0772076F4B50049BC29 /* sv-SE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sv-SE"; path = "sv-SE.lproj/WelcomeView.strings"; sourceTree = "<group>"; };
6A74B0782076F4B50049BC29 /* sv-SE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sv-SE"; path = "sv-SE.lproj/MainMenu.strings"; sourceTree = "<group>"; };
@@ -1584,9 +1584,9 @@
4C6DCC5E1FA24C2100C8AD3F /* MPAutotypeCandidateSelectionViewController.h */,
4C6DCC5F1FA24C2100C8AD3F /* MPAutotypeCandidateSelectionViewController.m */,
FA9FD3291FB5E8F4003CEDD6 /* AutotypeCandidateSelectionView.xib */,
4CD4EE101FC7284000EA6EB3 /* MPPickcharViewController.h */,
4CD4EE111FC7284000EA6EB3 /* MPPickcharViewController.m */,
4C0B533A205C1516003D277E /* PickcharView.xib */,
4CD4EE101FC7284000EA6EB3 /* MPPickcharsViewController.h */,
4CD4EE111FC7284000EA6EB3 /* MPPickcharsViewController.m */,
4C0B533A205C1516003D277E /* PickcharsView.xib */,
4C8204671FCDC07800EB24A4 /* MPPickfieldViewController.h */,
4C8204681FCDC07800EB24A4 /* MPPickfieldViewController.m */,
4C0B5341205C1561003D277E /* PickfieldView.xib */,
@@ -1875,7 +1875,7 @@
4C431BCF16E2BAB000700A81 /* OverlayWindow.xib in Resources */,
4C3826B61AD04D8E007D7D67 /* 41_VectorTemplate.pdf in Resources */,
4C17F105184E630200E85625 /* 14_BatteryTemplate.pdf in Resources */,
4C0B5338205C1516003D277E /* PickcharView.xib in Resources */,
4C0B5338205C1516003D277E /* PickcharsView.xib in Resources */,
4C76156D1764C0E20015A1A6 /* InspectorView.xib in Resources */,
4C888C9016EB6C91003D34A1 /* Localizable.strings in Resources */,
4C3826B01AD04D8E007D7D67 /* 35_BrowserWindowTemplate.pdf in Resources */,
@@ -2076,7 +2076,7 @@
4CD2B9061849424B0051B395 /* MPAutotypeContext.m in Sources */,
4CFB18E418A17FA20097A34B /* MPUpdateSettingsController.m in Sources */,
4C7B63771C0CB51F00D7038C /* TTTStringTransformers.m in Sources */,
4CD4EE131FC7284000EA6EB3 /* MPPickcharViewController.m in Sources */,
4CD4EE131FC7284000EA6EB3 /* MPPickcharsViewController.m in Sources */,
4CCEDE2A179F203B008402BE /* MPOutlineView.m in Sources */,
4CB33F861EAF54A000C9341E /* KPKNode+MPIsHistory.m in Sources */,
4CCEDE2E179F213B008402BE /* MPNotifications.m in Sources */,
@@ -2119,7 +2119,7 @@
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
4C0B533A205C1516003D277E /* PickcharView.xib */ = {
4C0B533A205C1516003D277E /* PickcharsView.xib */ = {
isa = PBXVariantGroup;
children = (
4C0B5339205C1516003D277E /* Base */,
@@ -2127,7 +2127,7 @@
4C0B533E205C1526003D277E /* de */,
6A74B0752076F4B50049BC29 /* sv-SE */,
);
name = PickcharView.xib;
name = PickcharsView.xib;
sourceTree = "<group>";
};
4C0B5341205C1561003D277E /* PickfieldView.xib */ = {

View File

@@ -1,11 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14313.18" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14460.31" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14313.18"/>
<deployment identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14460.31"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="MPPickcharViewController">
<customObject id="-2" userLabel="File's Owner" customClass="MPPickcharsViewController">
<connections>
<outlet property="characterTableView" destination="KJq-FZ-rAE" id="H5Y-kG-Mvm"/>
<outlet property="messageTextField" destination="wAr-f2-ZUQ" id="kaZ-v7-6UW"/>
@@ -23,7 +24,7 @@
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<subviews>
<textField horizontalHuggingPriority="249" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="KQ1-tZ-qja" customClass="HNHUISecureTextField">
<rect key="frame" x="20" y="74" width="276" height="24"/>
<rect key="frame" x="20" y="74" width="278" height="24"/>
<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"/>
@@ -31,7 +32,7 @@
</textFieldCell>
</textField>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="hKI-WP-N93">
<rect key="frame" x="361" y="73" width="29" height="25"/>
<rect key="frame" x="361.5" y="74" width="29" height="23"/>
<buttonCell key="cell" type="roundTextured" bezelStyle="texturedRounded" image="NSQuickLookTemplate" imagePosition="only" alignment="center" lineBreakMode="truncatingTail" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="95g-dp-50Q">
<behavior key="behavior" pushIn="YES" changeContents="YES" lightByContents="YES"/>
<font key="font" metaFont="system"/>
@@ -41,7 +42,7 @@
<rect key="frame" x="20" y="106" width="370" height="64"/>
<clipView key="contentView" drawsBackground="NO" id="8aa-cB-mUF">
<rect key="frame" x="1" y="0.0" width="368" height="63"/>
<autoresizingMask key="autoresizingMask"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" selectionHighlightStyle="none" columnReordering="NO" columnResizing="NO" multipleSelection="NO" emptySelection="NO" autosaveColumns="NO" typeSelect="NO" rowHeight="24" rowSizeStyle="systemDefault" headerView="GRO-H1-N4r" viewBased="YES" id="KJq-FZ-rAE">
<rect key="frame" x="0.0" y="0.0" width="368" height="40"/>
@@ -95,11 +96,11 @@
<constraints>
<constraint firstAttribute="height" constant="64" id="AIX-Tc-QJA"/>
</constraints>
<scroller key="horizontalScroller" verticalHuggingPriority="750" horizontal="YES" id="sA9-kc-O5g">
<scroller key="horizontalScroller" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="sA9-kc-O5g">
<rect key="frame" x="1" y="47" width="368" height="16"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="mSX-pm-wrh">
<scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="NO" id="mSX-pm-wrh">
<rect key="frame" x="-100" y="-100" width="15" height="102"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
@@ -119,7 +120,7 @@
</connections>
</button>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Y8X-Bm-qLt">
<rect key="frame" x="304" y="73" width="49" height="25"/>
<rect key="frame" x="305.5" y="74" width="49" height="23"/>
<buttonCell key="cell" type="roundTextured" title="Reset" bezelStyle="texturedRounded" alignment="center" lineBreakMode="truncatingTail" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="Emo-pg-Mfe">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>

View File

@@ -23,7 +23,7 @@
#import <Cocoa/Cocoa.h>
NS_ASSUME_NONNULL_BEGIN
@interface MPPickcharViewController : NSViewController
@interface MPPickcharsViewController : NSViewController
@property (copy) NSString *sourceValue;
@property (nonatomic, copy) NSString *pickedValue;

View File

@@ -20,12 +20,12 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
#import "MPPickcharViewController.h"
#import "MPPickcharsViewController.h"
#import "NSString+MPComposedCharacterAdditions.h"
#import <HNHUi/HNHUi.h>
@interface MPPickcharViewController () <NSTableViewDelegate, NSTableViewDataSource>
@interface MPPickcharsViewController () <NSTableViewDelegate, NSTableViewDataSource>
@property (weak) IBOutlet NSTableView *characterTableView;
@property (weak) IBOutlet NSTextField *pickedValueTextField;
@@ -38,20 +38,21 @@
@end
@implementation MPPickcharViewController
@implementation MPPickcharsViewController
+ (NSSet<NSString *> *)keyPathsForValuesAffectingAvailableCountToPick {
return [NSSet setWithArray:@[NSStringFromSelector(@selector(minimumCharacterCount)), NSStringFromSelector(@selector(pickedValue))]];
}
- (NSString *)nibName {
return @"PickcharView";
return @"PickcharsView";
}
- (instancetype)initWithCoder:(NSCoder *)coder {
self = [super initWithCoder:coder];
if(self) {
self.hidePickedCharacters = NO;
self.minimumCharacterCount = 0;
}
return self;
}
@@ -60,6 +61,7 @@
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if(self) {
self.hidePickedCharacters = NO;
self.minimumCharacterCount = 0;
}
return self;
}
@@ -71,7 +73,7 @@
}
for(NSUInteger count = 0; count < self.sourceValue.composedCharacterLength; count++) {
NSString *columnTitle = [NSString stringWithFormat:@"%ld", count];
NSString *columnTitle = [NSString stringWithFormat:@"%ld", count+1];
NSTableColumn *column = [[NSTableColumn alloc] initWithIdentifier:columnTitle];
column.maxWidth = 32.0;
column.minWidth = column.maxWidth;
@@ -110,6 +112,9 @@
self.pickedStatusTextField.stringValue = [NSString stringWithFormat:NSLocalizedString(@"%ld_CHARACTERS_TO_PICK_REMAINING", @"Count of characters remaining in pickchars dialog"), self.availableCountToPick];
}
self.submitButton.enabled = (self.availableCountToPick == 0 || self.minimumCharacterCount == 0);
if(self.availableCountToPick == 0 && self.minimumCharacterCount > 0) {
[self submitValue:self];
}
}
- (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView {

View File

@@ -24,7 +24,7 @@
#import "MPDocument.h"
#import "MPSettingsHelper.h"
#import "MPPickcharViewController.h"
#import "MPPickcharsViewController.h"
#import "MPPickfieldViewController.h"
#import "MPPickcharsParser.h"
@@ -105,7 +105,7 @@
return @""; // error while retrieving source value
}
MPPickcharsParser *parser = [[MPPickcharsParser alloc] initWithOptions:options];
MPPickcharViewController *pickCharViewController = [[MPPickcharViewController alloc] init];
MPPickcharsViewController *pickCharViewController = [[MPPickcharsViewController alloc] init];
pickCharViewController.sourceValue = value;
pickCharViewController.minimumCharacterCount = parser.pickCount;