More Mac GUI work.
This commit is contained in:
parent
31b667c7f7
commit
651a398798
@ -26,7 +26,12 @@
|
|||||||
#define MPAlertIncorrectMP @"MPAlertIncorrectMP"
|
#define MPAlertIncorrectMP @"MPAlertIncorrectMP"
|
||||||
#define MPAlertCreateSite @"MPAlertCreateSite"
|
#define MPAlertCreateSite @"MPAlertCreateSite"
|
||||||
|
|
||||||
@implementation MPPasswordWindowController
|
@interface MPPasswordWindowController()
|
||||||
|
|
||||||
|
@property(nonatomic, copy) NSString *currentSiteText;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation MPPasswordWindowController { BOOL _skipTextChange; }
|
||||||
|
|
||||||
#pragma mark - Life
|
#pragma mark - Life
|
||||||
|
|
||||||
@ -47,7 +52,7 @@
|
|||||||
[self fadeIn];
|
[self fadeIn];
|
||||||
[self updateUser];
|
[self updateUser];
|
||||||
}];
|
}];
|
||||||
[[NSNotificationCenter defaultCenter] addObserverForName:NSWindowDidResignMainNotification object:self.window
|
[[NSNotificationCenter defaultCenter] addObserverForName:NSApplicationWillResignActiveNotification object:nil
|
||||||
queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification *note) {
|
queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification *note) {
|
||||||
[self fadeOut];
|
[self fadeOut];
|
||||||
}];
|
}];
|
||||||
@ -59,6 +64,10 @@
|
|||||||
queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification *note) {
|
queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification *note) {
|
||||||
[self updateUser];
|
[self updateUser];
|
||||||
}];
|
}];
|
||||||
|
[self.elementsController observeKeyPath:@"selection"
|
||||||
|
withBlock:^(id from, id to, NSKeyValueChange cause, id _self) {
|
||||||
|
[self updateSelection];
|
||||||
|
}];
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark - NSResponder
|
#pragma mark - NSResponder
|
||||||
@ -103,15 +112,24 @@
|
|||||||
[self.elementsController selectNext:self];
|
[self.elementsController selectNext:self];
|
||||||
return YES;
|
return YES;
|
||||||
}
|
}
|
||||||
|
// if ([NSStringFromSelector( commandSelector ) rangeOfString:@"delete"].location == 0) {
|
||||||
|
// _skipTextChange = YES;
|
||||||
|
// return NO;
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
return [self handleCommand:commandSelector];
|
return [self handleCommand:commandSelector];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (IBAction)doSearchElements:(id)sender {
|
||||||
|
|
||||||
|
[self updateElements];
|
||||||
|
}
|
||||||
|
|
||||||
- (void)controlTextDidChange:(NSNotification *)note {
|
- (void)controlTextDidChange:(NSNotification *)note {
|
||||||
|
|
||||||
if (note.object == self.siteField) {
|
// if (note.object == self.siteField) {
|
||||||
[self updateElements];
|
// [self updateElements];
|
||||||
|
|
||||||
// Update the site content as the site name changes.
|
// Update the site content as the site name changes.
|
||||||
// if ([[NSApp currentEvent] type] == NSKeyDown &&
|
// if ([[NSApp currentEvent] type] == NSKeyDown &&
|
||||||
@ -125,7 +143,7 @@
|
|||||||
// [self trySiteWithAction:NO];
|
// [self trySiteWithAction:NO];
|
||||||
// return;
|
// return;
|
||||||
// }
|
// }
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark - NSTextViewDelegate
|
#pragma mark - NSTextViewDelegate
|
||||||
@ -146,10 +164,8 @@
|
|||||||
|
|
||||||
- (void)alertDidEnd:(NSAlert *)alert returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo {
|
- (void)alertDidEnd:(NSAlert *)alert returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo {
|
||||||
|
|
||||||
if (contextInfo == MPAlertIncorrectMP) {
|
if (contextInfo == MPAlertIncorrectMP)
|
||||||
[self close];
|
|
||||||
return;
|
return;
|
||||||
}
|
|
||||||
if (contextInfo == MPAlertCreateSite) {
|
if (contextInfo == MPAlertCreateSite) {
|
||||||
switch (returnCode) {
|
switch (returnCode) {
|
||||||
case NSAlertFirstButtonReturn: {
|
case NSAlertFirstButtonReturn: {
|
||||||
@ -263,6 +279,27 @@
|
|||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)updateSelection {
|
||||||
|
|
||||||
|
if (_skipTextChange) {
|
||||||
|
_skipTextChange = NO;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
NSString *selectedSiteName = self.selectedElement.siteName;
|
||||||
|
if (!selectedSiteName)
|
||||||
|
return;
|
||||||
|
|
||||||
|
NSString *querySiteText = [self.siteField.stringValue stringByReplacingCharactersInRange:self.siteField.currentEditor.selectedRange
|
||||||
|
withString:@""];
|
||||||
|
NSRange selectedSiteNameQueryRange = [selectedSiteName rangeOfString:querySiteText];
|
||||||
|
self.siteField.stringValue = selectedSiteName;
|
||||||
|
|
||||||
|
if (selectedSiteNameQueryRange.location == 0)
|
||||||
|
self.siteField.currentEditor.selectedRange = NSMakeRange(
|
||||||
|
selectedSiteNameQueryRange.length, selectedSiteName.length - selectedSiteNameQueryRange.length );
|
||||||
|
}
|
||||||
|
|
||||||
- (void)useSite {
|
- (void)useSite {
|
||||||
|
|
||||||
MPElementModel *selectedElement = [self selectedElement];
|
MPElementModel *selectedElement = [self selectedElement];
|
||||||
@ -270,7 +307,7 @@
|
|||||||
// Performing action while content is available. Copy it.
|
// Performing action while content is available. Copy it.
|
||||||
[self copyContent:selectedElement.content];
|
[self copyContent:selectedElement.content];
|
||||||
|
|
||||||
[self close];
|
[self fadeOut];
|
||||||
|
|
||||||
NSUserNotification *notification = [NSUserNotification new];
|
NSUserNotification *notification = [NSUserNotification new];
|
||||||
notification.title = @"Password Copied";
|
notification.title = @"Password Copied";
|
||||||
@ -317,6 +354,9 @@
|
|||||||
|
|
||||||
- (void)fadeIn {
|
- (void)fadeIn {
|
||||||
|
|
||||||
|
if ([self.window isOnActiveSpace] && self.window.alphaValue)
|
||||||
|
return;
|
||||||
|
|
||||||
CGWindowID windowID = (CGWindowID)[self.window windowNumber];
|
CGWindowID windowID = (CGWindowID)[self.window windowNumber];
|
||||||
CGImageRef capturedImage = CGWindowListCreateImage( CGRectInfinite, kCGWindowListOptionOnScreenBelowWindow, windowID,
|
CGImageRef capturedImage = CGWindowListCreateImage( CGRectInfinite, kCGWindowListOptionOnScreenBelowWindow, windowID,
|
||||||
kCGWindowImageBoundsIgnoreFraming );
|
kCGWindowImageBoundsIgnoreFraming );
|
||||||
@ -343,8 +383,12 @@
|
|||||||
|
|
||||||
- (void)fadeOut {
|
- (void)fadeOut {
|
||||||
|
|
||||||
|
if (![NSApp isActive] && !self.window.alphaValue)
|
||||||
|
return;
|
||||||
|
|
||||||
[[NSAnimationContext currentContext] setCompletionHandler:^{
|
[[NSAnimationContext currentContext] setCompletionHandler:^{
|
||||||
[self close];
|
[self close];
|
||||||
|
[NSApp hide:self];
|
||||||
}];
|
}];
|
||||||
[[NSAnimationContext currentContext] setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]];
|
[[NSAnimationContext currentContext] setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]];
|
||||||
[[self.window animator] setAlphaValue:0.0];
|
[[self.window animator] setAlphaValue:0.0];
|
||||||
|
@ -39,29 +39,55 @@
|
|||||||
<ciFilter name="CIGaussianBlur">
|
<ciFilter name="CIGaussianBlur">
|
||||||
<configuration>
|
<configuration>
|
||||||
<null key="inputImage"/>
|
<null key="inputImage"/>
|
||||||
<real key="inputRadius" value="40"/>
|
<real key="inputRadius" value="20"/>
|
||||||
</configuration>
|
</configuration>
|
||||||
</ciFilter>
|
</ciFilter>
|
||||||
<ciFilter name="CIColorControls">
|
<ciFilter name="CIColorControls">
|
||||||
<configuration>
|
<configuration>
|
||||||
<real key="inputBrightness" value="0.0"/>
|
<real key="inputBrightness" value="-0.29999999999999999"/>
|
||||||
<real key="inputContrast" value="1.1000000000000001"/>
|
<real key="inputContrast" value="1"/>
|
||||||
|
<null key="inputImage"/>
|
||||||
|
<real key="inputSaturation" value="0.0"/>
|
||||||
|
</configuration>
|
||||||
|
</ciFilter>
|
||||||
|
<ciFilter name="CIFalseColor">
|
||||||
|
<configuration>
|
||||||
|
<ciColor key="inputColor0" red="0.70196080207824707" green="0.70196080207824707" blue="0.70196080207824707" alpha="1"/>
|
||||||
|
<ciColor key="inputColor1" red="0.0" green="0.25098040699958801" blue="0.50196081399917603" alpha="1"/>
|
||||||
<null key="inputImage"/>
|
<null key="inputImage"/>
|
||||||
<real key="inputSaturation" value="2"/>
|
|
||||||
</configuration>
|
</configuration>
|
||||||
</ciFilter>
|
</ciFilter>
|
||||||
</contentFilters>
|
</contentFilters>
|
||||||
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyUpOrDown" image="small-screen" id="ArA-2w-I56"/>
|
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyUpOrDown" image="small-screen" id="ArA-2w-I56"/>
|
||||||
</imageView>
|
</imageView>
|
||||||
<scrollView focusRingType="none" borderType="none" autohidesScrollers="YES" horizontalLineScroll="37" horizontalPageScroll="10" verticalLineScroll="37" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Bme-XK-MMc" userLabel="Sites Table">
|
<secureTextField focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="iGR-wo-ual" userLabel="Password Field">
|
||||||
<rect key="frame" x="68" y="0.0" width="512" height="232"/>
|
<rect key="frame" x="18" y="243" width="612" height="44"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
|
<shadow key="shadow">
|
||||||
|
<size key="offset" width="0.0" height="1"/>
|
||||||
|
<color key="color" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
|
||||||
|
</shadow>
|
||||||
|
<secureTextFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" focusRingType="none" alignment="center" usesSingleLineMode="YES" id="NcX-1Z-2OC">
|
||||||
|
<font key="font" metaFont="system" size="36"/>
|
||||||
|
<color key="textColor" name="highlightColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||||
|
<allowedInputSourceLocales>
|
||||||
|
<string>NSAllRomanInputSourcesLocaleIdentifier</string>
|
||||||
|
</allowedInputSourceLocales>
|
||||||
|
</secureTextFieldCell>
|
||||||
|
<connections>
|
||||||
|
<outlet property="delegate" destination="-2" id="egd-Ny-IEz"/>
|
||||||
|
</connections>
|
||||||
|
</secureTextField>
|
||||||
|
<scrollView focusRingType="none" borderType="none" autohidesScrollers="YES" horizontalLineScroll="31" horizontalPageScroll="10" verticalLineScroll="31" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Bme-XK-MMc" userLabel="Sites Table">
|
||||||
|
<rect key="frame" x="68" y="0.0" width="512" height="203"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<clipView key="contentView" drawsBackground="NO" copiesOnScroll="NO" id="e11-59-xSS">
|
<clipView key="contentView" drawsBackground="NO" copiesOnScroll="NO" id="e11-59-xSS">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="512" height="232"/>
|
<rect key="frame" x="0.0" y="0.0" width="512" height="203"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="none" selectionHighlightStyle="sourceList" columnReordering="NO" columnResizing="NO" multipleSelection="NO" emptySelection="NO" autosaveColumns="NO" rowHeight="35" rowSizeStyle="automatic" viewBased="YES" id="xvJ-5c-vDp">
|
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="none" selectionHighlightStyle="sourceList" columnReordering="NO" columnResizing="NO" multipleSelection="NO" emptySelection="NO" autosaveColumns="NO" rowHeight="29" rowSizeStyle="automatic" viewBased="YES" id="xvJ-5c-vDp">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="515" height="232"/>
|
<rect key="frame" x="0.0" y="0.0" width="515" height="203"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
<size key="intercellSpacing" width="3" height="2"/>
|
<size key="intercellSpacing" width="3" height="2"/>
|
||||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||||
@ -81,15 +107,19 @@
|
|||||||
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES"/>
|
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES"/>
|
||||||
<prototypeCellViews>
|
<prototypeCellViews>
|
||||||
<tableCellView id="Rv8-uU-ieA">
|
<tableCellView id="Rv8-uU-ieA">
|
||||||
<rect key="frame" x="1" y="1" width="512" height="35"/>
|
<rect key="frame" x="1" y="1" width="512" height="29"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="pTl-fc-MSY">
|
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="pTl-fc-MSY">
|
||||||
<rect key="frame" x="-2" y="0.0" width="516" height="35"/>
|
<rect key="frame" x="-2" y="0.0" width="516" height="29"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
|
||||||
|
<shadow key="shadow">
|
||||||
|
<size key="offset" width="0.0" height="1"/>
|
||||||
|
<color key="color" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
|
||||||
|
</shadow>
|
||||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" alignment="center" title="apple.com" id="5Ug-eU-C9Y">
|
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" alignment="center" title="apple.com" id="5Ug-eU-C9Y">
|
||||||
<font key="font" size="24" name="Baskerville-SemiBold"/>
|
<font key="font" size="24" name="HelveticaNeue-Thin"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="highlightColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
<connections>
|
<connections>
|
||||||
@ -129,7 +159,7 @@
|
|||||||
<constraint firstAttribute="width" constant="512" id="qfu-pO-SvM"/>
|
<constraint firstAttribute="width" constant="512" id="qfu-pO-SvM"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<scroller key="horizontalScroller" verticalHuggingPriority="750" horizontal="YES" id="8wr-pu-1lc">
|
<scroller key="horizontalScroller" verticalHuggingPriority="750" horizontal="YES" id="8wr-pu-1lc">
|
||||||
<rect key="frame" x="0.0" y="216" width="512" height="16"/>
|
<rect key="frame" x="0.0" y="187" width="512" height="16"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
</scroller>
|
</scroller>
|
||||||
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="mcf-ST-XXI">
|
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="mcf-ST-XXI">
|
||||||
@ -138,35 +168,44 @@
|
|||||||
</scroller>
|
</scroller>
|
||||||
</scrollView>
|
</scrollView>
|
||||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="OnR-s6-d4P" userLabel="Input Label">
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="OnR-s6-d4P" userLabel="Input Label">
|
||||||
<rect key="frame" x="215" y="298" width="219" height="13"/>
|
<rect key="frame" x="213" y="295" width="223" height="20"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="center" title="Enter Maarten Billemont's master password:" id="1Lb-d0-fQD">
|
<shadow key="shadow">
|
||||||
<font key="font" metaFont="label"/>
|
<size key="offset" width="0.0" height="1"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="color" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
|
||||||
|
</shadow>
|
||||||
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="center" title="Maarten Billemont's password for:" id="1Lb-d0-fQD">
|
||||||
|
<font key="font" size="14" name="HelveticaNeue"/>
|
||||||
|
<color key="textColor" name="highlightColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<searchField focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="CnS-iI-dhr" userLabel="Site Field">
|
<searchField focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="CnS-iI-dhr" userLabel="Site Field">
|
||||||
<rect key="frame" x="68" y="240" width="512" height="50"/>
|
<rect key="frame" x="66" y="243" width="516" height="44"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="width" constant="512" id="rW7-Vq-4Xy"/>
|
<constraint firstAttribute="width" constant="512" id="rW7-Vq-4Xy"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<searchFieldCell key="cell" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" focusRingType="none" alignment="center" placeholderString="Site Name" drawsBackground="YES" id="ppl-2c-1E9">
|
<shadow key="shadow">
|
||||||
<font key="font" size="36" name="Baskerville-Italic"/>
|
<size key="offset" width="0.0" height="1"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="color" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
|
||||||
|
</shadow>
|
||||||
|
<searchFieldCell key="cell" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" focusRingType="none" alignment="center" placeholderString="Site Name" id="ppl-2c-1E9">
|
||||||
|
<font key="font" size="36" name="HelveticaNeue-Thin"/>
|
||||||
|
<color key="textColor" name="highlightColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="0.0" colorSpace="calibratedRGB"/>
|
<color key="backgroundColor" red="1" green="1" blue="1" alpha="0.0" colorSpace="calibratedRGB"/>
|
||||||
</searchFieldCell>
|
</searchFieldCell>
|
||||||
<connections>
|
<connections>
|
||||||
|
<action selector="doSearchElements:" target="-2" id="31H-Rt-R87"/>
|
||||||
<outlet property="delegate" destination="-2" id="2WA-uI-asx"/>
|
<outlet property="delegate" destination="-2" id="2WA-uI-asx"/>
|
||||||
</connections>
|
</connections>
|
||||||
</searchField>
|
</searchField>
|
||||||
<button hidden="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="vES-W5-m4x" userLabel="Type Button">
|
<button hidden="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="vES-W5-m4x" userLabel="Type Button">
|
||||||
<rect key="frame" x="270" y="19" width="109" height="19"/>
|
<rect key="frame" x="278" y="19" width="92" height="20"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<buttonCell key="cell" type="recessed" title="Long Password" bezelStyle="recessed" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="Fom-sN-EtZ">
|
<buttonCell key="cell" type="inline" title="Long Password" bezelStyle="inline" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="Fom-sN-EtZ">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="systemBold" size="12"/>
|
<font key="font" size="11" name="HelveticaNeue-Medium"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
<connections>
|
<connections>
|
||||||
<binding destination="mcS-ik-b0n" name="hidden" keyPath="selection" id="zBN-72-q5B">
|
<binding destination="mcS-ik-b0n" name="hidden" keyPath="selection" id="zBN-72-q5B">
|
||||||
@ -178,36 +217,26 @@
|
|||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<customView hidden="YES" translatesAutoresizingMaskIntoConstraints="NO" id="d3u-Ze-9uf" userLabel="Counter Container">
|
<customView hidden="YES" translatesAutoresizingMaskIntoConstraints="NO" id="d3u-Ze-9uf" userLabel="Counter Container">
|
||||||
<rect key="frame" x="387" y="18" width="29" height="22"/>
|
<rect key="frame" x="378" y="18" width="28" height="23"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="XgA-Vl-CKh" userLabel="Counter Stepper">
|
<stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="XgA-Vl-CKh" userLabel="Counter Stepper">
|
||||||
<rect key="frame" x="-3" y="-3" width="19" height="27"/>
|
<rect key="frame" x="-3" y="-2" width="19" height="27"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<stepperCell key="cell" continuous="YES" alignment="left" maxValue="100" id="ikF-n4-xiI"/>
|
<stepperCell key="cell" continuous="YES" alignment="left" maxValue="100" id="ikF-n4-xiI"/>
|
||||||
<connections>
|
<connections>
|
||||||
<binding destination="mcS-ik-b0n" name="hidden" keyPath="selection" id="8KV-qr-Mqt">
|
|
||||||
<dictionary key="options">
|
|
||||||
<string key="NSValueTransformerName">NSIsNil</string>
|
|
||||||
</dictionary>
|
|
||||||
</binding>
|
|
||||||
<binding destination="mcS-ik-b0n" name="value" keyPath="selection.counter" id="qmm-6z-boy"/>
|
<binding destination="mcS-ik-b0n" name="value" keyPath="selection.counter" id="qmm-6z-boy"/>
|
||||||
</connections>
|
</connections>
|
||||||
</stepper>
|
</stepper>
|
||||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="NvO-kt-eZ2" userLabel="Counter Field">
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="NvO-kt-eZ2" userLabel="Counter Field">
|
||||||
<rect key="frame" x="19" y="3" width="12" height="16"/>
|
<rect key="frame" x="19" y="3" width="11" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="1" id="dhQ-bJ-rn3">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="1" id="dhQ-bJ-rn3">
|
||||||
<font key="font" metaFont="systemBold" size="12"/>
|
<font key="font" size="11" name="HelveticaNeue-Medium"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
<connections>
|
<connections>
|
||||||
<binding destination="mcS-ik-b0n" name="hidden" keyPath="selection" id="fAK-4u-0SB">
|
|
||||||
<dictionary key="options">
|
|
||||||
<string key="NSValueTransformerName">NSIsNil</string>
|
|
||||||
</dictionary>
|
|
||||||
</binding>
|
|
||||||
<binding destination="mcS-ik-b0n" name="value" keyPath="selection.counter" id="aA9-yw-cYE"/>
|
<binding destination="mcS-ik-b0n" name="value" keyPath="selection.counter" id="aA9-yw-cYE"/>
|
||||||
</connections>
|
</connections>
|
||||||
</textField>
|
</textField>
|
||||||
@ -225,6 +254,15 @@
|
|||||||
<constraint firstItem="XgA-Vl-CKh" firstAttribute="leading" secondItem="d3u-Ze-9uf" secondAttribute="leading" id="vKj-dp-A0D"/>
|
<constraint firstItem="XgA-Vl-CKh" firstAttribute="leading" secondItem="d3u-Ze-9uf" secondAttribute="leading" id="vKj-dp-A0D"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<connections>
|
<connections>
|
||||||
|
<binding destination="mcS-ik-b0n" name="hidden2" keyPath="selection.counter" previousBinding="YUg-F9-YTd" id="Jqu-U3-oiv">
|
||||||
|
<dictionary key="options">
|
||||||
|
<integer key="NSMultipleValuesPlaceholder" value="-1"/>
|
||||||
|
<integer key="NSNoSelectionPlaceholder" value="-1"/>
|
||||||
|
<integer key="NSNotApplicablePlaceholder" value="-1"/>
|
||||||
|
<integer key="NSNullPlaceholder" value="-1"/>
|
||||||
|
<string key="NSValueTransformerName">NSNegateBoolean</string>
|
||||||
|
</dictionary>
|
||||||
|
</binding>
|
||||||
<binding destination="mcS-ik-b0n" name="hidden" keyPath="selection" id="YUg-F9-YTd">
|
<binding destination="mcS-ik-b0n" name="hidden" keyPath="selection" id="YUg-F9-YTd">
|
||||||
<dictionary key="options">
|
<dictionary key="options">
|
||||||
<string key="NSValueTransformerName">NSIsNil</string>
|
<string key="NSValueTransformerName">NSIsNil</string>
|
||||||
@ -233,11 +271,11 @@
|
|||||||
</connections>
|
</connections>
|
||||||
</customView>
|
</customView>
|
||||||
<button hidden="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1Qo-iG-CQt" userLabel="Login Button">
|
<button hidden="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1Qo-iG-CQt" userLabel="Login Button">
|
||||||
<rect key="frame" x="255" y="47" width="139" height="19"/>
|
<rect key="frame" x="269" y="48" width="111" height="20"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<buttonCell key="cell" type="recessed" title="lhunath@lyndir.com" alternateTitle="Login Name" bezelStyle="recessed" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="QFo-9y-aVe">
|
<buttonCell key="cell" type="inline" title="lhunath@lyndir.com" alternateTitle="Login Name" bezelStyle="inline" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="QFo-9y-aVe">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="systemBold" size="12"/>
|
<font key="font" size="11" name="HelveticaNeue-Medium"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
<connections>
|
<connections>
|
||||||
<binding destination="mcS-ik-b0n" name="hidden" keyPath="selection" id="KRb-FF-ruz">
|
<binding destination="mcS-ik-b0n" name="hidden" keyPath="selection" id="KRb-FF-ruz">
|
||||||
@ -245,24 +283,13 @@
|
|||||||
<string key="NSValueTransformerName">NSIsNil</string>
|
<string key="NSValueTransformerName">NSIsNil</string>
|
||||||
</dictionary>
|
</dictionary>
|
||||||
</binding>
|
</binding>
|
||||||
<binding destination="mcS-ik-b0n" name="title" keyPath="selection.loginName" id="VU9-Uo-WlG"/>
|
<binding destination="mcS-ik-b0n" name="title" keyPath="selection.loginName" id="g1z-0F-hE9">
|
||||||
|
<dictionary key="options">
|
||||||
|
<string key="NSNullPlaceholder">Set Login Name</string>
|
||||||
|
</dictionary>
|
||||||
|
</binding>
|
||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<secureTextField focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="iGR-wo-ual" userLabel="Password Field">
|
|
||||||
<rect key="frame" x="20" y="243" width="608" height="44"/>
|
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
|
||||||
<secureTextFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" focusRingType="none" alignment="center" drawsBackground="YES" usesSingleLineMode="YES" id="NcX-1Z-2OC">
|
|
||||||
<font key="font" metaFont="system" size="36"/>
|
|
||||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
|
||||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
|
||||||
<allowedInputSourceLocales>
|
|
||||||
<string>NSAllRomanInputSourcesLocaleIdentifier</string>
|
|
||||||
</allowedInputSourceLocales>
|
|
||||||
</secureTextFieldCell>
|
|
||||||
<connections>
|
|
||||||
<outlet property="delegate" destination="-2" id="egd-Ny-IEz"/>
|
|
||||||
</connections>
|
|
||||||
</secureTextField>
|
|
||||||
<progressIndicator hidden="YES" horizontalHuggingPriority="750" verticalHuggingPriority="750" maxValue="100" displayedWhenStopped="NO" bezeled="NO" indeterminate="YES" controlSize="small" style="spinning" translatesAutoresizingMaskIntoConstraints="NO" id="oSh-Ec-8Nf">
|
<progressIndicator hidden="YES" horizontalHuggingPriority="750" verticalHuggingPriority="750" maxValue="100" displayedWhenStopped="NO" bezeled="NO" indeterminate="YES" controlSize="small" style="spinning" translatesAutoresizingMaskIntoConstraints="NO" id="oSh-Ec-8Nf">
|
||||||
<rect key="frame" x="316" y="494" width="16" height="16"/>
|
<rect key="frame" x="316" y="494" width="16" height="16"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
@ -270,7 +297,7 @@
|
|||||||
</subviews>
|
</subviews>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="bottom" secondItem="Bme-XK-MMc" secondAttribute="bottom" id="1kJ-cV-fhc"/>
|
<constraint firstAttribute="bottom" secondItem="Bme-XK-MMc" secondAttribute="bottom" id="1kJ-cV-fhc"/>
|
||||||
<constraint firstItem="Bme-XK-MMc" firstAttribute="top" secondItem="CnS-iI-dhr" secondAttribute="bottom" constant="8" symbolic="YES" id="1ta-BC-BdQ"/>
|
<constraint firstItem="Bme-XK-MMc" firstAttribute="top" secondItem="CnS-iI-dhr" secondAttribute="bottom" constant="40" id="1ta-BC-BdQ"/>
|
||||||
<constraint firstAttribute="bottom" secondItem="Bwc-sd-6gm" secondAttribute="bottom" id="3fF-7g-c6C"/>
|
<constraint firstAttribute="bottom" secondItem="Bwc-sd-6gm" secondAttribute="bottom" id="3fF-7g-c6C"/>
|
||||||
<constraint firstItem="vES-W5-m4x" firstAttribute="centerX" secondItem="CnS-iI-dhr" secondAttribute="centerX" id="92S-HP-Vk7"/>
|
<constraint firstItem="vES-W5-m4x" firstAttribute="centerX" secondItem="CnS-iI-dhr" secondAttribute="centerX" id="92S-HP-Vk7"/>
|
||||||
<constraint firstItem="CnS-iI-dhr" firstAttribute="top" secondItem="OnR-s6-d4P" secondAttribute="bottom" constant="8" symbolic="YES" id="CGj-SL-Qhp"/>
|
<constraint firstItem="CnS-iI-dhr" firstAttribute="top" secondItem="OnR-s6-d4P" secondAttribute="bottom" constant="8" symbolic="YES" id="CGj-SL-Qhp"/>
|
||||||
|
Loading…
Reference in New Issue
Block a user