2
0

Wire up some of the security answers UI. Still WIP.

This commit is contained in:
Maarten Billemont 2016-04-23 14:07:08 -04:00
parent bbeb6bb948
commit 1918c30bed
3 changed files with 156 additions and 116 deletions

View File

@ -45,6 +45,10 @@
@property(nonatomic, strong) IBOutlet NSBox *passwordTypesBox; @property(nonatomic, strong) IBOutlet NSBox *passwordTypesBox;
@property(nonatomic, weak) IBOutlet NSMatrix *passwordTypesMatrix; @property(nonatomic, weak) IBOutlet NSMatrix *passwordTypesMatrix;
@property(nonatomic, strong) IBOutlet NSBox *securityQuestionsBox;
@property(nonatomic, weak) IBOutlet NSTextField *securityQuestionField;
@property(nonatomic, weak) IBOutlet NSTextField *securityAnswerField;
- (BOOL)handleCommand:(SEL)commandSelector; - (BOOL)handleCommand:(SEL)commandSelector;
@end @end

View File

@ -411,6 +411,30 @@
}]; }];
} }
- (IBAction)securityQuestions:(id)sender {
MPSiteModel *site = self.selectedSite;
self.securityQuestionsBox.title = strf( @"Answer to security questions for %@:", site.name );
NSAlert *alert = [NSAlert new];
[alert addButtonWithTitle:@"Copy Answer"];
[alert addButtonWithTitle:@"Close"];
[alert setMessageText:@"Security Questions"];
[alert setAccessoryView:self.securityQuestionsBox];
[alert layout];
[alert beginSheetModalForWindow:self.window completionHandler:^(NSModalResponse returnCode) {
switch (returnCode) {
case NSAlertFirstButtonReturn: {
// "Copy Answer" button.
[self copyContent:self.securityAnswerField.stringValue];
break;
}
default:
break;
}
}];
}
#pragma mark - Private #pragma mark - Private
- (BOOL)handleCommand:(SEL)commandSelector { - (BOOL)handleCommand:(SEL)commandSelector {

View File

@ -15,6 +15,9 @@
<outlet property="progressView" destination="oSh-Ec-8Nf" id="rob-p0-gr7"/> <outlet property="progressView" destination="oSh-Ec-8Nf" id="rob-p0-gr7"/>
<outlet property="revealPasswordField" destination="v80-wd-hUR" id="N1U-6B-r1R"/> <outlet property="revealPasswordField" destination="v80-wd-hUR" id="N1U-6B-r1R"/>
<outlet property="securePasswordField" destination="iGR-wo-ual" id="DGh-5i-3u4"/> <outlet property="securePasswordField" destination="iGR-wo-ual" id="DGh-5i-3u4"/>
<outlet property="securityAnswerField" destination="cp4-2G-8aG" id="9S5-Xe-njA"/>
<outlet property="securityQuestionField" destination="5pN-pY-U6l" id="Erz-GM-FVz"/>
<outlet property="securityQuestionsBox" destination="hi3-SX-Td3" id="52T-99-Qhf"/>
<outlet property="siteField" destination="CnS-iI-dhr" id="Ogo-lS-dcT"/> <outlet property="siteField" destination="CnS-iI-dhr" id="Ogo-lS-dcT"/>
<outlet property="sitePasswordTipField" destination="Ond-dT-x5d" id="jNr-gD-aJo"/> <outlet property="sitePasswordTipField" destination="Ond-dT-x5d" id="jNr-gD-aJo"/>
<outlet property="siteTable" destination="xvJ-5c-vDp" id="ClP-j8-DyI"/> <outlet property="siteTable" destination="xvJ-5c-vDp" id="ClP-j8-DyI"/>
@ -40,10 +43,10 @@
<rect key="frame" x="312" y="564" width="16" height="16"/> <rect key="frame" x="312" y="564" width="16" height="16"/>
</progressIndicator> </progressIndicator>
<customView translatesAutoresizingMaskIntoConstraints="NO" id="NGk-Io-Buc" userLabel="Top Box"> <customView translatesAutoresizingMaskIntoConstraints="NO" id="NGk-Io-Buc" userLabel="Top Box">
<rect key="frame" x="20" y="390" width="600" height="206"/> <rect key="frame" x="20" y="406" width="600" height="150"/>
<subviews> <subviews>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Ond-dT-x5d" userLabel="Site Password Label"> <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Ond-dT-x5d" userLabel="Site Password Label">
<rect key="frame" x="157" y="144" width="285" height="14"/> <rect key="frame" x="157" y="116" width="285" height="14"/>
<shadow key="shadow" blurRadius="0.5"> <shadow key="shadow" blurRadius="0.5">
<size key="offset" width="0.0" height="1"/> <size key="offset" width="0.0" height="1"/>
<color key="color" name="controlLightHighlightColor" catalog="System" colorSpace="catalog"/> <color key="color" name="controlLightHighlightColor" catalog="System" colorSpace="catalog"/>
@ -71,7 +74,7 @@
</connections> </connections>
</textField> </textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Ia6-7b-dFr"> <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Ia6-7b-dFr">
<rect key="frame" x="115" y="96" width="370" height="14"/> <rect key="frame" x="115" y="68" width="370" height="14"/>
<shadow key="shadow" blurRadius="0.5"> <shadow key="shadow" blurRadius="0.5">
<size key="offset" width="0.0" height="1"/> <size key="offset" width="0.0" height="1"/>
<color key="color" name="controlLightHighlightColor" catalog="System" colorSpace="catalog"/> <color key="color" name="controlLightHighlightColor" catalog="System" colorSpace="catalog"/>
@ -107,7 +110,7 @@
</connections> </connections>
</textField> </textField>
<textField hidden="YES" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="OaQ-of-zmb" userLabel="Initial Help"> <textField hidden="YES" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="OaQ-of-zmb" userLabel="Initial Help">
<rect key="frame" x="39" y="156" width="522" height="23"/> <rect key="frame" x="39" y="128" width="522" height="23"/>
<shadow key="shadow" blurRadius="0.5"> <shadow key="shadow" blurRadius="0.5">
<size key="offset" width="0.0" height="1"/> <size key="offset" width="0.0" height="1"/>
<color key="color" name="controlLightHighlightColor" catalog="System" colorSpace="catalog"/> <color key="color" name="controlLightHighlightColor" catalog="System" colorSpace="catalog"/>
@ -134,8 +137,8 @@
</binding> </binding>
</connections> </connections>
</textField> </textField>
<textField hidden="YES" horizontalHuggingPriority="251" verticalHuggingPriority="750" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="sYt-eL-uwt" userLabel="Initial Tip"> <textField hidden="YES" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="sYt-eL-uwt" userLabel="Initial Tip">
<rect key="frame" x="-26" y="58" width="652" height="90"/> <rect key="frame" x="-26" y="30" width="652" height="90"/>
<shadow key="shadow" blurRadius="0.5"> <shadow key="shadow" blurRadius="0.5">
<size key="offset" width="0.0" height="1"/> <size key="offset" width="0.0" height="1"/>
<color key="color" name="controlLightHighlightColor" catalog="System" colorSpace="catalog"/> <color key="color" name="controlLightHighlightColor" catalog="System" colorSpace="catalog"/>
@ -168,7 +171,7 @@
</connections> </connections>
</textField> </textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="XUV-zU-Y9c" userLabel="Site Password"> <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="XUV-zU-Y9c" userLabel="Site Password">
<rect key="frame" x="-2" y="55" width="604" height="97"/> <rect key="frame" x="-2" y="27" width="604" height="97"/>
<shadow key="shadow" blurRadius="0.5"> <shadow key="shadow" blurRadius="0.5">
<size key="offset" width="0.0" height="1"/> <size key="offset" width="0.0" height="1"/>
<color key="color" white="0.0" alpha="1" colorSpace="calibratedWhite"/> <color key="color" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
@ -196,77 +199,21 @@
<binding destination="mcS-ik-b0n" name="value" keyPath="selection.displayedContent" id="Sdg-fb-kQK"/> <binding destination="mcS-ik-b0n" name="value" keyPath="selection.displayedContent" id="Sdg-fb-kQK"/>
</connections> </connections>
</textField> </textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="cp4-2G-8aG" userLabel="Site Answer">
<rect key="frame" x="189" y="20" width="221" height="29"/>
<shadow key="shadow" blurRadius="0.5">
<size key="offset" width="0.0" height="1"/>
<color key="color" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
</shadow>
<contentFilters>
<ciFilter name="CIGloom">
<configuration>
<null key="inputImage"/>
<real key="inputIntensity" value="0.80000000000000004"/>
<real key="inputRadius" value="8"/>
</configuration>
</ciFilter>
</contentFilters>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="fewc fom pugsuhe xav" placeholderString="" id="oYj-IR-xmw">
<font key="font" size="18" name="SourceCodePro-Regular"/>
<color key="textColor" name="keyboardFocusIndicatorColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<connections>
<binding destination="mcS-ik-b0n" name="hidden" keyPath="canRemove" id="TxZ-TU-RMn">
<dictionary key="options">
<string key="NSValueTransformerName">NSNegateBoolean</string>
</dictionary>
</binding>
<binding destination="mcS-ik-b0n" name="value" keyPath="selection.answer" id="Ba7-t3-euS"/>
</connections>
</textField>
<searchField focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="eBx-2g-chS" userLabel="Site Question">
<rect key="frame" x="-2" y="41" width="604" height="14"/>
<shadow key="shadow" blurRadius="0.5">
<size key="offset" width="0.0" height="1"/>
<color key="color" name="controlLightHighlightColor" catalog="System" colorSpace="catalog"/>
</shadow>
<searchFieldCell key="cell" controlSize="small" selectable="YES" editable="YES" focusRingType="none" alignment="center" placeholderString="Security answer for this site (click to enter a question keyword):" sendsSearchStringImmediately="YES" id="sZN-Vi-v8k">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</searchFieldCell>
<connections>
<binding destination="mcS-ik-b0n" name="hidden" keyPath="canRemove" id="Skr-1g-quT">
<dictionary key="options">
<string key="NSValueTransformerName">NSNegateBoolean</string>
</dictionary>
</binding>
<binding destination="mcS-ik-b0n" name="value" keyPath="selection.question" id="3AM-pr-HBA"/>
<outlet property="delegate" destination="-2" id="c5n-ve-3Uw"/>
</connections>
</searchField>
</subviews> </subviews>
<constraints> <constraints>
<constraint firstItem="XUV-zU-Y9c" firstAttribute="leading" secondItem="NGk-Io-Buc" secondAttribute="leading" id="6Kl-7u-r90"/> <constraint firstItem="XUV-zU-Y9c" firstAttribute="leading" secondItem="NGk-Io-Buc" secondAttribute="leading" id="6Kl-7u-r90"/>
<constraint firstAttribute="centerY" secondItem="XUV-zU-Y9c" secondAttribute="centerY" id="6Qf-5O-Cvk"/> <constraint firstAttribute="centerY" secondItem="XUV-zU-Y9c" secondAttribute="centerY" id="6Qf-5O-Cvk"/>
<constraint firstAttribute="centerX" secondItem="XUV-zU-Y9c" secondAttribute="centerX" id="7sl-qi-HY9"/> <constraint firstAttribute="centerX" secondItem="XUV-zU-Y9c" secondAttribute="centerX" id="7sl-qi-HY9"/>
<constraint firstItem="cp4-2G-8aG" firstAttribute="centerX" secondItem="XUV-zU-Y9c" secondAttribute="centerX" id="Dx0-IB-hUM"/> <constraint firstItem="Ond-dT-x5d" firstAttribute="top" secondItem="NGk-Io-Buc" secondAttribute="top" constant="20" symbolic="YES" id="IX4-cd-VkJ"/>
<constraint firstItem="Ond-dT-x5d" firstAttribute="top" relation="greaterThanOrEqual" secondItem="NGk-Io-Buc" secondAttribute="top" constant="20" symbolic="YES" id="IX4-cd-VkJ"/>
<constraint firstItem="Ia6-7b-dFr" firstAttribute="centerY" secondItem="XUV-zU-Y9c" secondAttribute="centerY" id="KqM-uR-Obm"/> <constraint firstItem="Ia6-7b-dFr" firstAttribute="centerY" secondItem="XUV-zU-Y9c" secondAttribute="centerY" id="KqM-uR-Obm"/>
<constraint firstAttribute="bottom" relation="greaterThanOrEqual" secondItem="cp4-2G-8aG" secondAttribute="bottom" constant="20" symbolic="YES" id="MT9-zC-VM4"/>
<constraint firstItem="Ia6-7b-dFr" firstAttribute="centerX" secondItem="XUV-zU-Y9c" secondAttribute="centerX" id="NFQ-aw-8tm"/> <constraint firstItem="Ia6-7b-dFr" firstAttribute="centerX" secondItem="XUV-zU-Y9c" secondAttribute="centerX" id="NFQ-aw-8tm"/>
<constraint firstAttribute="centerX" secondItem="sYt-eL-uwt" secondAttribute="centerX" id="OFw-vb-I71"/> <constraint firstAttribute="centerX" secondItem="sYt-eL-uwt" secondAttribute="centerX" id="OFw-vb-I71"/>
<constraint firstAttribute="trailing" secondItem="XUV-zU-Y9c" secondAttribute="trailing" id="TdB-QV-9JK"/> <constraint firstAttribute="trailing" secondItem="XUV-zU-Y9c" secondAttribute="trailing" id="TdB-QV-9JK"/>
<constraint firstItem="Ond-dT-x5d" firstAttribute="bottom" secondItem="XUV-zU-Y9c" secondAttribute="top" constant="8" symbolic="YES" id="UgV-J6-B5T"/> <constraint firstItem="Ond-dT-x5d" firstAttribute="bottom" secondItem="XUV-zU-Y9c" secondAttribute="top" constant="8" symbolic="YES" id="UgV-J6-B5T"/>
<constraint firstItem="Ond-dT-x5d" firstAttribute="centerX" secondItem="XUV-zU-Y9c" secondAttribute="centerX" id="UhT-LQ-aZ8"/> <constraint firstItem="Ond-dT-x5d" firstAttribute="centerX" secondItem="XUV-zU-Y9c" secondAttribute="centerX" id="UhT-LQ-aZ8"/>
<constraint firstAttribute="trailing" secondItem="eBx-2g-chS" secondAttribute="trailing" id="bFP-wY-W0L"/> <constraint firstItem="sYt-eL-uwt" firstAttribute="leading" secondItem="NGk-Io-Buc" secondAttribute="leading" constant="-24" id="eaC-ow-ren"/>
<constraint firstItem="eBx-2g-chS" firstAttribute="centerX" secondItem="cp4-2G-8aG" secondAttribute="centerX" id="cHz-Q1-8ii"/>
<constraint firstItem="sYt-eL-uwt" firstAttribute="top" secondItem="OaQ-of-zmb" secondAttribute="bottom" constant="8" symbolic="YES" id="hjJ-f1-mFv"/> <constraint firstItem="sYt-eL-uwt" firstAttribute="top" secondItem="OaQ-of-zmb" secondAttribute="bottom" constant="8" symbolic="YES" id="hjJ-f1-mFv"/>
<constraint firstItem="cp4-2G-8aG" firstAttribute="top" secondItem="eBx-2g-chS" secondAttribute="bottom" constant="-8" id="inf-AC-ger"/>
<constraint firstItem="sYt-eL-uwt" firstAttribute="centerX" secondItem="OaQ-of-zmb" secondAttribute="centerX" id="mu2-se-Mtn"/> <constraint firstItem="sYt-eL-uwt" firstAttribute="centerX" secondItem="OaQ-of-zmb" secondAttribute="centerX" id="mu2-se-Mtn"/>
<constraint firstItem="eBx-2g-chS" firstAttribute="top" secondItem="XUV-zU-Y9c" secondAttribute="bottom" id="uly-ze-h2U"/>
<constraint firstItem="eBx-2g-chS" firstAttribute="leading" secondItem="NGk-Io-Buc" secondAttribute="leading" id="z9i-DJ-L63"/>
<constraint firstAttribute="centerY" secondItem="sYt-eL-uwt" secondAttribute="centerY" id="zLS-QG-MKS"/> <constraint firstAttribute="centerY" secondItem="sYt-eL-uwt" secondAttribute="centerY" id="zLS-QG-MKS"/>
</constraints> </constraints>
</customView> </customView>
@ -513,7 +460,7 @@
</connections> </connections>
</textField> </textField>
<textField hidden="YES" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Oy5-B7-hdN" userLabel="Revealed Master Password Tip"> <textField hidden="YES" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Oy5-B7-hdN" userLabel="Revealed Master Password Tip">
<rect key="frame" x="206.5" y="255" width="227" height="15"/> <rect key="frame" x="206" y="255" width="227" height="15"/>
<shadow key="shadow" blurRadius="0.5"> <shadow key="shadow" blurRadius="0.5">
<size key="offset" width="0.0" height="1"/> <size key="offset" width="0.0" height="1"/>
<color key="color" name="controlLightHighlightColor" catalog="System" colorSpace="catalog"/> <color key="color" name="controlLightHighlightColor" catalog="System" colorSpace="catalog"/>
@ -678,7 +625,7 @@ Use the arrows ⇅ to navigate the list or esc ⎋ to exit.</string>
</connections> </connections>
</textField> </textField>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="brI-fg-Kav"> <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="brI-fg-Kav">
<rect key="frame" x="41" y="111" width="96" height="19"/> <rect key="frame" x="40.5" y="111" width="96" height="19"/>
<shadow key="shadow"> <shadow key="shadow">
<color key="color" name="controlLightHighlightColor" catalog="System" colorSpace="catalog"/> <color key="color" name="controlLightHighlightColor" catalog="System" colorSpace="catalog"/>
</shadow> </shadow>
@ -717,6 +664,11 @@ Use the arrows ⇅ to navigate the list or esc ⎋ to exit.</string>
</buttonCell> </buttonCell>
<connections> <connections>
<action selector="resetMasterPassword:" target="-2" id="kCy-X0-teH"/> <action selector="resetMasterPassword:" target="-2" id="kCy-X0-teH"/>
<binding destination="-2" name="hidden" keyPath="locked" id="LFo-aw-CMB">
<dictionary key="options">
<string key="NSValueTransformerName">NSNegateBoolean</string>
</dictionary>
</binding>
<binding destination="-2" name="hidden2" keyPath="newUser" previousBinding="LFo-aw-CMB" id="ara-jA-uHe"> <binding destination="-2" name="hidden2" keyPath="newUser" previousBinding="LFo-aw-CMB" id="ara-jA-uHe">
<dictionary key="options"> <dictionary key="options">
<integer key="NSMultipleValuesPlaceholder" value="-1"/> <integer key="NSMultipleValuesPlaceholder" value="-1"/>
@ -725,15 +677,10 @@ Use the arrows ⇅ to navigate the list or esc ⎋ to exit.</string>
<integer key="NSNullPlaceholder" value="-1"/> <integer key="NSNullPlaceholder" value="-1"/>
</dictionary> </dictionary>
</binding> </binding>
<binding destination="-2" name="hidden" keyPath="locked" id="LFo-aw-CMB">
<dictionary key="options">
<string key="NSValueTransformerName">NSNegateBoolean</string>
</dictionary>
</binding>
</connections> </connections>
</button> </button>
<stackView distribution="fill" orientation="horizontal" alignment="top" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Bgn-Ne-fQ7" userLabel="Version Container"> <stackView distribution="fill" orientation="horizontal" alignment="top" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Bgn-Ne-fQ7" userLabel="Version Container">
<rect key="frame" x="71" y="56" width="36" height="22"/> <rect key="frame" x="70.5" y="56" width="36" height="22"/>
<subviews> <subviews>
<stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="mcq-qD-yte"> <stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="mcq-qD-yte">
<rect key="frame" x="-3" y="-3" width="19" height="27"/> <rect key="frame" x="-3" y="-3" width="19" height="27"/>
@ -770,6 +717,11 @@ Use the arrows ⇅ to navigate the list or esc ⎋ to exit.</string>
<real value="3.4028234663852886e+38"/> <real value="3.4028234663852886e+38"/>
</customSpacing> </customSpacing>
<connections> <connections>
<binding destination="mcS-ik-b0n" name="hidden" keyPath="canRemove" id="JxK-yi-Rdb">
<dictionary key="options">
<string key="NSValueTransformerName">NSNegateBoolean</string>
</dictionary>
</binding>
<binding destination="-2" name="hidden2" keyPath="showVersionContainer" previousBinding="JxK-yi-Rdb" id="rHI-hY-WMj"> <binding destination="-2" name="hidden2" keyPath="showVersionContainer" previousBinding="JxK-yi-Rdb" id="rHI-hY-WMj">
<dictionary key="options"> <dictionary key="options">
<integer key="NSMultipleValuesPlaceholder" value="-1"/> <integer key="NSMultipleValuesPlaceholder" value="-1"/>
@ -779,15 +731,10 @@ Use the arrows ⇅ to navigate the list or esc ⎋ to exit.</string>
<string key="NSValueTransformerName">NSNegateBoolean</string> <string key="NSValueTransformerName">NSNegateBoolean</string>
</dictionary> </dictionary>
</binding> </binding>
<binding destination="mcS-ik-b0n" name="hidden" keyPath="canRemove" id="JxK-yi-Rdb">
<dictionary key="options">
<string key="NSValueTransformerName">NSNegateBoolean</string>
</dictionary>
</binding>
</connections> </connections>
</stackView> </stackView>
<stackView distribution="fill" orientation="horizontal" alignment="centerY" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="6II-KA-cNi" userLabel="Counter Container"> <stackView distribution="fill" orientation="horizontal" alignment="centerY" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="6II-KA-cNi" userLabel="Counter Container">
<rect key="frame" x="75" y="26" width="28" height="22"/> <rect key="frame" x="74.5" y="26" width="28" height="22"/>
<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="-3" width="19" height="27"/>
@ -800,7 +747,7 @@ Use the arrows ⇅ to navigate the list or esc ⎋ to exit.</string>
</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="2" width="11" height="19"/> <rect key="frame" x="19" y="1.5" width="11" height="19"/>
<shadow key="shadow" blurRadius="0.5"> <shadow key="shadow" blurRadius="0.5">
<size key="offset" width="0.0" height="1"/> <size key="offset" width="0.0" height="1"/>
<color key="color" name="controlLightHighlightColor" catalog="System" colorSpace="catalog"/> <color key="color" name="controlLightHighlightColor" catalog="System" colorSpace="catalog"/>
@ -890,6 +837,7 @@ Use the arrows ⇅ to navigate the list or esc ⎋ to exit.</string>
<modifierMask key="keyEquivalentModifierMask" command="YES"/> <modifierMask key="keyEquivalentModifierMask" command="YES"/>
</buttonCell> </buttonCell>
<connections> <connections>
<action selector="securityQuestions:" target="-2" id="cHf-3i-aVp"/>
<binding destination="mcS-ik-b0n" name="hidden" keyPath="canRemove" id="1Fb-fu-HHj"> <binding destination="mcS-ik-b0n" name="hidden" keyPath="canRemove" id="1Fb-fu-HHj">
<dictionary key="options"> <dictionary key="options">
<string key="NSValueTransformerName">NSNegateBoolean</string> <string key="NSValueTransformerName">NSNegateBoolean</string>
@ -932,7 +880,7 @@ Use the arrows ⇅ to navigate the list or esc ⎋ to exit.</string>
</customSpacing> </customSpacing>
</stackView> </stackView>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="luC-0j-BeV"> <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="luC-0j-BeV">
<rect key="frame" x="147" y="50" width="103" height="14"/> <rect key="frame" x="147.5" y="50" width="103" height="14"/>
<shadow key="shadow" blurRadius="0.5"> <shadow key="shadow" blurRadius="0.5">
<size key="offset" width="0.0" height="1"/> <size key="offset" width="0.0" height="1"/>
<color key="color" name="controlLightHighlightColor" catalog="System" colorSpace="catalog"/> <color key="color" name="controlLightHighlightColor" catalog="System" colorSpace="catalog"/>
@ -943,6 +891,11 @@ Use the arrows ⇅ to navigate the list or esc ⎋ to exit.</string>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell> </textFieldCell>
<connections> <connections>
<binding destination="-2" name="hidden" keyPath="alternatePressed" id="6ot-Tv-JwM">
<dictionary key="options">
<string key="NSValueTransformerName">NSNegateBoolean</string>
</dictionary>
</binding>
<binding destination="mcS-ik-b0n" name="hidden2" keyPath="canRemove" previousBinding="6ot-Tv-JwM" id="vPO-sK-wWR"> <binding destination="mcS-ik-b0n" name="hidden2" keyPath="canRemove" previousBinding="6ot-Tv-JwM" id="vPO-sK-wWR">
<dictionary key="options"> <dictionary key="options">
<integer key="NSMultipleValuesPlaceholder" value="-1"/> <integer key="NSMultipleValuesPlaceholder" value="-1"/>
@ -961,11 +914,6 @@ Use the arrows ⇅ to navigate the list or esc ⎋ to exit.</string>
<string key="NSValueTransformerName">NSNegateBoolean</string> <string key="NSValueTransformerName">NSNegateBoolean</string>
</dictionary> </dictionary>
</binding> </binding>
<binding destination="-2" name="hidden" keyPath="alternatePressed" id="6ot-Tv-JwM">
<dictionary key="options">
<string key="NSValueTransformerName">NSNegateBoolean</string>
</dictionary>
</binding>
</connections> </connections>
</textField> </textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="gjx-bt-fKM"> <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="gjx-bt-fKM">
@ -980,6 +928,11 @@ Use the arrows ⇅ to navigate the list or esc ⎋ to exit.</string>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell> </textFieldCell>
<connections> <connections>
<binding destination="-2" name="hidden" keyPath="alternatePressed" id="3YR-oa-2Fg">
<dictionary key="options">
<string key="NSValueTransformerName">NSNegateBoolean</string>
</dictionary>
</binding>
<binding destination="mcS-ik-b0n" name="hidden2" keyPath="canRemove" previousBinding="3YR-oa-2Fg" id="6L5-zI-w9Y"> <binding destination="mcS-ik-b0n" name="hidden2" keyPath="canRemove" previousBinding="3YR-oa-2Fg" id="6L5-zI-w9Y">
<dictionary key="options"> <dictionary key="options">
<integer key="NSMultipleValuesPlaceholder" value="-1"/> <integer key="NSMultipleValuesPlaceholder" value="-1"/>
@ -998,15 +951,10 @@ Use the arrows ⇅ to navigate the list or esc ⎋ to exit.</string>
<string key="NSValueTransformerName">NSNegateBoolean</string> <string key="NSValueTransformerName">NSNegateBoolean</string>
</dictionary> </dictionary>
</binding> </binding>
<binding destination="-2" name="hidden" keyPath="alternatePressed" id="3YR-oa-2Fg">
<dictionary key="options">
<string key="NSValueTransformerName">NSNegateBoolean</string>
</dictionary>
</binding>
</connections> </connections>
</textField> </textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="dbM-ja-dKO" userLabel="Version Tip"> <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="dbM-ja-dKO" userLabel="Version Tip">
<rect key="frame" x="100" y="106" width="332" height="14"/> <rect key="frame" x="100.5" y="106" width="332" height="14"/>
<shadow key="shadow" blurRadius="0.5"> <shadow key="shadow" blurRadius="0.5">
<size key="offset" width="0.0" height="1"/> <size key="offset" width="0.0" height="1"/>
<color key="color" name="controlLightHighlightColor" catalog="System" colorSpace="catalog"/> <color key="color" name="controlLightHighlightColor" catalog="System" colorSpace="catalog"/>
@ -1118,7 +1066,7 @@ Use the arrows ⇅ to navigate the list or esc ⎋ to exit.</string>
</connections> </connections>
</textField> </textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="qLF-A6-ThX"> <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="qLF-A6-ThX">
<rect key="frame" x="415.5" y="1" width="23" height="15"/> <rect key="frame" x="416" y="1" width="23" height="15"/>
<shadow key="shadow" blurRadius="0.5"> <shadow key="shadow" blurRadius="0.5">
<size key="offset" width="0.0" height="1"/> <size key="offset" width="0.0" height="1"/>
<color key="color" name="controlLightHighlightColor" catalog="System" colorSpace="catalog"/> <color key="color" name="controlLightHighlightColor" catalog="System" colorSpace="catalog"/>
@ -1129,6 +1077,11 @@ Use the arrows ⇅ to navigate the list or esc ⎋ to exit.</string>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell> </textFieldCell>
<connections> <connections>
<binding destination="-2" name="hidden" keyPath="alternatePressed" id="Eb1-8M-pWd">
<dictionary key="options">
<string key="NSValueTransformerName">NSNegateBoolean</string>
</dictionary>
</binding>
<binding destination="mcS-ik-b0n" name="hidden2" keyPath="canRemove" previousBinding="Eb1-8M-pWd" id="HJi-WD-jkv"> <binding destination="mcS-ik-b0n" name="hidden2" keyPath="canRemove" previousBinding="Eb1-8M-pWd" id="HJi-WD-jkv">
<dictionary key="options"> <dictionary key="options">
<integer key="NSMultipleValuesPlaceholder" value="-1"/> <integer key="NSMultipleValuesPlaceholder" value="-1"/>
@ -1138,11 +1091,6 @@ Use the arrows ⇅ to navigate the list or esc ⎋ to exit.</string>
<string key="NSValueTransformerName">NSNegateBoolean</string> <string key="NSValueTransformerName">NSNegateBoolean</string>
</dictionary> </dictionary>
</binding> </binding>
<binding destination="-2" name="hidden" keyPath="alternatePressed" id="Eb1-8M-pWd">
<dictionary key="options">
<string key="NSValueTransformerName">NSNegateBoolean</string>
</dictionary>
</binding>
</connections> </connections>
</textField> </textField>
</subviews> </subviews>
@ -1211,16 +1159,25 @@ Use the arrows ⇅ to navigate the list or esc ⎋ to exit.</string>
</connections> </connections>
</arrayController> </arrayController>
<box autoresizesSubviews="NO" title="Choose a password type for apple.com:" borderType="line" id="bZe-7q-i6q"> <box autoresizesSubviews="NO" title="Choose a password type for apple.com:" borderType="line" id="bZe-7q-i6q">
<rect key="frame" x="0.0" y="0.0" width="416" height="254"/> <rect key="frame" x="0.0" y="0.0" width="416" height="296"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<view key="contentView" id="hAc-y9-IMT"> <view key="contentView" id="hAc-y9-IMT">
<rect key="frame" x="1" y="1" width="414" height="238"/> <rect key="frame" x="1" y="1" width="414" height="280"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews> <subviews>
<matrix verticalHuggingPriority="750" allowsEmptySelection="NO" autorecalculatesCellSize="YES" translatesAutoresizingMaskIntoConstraints="NO" id="3fr-Fd-pxx"> <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" setsMaxLayoutWidthAtFirstLayout="YES" translatesAutoresizingMaskIntoConstraints="NO" id="kCO-1M-Wz1">
<rect key="frame" x="10" y="75" width="394" height="158"/> <rect key="frame" x="10" y="12" width="394" height="94"/>
<textFieldCell key="cell" sendsActionOnEndEditing="YES" id="kl0-P1-6ZY">
<font key="font" metaFont="toolTip"/>
<string key="title">"Personal password" allows you to store your own password. It cannot be regenerated in the event of loss. "Device private password" is similar but will never leave your device: it cannot be synced, backed up or exported.</string>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<matrix verticalHuggingPriority="751" allowsEmptySelection="NO" autorecalculatesCellSize="YES" translatesAutoresizingMaskIntoConstraints="NO" id="3fr-Fd-pxx">
<rect key="frame" x="12" y="114" width="390" height="158"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
<size key="cellSize" width="394" height="18"/> <size key="cellSize" width="303" height="18"/>
<size key="intercellSpacing" width="4" height="2"/> <size key="intercellSpacing" width="4" height="2"/>
<buttonCell key="prototype" type="radio" title="Radio" imagePosition="left" alignment="left" inset="2" id="RW9-c9-I7v"> <buttonCell key="prototype" type="radio" title="Radio" imagePosition="left" alignment="left" inset="2" id="RW9-c9-I7v">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
@ -1263,30 +1220,85 @@ Use the arrows ⇅ to navigate the list or esc ⎋ to exit.</string>
</column> </column>
</cells> </cells>
</matrix> </matrix>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" setsMaxLayoutWidthAtFirstLayout="YES" translatesAutoresizingMaskIntoConstraints="NO" id="kCO-1M-Wz1"> </subviews>
<rect key="frame" x="16" y="11" width="382" height="56"/> <constraints>
<textFieldCell key="cell" sendsActionOnEndEditing="YES" id="kl0-P1-6ZY"> <constraint firstItem="3fr-Fd-pxx" firstAttribute="leading" secondItem="hAc-y9-IMT" secondAttribute="leading" constant="12" id="PRf-np-AhS"/>
<constraint firstItem="kCO-1M-Wz1" firstAttribute="top" secondItem="3fr-Fd-pxx" secondAttribute="bottom" constant="8" id="T4q-9M-tah"/>
<constraint firstItem="kCO-1M-Wz1" firstAttribute="leading" secondItem="hAc-y9-IMT" secondAttribute="leading" constant="12" id="U7M-vo-bPi"/>
<constraint firstAttribute="trailing" secondItem="kCO-1M-Wz1" secondAttribute="trailing" constant="12" id="rd7-zZ-iDd"/>
<constraint firstAttribute="bottom" secondItem="kCO-1M-Wz1" secondAttribute="bottom" constant="12" id="sZg-sT-eHo"/>
<constraint firstAttribute="trailing" secondItem="3fr-Fd-pxx" secondAttribute="trailing" constant="12" id="tm4-NF-giC"/>
<constraint firstItem="3fr-Fd-pxx" firstAttribute="top" secondItem="hAc-y9-IMT" secondAttribute="top" constant="8" id="xVT-HC-qsE"/>
</constraints>
</view>
<color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/>
<color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
<point key="canvasLocation" x="333" y="125"/>
</box>
<box autoresizesSubviews="NO" title="Answer to security questions for apple.com:" borderType="line" id="hi3-SX-Td3">
<rect key="frame" x="0.0" y="0.0" width="416" height="180"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<view key="contentView" id="8Ep-zH-Nzv">
<rect key="frame" x="1" y="1" width="414" height="164"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<searchField focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="5pN-pY-U6l" userLabel="Site Question">
<rect key="frame" x="10" y="140" width="394" height="16"/>
<searchFieldCell key="cell" selectable="YES" editable="YES" focusRingType="none" alignment="center" placeholderString="All Questions (click to enter a question keyword):" sendsSearchStringImmediately="YES" id="WGN-h5-Lf0">
<font key="font" metaFont="cellTitle"/>
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</searchFieldCell>
<connections>
<action selector="doSearchSites:" target="-2" id="5fs-OO-jdW"/>
<binding destination="-2" name="hidden" keyPath="locked" id="hBs-gf-T7K"/>
<outlet property="delegate" destination="-2" id="l5W-a4-HVp"/>
</connections>
</searchField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="cp4-2G-8aG" userLabel="Site Answer">
<rect key="frame" x="10" y="103" width="394" height="29"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="center" title="fewc fom pugsuhe xav" placeholderString="" id="oYj-IR-xmw">
<font key="font" size="18" name="SourceCodePro-Regular"/>
<color key="textColor" name="keyboardFocusIndicatorColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<connections>
<binding destination="mcS-ik-b0n" name="hidden" keyPath="canRemove" id="TxZ-TU-RMn">
<dictionary key="options">
<string key="NSValueTransformerName">NSNegateBoolean</string>
</dictionary>
</binding>
<binding destination="mcS-ik-b0n" name="value" keyPath="selection.answer" id="Ba7-t3-euS"/>
</connections>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" verticalCompressionResistancePriority="751" setsMaxLayoutWidthAtFirstLayout="YES" translatesAutoresizingMaskIntoConstraints="NO" id="12d-V9-LDB">
<rect key="frame" x="12" y="11" width="390" height="84"/>
<textFieldCell key="cell" sendsActionOnEndEditing="YES" id="yi7-nc-HES">
<font key="font" metaFont="toolTip"/> <font key="font" metaFont="toolTip"/>
<string key="title">"Personal password" allows you to store your own password. It cannot be regenerated in the event of loss. "Device private password" is similar but will never leave your device: it cannot be synced, backed up or exported.</string> <string key="title">Security questions are invasive questions sites often ask you as a password fallback with the assumption that only you will know the true answer. Of course, all your other sites also know and when one gets hacked your private details are out in the wild. Security questions are a privacy invasion and gaping security hole into your accounts. Use these fake generated answers instead to protect yourself.</string>
<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>
</textField> </textField>
</subviews> </subviews>
<constraints>
<constraint firstItem="5pN-pY-U6l" firstAttribute="top" secondItem="8Ep-zH-Nzv" secondAttribute="top" constant="8" id="8hz-kA-7hC"/>
<constraint firstItem="12d-V9-LDB" firstAttribute="top" secondItem="cp4-2G-8aG" secondAttribute="bottom" constant="8" symbolic="YES" id="KBI-1d-ArD"/>
<constraint firstAttribute="trailing" secondItem="cp4-2G-8aG" secondAttribute="trailing" constant="12" id="M6h-YI-ZFp"/>
<constraint firstItem="cp4-2G-8aG" firstAttribute="leading" secondItem="8Ep-zH-Nzv" secondAttribute="leading" constant="12" id="MbE-fa-yjw"/>
<constraint firstItem="cp4-2G-8aG" firstAttribute="top" secondItem="5pN-pY-U6l" secondAttribute="bottom" constant="8" symbolic="YES" id="OlG-5f-1wE"/>
<constraint firstAttribute="trailing" secondItem="5pN-pY-U6l" secondAttribute="trailing" constant="12" id="dja-Ll-AdT"/>
<constraint firstItem="5pN-pY-U6l" firstAttribute="leading" secondItem="8Ep-zH-Nzv" secondAttribute="leading" constant="12" id="tPO-Bt-B8h"/>
</constraints>
</view> </view>
<constraints> <constraints>
<constraint firstItem="kCO-1M-Wz1" firstAttribute="top" secondItem="3fr-Fd-pxx" secondAttribute="bottom" constant="8" symbolic="YES" id="GSx-ci-oqR"/> <constraint firstAttribute="bottom" secondItem="12d-V9-LDB" secondAttribute="bottom" constant="8" id="Efp-Bx-NeA"/>
<constraint firstAttribute="bottom" secondItem="kCO-1M-Wz1" secondAttribute="bottom" constant="8" id="bX0-Xq-QoP"/> <constraint firstAttribute="trailing" secondItem="12d-V9-LDB" secondAttribute="trailing" constant="12" id="Ysu-F5-ukt"/>
<constraint firstAttribute="trailing" secondItem="kCO-1M-Wz1" secondAttribute="trailing" constant="16" id="dJ5-aO-i4k"/> <constraint firstItem="12d-V9-LDB" firstAttribute="leading" secondItem="hi3-SX-Td3" secondAttribute="leading" constant="12" id="oPv-4N-T9I"/>
<constraint firstAttribute="trailing" secondItem="3fr-Fd-pxx" secondAttribute="trailing" constant="8" id="fMC-mZ-q4h"/>
<constraint firstItem="3fr-Fd-pxx" firstAttribute="top" secondItem="bZe-7q-i6q" secondAttribute="top" constant="20" id="s28-o1-Mn5"/>
<constraint firstItem="3fr-Fd-pxx" firstAttribute="leading" secondItem="bZe-7q-i6q" secondAttribute="leading" constant="8" id="w0i-lL-lPE"/>
<constraint firstItem="kCO-1M-Wz1" firstAttribute="leading" secondItem="bZe-7q-i6q" secondAttribute="leading" constant="16" id="wBb-UE-BfN"/>
</constraints> </constraints>
<color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/> <color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/>
<color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> <color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
<font key="titleFont" metaFont="message" size="11"/> <point key="canvasLocation" x="333" y="491"/>
<point key="canvasLocation" x="447" y="387"/>
</box> </box>
</objects> </objects>
</document> </document>