blockchain: register name at account creation
- Add signup with Blockchain checkbox on new Ring Account view
- Add indicator next to Username field to check availability
Tuleap: #1158
Change-Id: I52ba5fa32068c39f9059a6f4307c2ead89d4526a
diff --git a/ui/Base.lproj/RingWizardNewAccount.strings b/ui/Base.lproj/RingWizardNewAccount.strings
index f73afb1..7d9d87f 100644
--- a/ui/Base.lproj/RingWizardNewAccount.strings
+++ b/ui/Base.lproj/RingWizardNewAccount.strings
@@ -1,7 +1,13 @@
+/* Class = "NSTextFieldCell"; title = "By checking this, you will register a unique username on Ring network. Other people can use it to call you."; ObjectID = "0qE-Sz-hdc"; */
+"0qE-Sz-hdc.title" = "By checking this, you will register a unique username on Ring network. Other people can use it to call you.";
+
/* Class = "NSTextFieldCell"; placeholderString = "Mandatory*"; ObjectID = "1TO-Ov-S8j"; */
"1TO-Ov-S8j.placeholderString" = "Mandatory*";
+/* Class = "NSButtonCell"; title = "Register a username on the blockchain"; ObjectID = "AG5-GR-bii"; */
+"AG5-GR-bii.title" = "Register a username on the blockchain";
+
/* Class = "NSTextFieldCell"; title = "Choose your password"; ObjectID = "B6x-jj-48R"; */
"B6x-jj-48R.title" = "Choose your password";
@@ -11,17 +17,20 @@
/* Class = "NSTextFieldCell"; title = "Just a moment..."; ObjectID = "YIN-YL-JBs"; */
"YIN-YL-JBs.title" = "Just a moment...";
-/* Class = "NSTextFieldCell"; placeholderString = "'Unknown' if empty..."; ObjectID = "bdC-Uc-Qhs"; */
-"bdC-Uc-Qhs.placeholderString" = "'Unknown' if empty...";
-
/* Class = "NSTextFieldCell"; title = "Repeat your password"; ObjectID = "fEY-eO-HwI"; */
"fEY-eO-HwI.title" = "Repeat your password";
+/* Class = "NSTextFieldCell"; placeholderString = "'Unknown' if empty..."; ObjectID = "gEy-ak-Cgq"; */
+"gEy-ak-Cgq.placeholderString" = "'Unknown' if empty...";
+
/* Class = "NSTextFieldCell"; title = "Choose your username"; ObjectID = "tzf-88-Yn5"; */
"tzf-88-Yn5.title" = "Choose your username";
/* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "v7f-52-GJA"; */
"v7f-52-GJA.title" = "Cancel";
-/* Class = "NSButtonCell"; title = "Next"; ObjectID = "zfA-n9-V4X"; */
-"zfA-n9-V4X.title" = "Next";
+/* Class = "NSTextFieldCell"; title = "Your password must be at least 6 characters. It will be used to encrypt your account data and to link new devices to your account."; ObjectID = "zUH-kc-cik"; */
+"zUH-kc-cik.title" = "Your password must be at least 6 characters. It will be used to encrypt your account data and to link new devices to your account.";
+
+/* Class = "NSButtonCell"; title = "Create"; ObjectID = "zfA-n9-V4X"; */
+"zfA-n9-V4X.title" = "Create";
diff --git a/ui/Base.lproj/RingWizardNewAccount.xib b/ui/Base.lproj/RingWizardNewAccount.xib
index 1e96d63..eaba1b7 100644
--- a/ui/Base.lproj/RingWizardNewAccount.xib
+++ b/ui/Base.lproj/RingWizardNewAccount.xib
@@ -1,40 +1,41 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="10117" systemVersion="15G31" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="11201" systemVersion="16B2553a" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
<dependencies>
- <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="10117"/>
+ <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="11201"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="RingWizardNewAccountVC">
<connections>
- <outlet property="cancelButton" destination="NHb-Jx-MH0" id="Oiw-Wj-sDz"/>
- <outlet property="createButton" destination="FAG-OH-C4R" id="K53-rB-djD"/>
+ <outlet property="cbSignupRing" destination="b0r-ri-6ZA" id="mgz-Je-D0N"/>
<outlet property="creationView" destination="gKX-gX-nko" id="NrN-dl-Z6R"/>
- <outlet property="indicationLabel" destination="jeO-GS-TdY" id="bJt-3L-pVw"/>
+ <outlet property="displayNameField" destination="99y-na-GTj" id="5q8-Rc-7Hv"/>
+ <outlet property="helpBlockchainContainer" destination="ViR-CC-taB" id="JfQ-Sn-nC2"/>
+ <outlet property="helpPasswordContainer" destination="p6j-6c-1y0" id="sbo-6b-zZN"/>
+ <outlet property="indicatorLookupResult" destination="Osd-Vq-u7C" id="Adn-ta-XTG"/>
+ <outlet property="ivLookupResult" destination="kfj-jZ-xal" id="w7y-8W-MWT"/>
<outlet property="loadingView" destination="WWd-Hs-Pwi" id="SX4-nP-C2J"/>
- <outlet property="nicknameField" destination="LVv-bg-Ols" id="bZw-Jf-AVI"/>
<outlet property="passwordCheck" destination="gfQ-Fk-iUR" id="etH-CJ-y8a"/>
<outlet property="passwordField" destination="ie2-fK-FsB" id="0Q7-CU-mcB"/>
- <outlet property="passwordLabel" destination="hwE-M9-zUH" id="L1G-ic-4aE"/>
<outlet property="passwordRepeatCheck" destination="mU4-ba-cip" id="TQH-SX-RRk"/>
<outlet property="passwordRepeatField" destination="tXp-94-ns5" id="iXz-tJ-m7r"/>
- <outlet property="passwordRepeatLabel" destination="yaf-61-UuK" id="CqQ-HR-0wT"/>
<outlet property="photoView" destination="vby-AD-tor" id="uoF-rR-eSf"/>
<outlet property="progressBar" destination="1rt-CR-Wpz" id="UGj-xL-Fp8"/>
+ <outlet property="registeredNameField" destination="LVv-bg-Ols" id="2Cc-TI-koh"/>
<outlet property="view" destination="SAg-MG-Jl7" id="UND-8y-zHo"/>
</connections>
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<view id="gKX-gX-nko">
- <rect key="frame" x="0.0" y="0.0" width="413" height="331"/>
+ <rect key="frame" x="0.0" y="0.0" width="400" height="341"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<subviews>
- <button misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="FAG-OH-C4R">
- <rect key="frame" x="323" y="38" width="72" height="29"/>
+ <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="FAG-OH-C4R">
+ <rect key="frame" x="305" y="13" width="81" height="32"/>
<constraints>
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="68" id="iqj-jS-ZaS"/>
</constraints>
- <buttonCell key="cell" type="bevel" title="Next" bezelStyle="regularSquare" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="zfA-n9-V4X">
+ <buttonCell key="cell" type="push" title="Create" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="zfA-n9-V4X">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
<string key="keyEquivalent" base64-UTF8="YES">
@@ -43,7 +44,8 @@
</buttonCell>
<connections>
<action selector="createRingAccount:" target="-2" id="Kvv-ER-ueA"/>
- <binding destination="-2" name="enabled2" keyPath="self.isRepeatPasswordValid" previousBinding="dev-Jk-Mfr" id="k1J-Dw-cMi">
+ <binding destination="-2" name="enabled" keyPath="self.isPasswordValid" id="ukw-Rm-AqG"/>
+ <binding destination="-2" name="enabled2" keyPath="self.isRepeatPasswordValid" previousBinding="ukw-Rm-AqG" id="mKd-Hn-Bjb">
<dictionary key="options">
<integer key="NSMultipleValuesPlaceholder" value="-1"/>
<integer key="NSNoSelectionPlaceholder" value="-1"/>
@@ -51,44 +53,51 @@
<integer key="NSNullPlaceholder" value="-1"/>
</dictionary>
</binding>
- <binding destination="-2" name="enabled" keyPath="self.isPasswordValid" id="dev-Jk-Mfr"/>
+ <binding destination="-2" name="enabled3" keyPath="self.userNameAvailableORNotBlockchain" previousBinding="mKd-Hn-Bjb" id="zsf-CE-l2p">
+ <dictionary key="options">
+ <integer key="NSMultipleValuesPlaceholder" value="-1"/>
+ <integer key="NSNoSelectionPlaceholder" value="-1"/>
+ <integer key="NSNotApplicablePlaceholder" value="-1"/>
+ <integer key="NSNullPlaceholder" value="-1"/>
+ </dictionary>
+ </binding>
</connections>
</button>
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="LVv-bg-Ols">
- <rect key="frame" x="105" y="200" width="200" height="22"/>
+ <rect key="frame" x="100" y="187" width="200" height="22"/>
<constraints>
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="200" id="Fb8-ez-8VT"/>
+ <constraint firstAttribute="width" constant="200" id="tbX-cT-w6C"/>
</constraints>
- <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" placeholderString="'Unknown' if empty..." bezelStyle="round" id="bdC-Uc-Qhs">
+ <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" placeholderString="" bezelStyle="round" id="bdC-Uc-Qhs">
<font key="font" metaFont="system"/>
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<connections>
- <binding destination="-2" name="value" keyPath="self.alias" id="l47-ed-TC5">
+ <binding destination="-2" name="value" keyPath="self.registeredName" id="4qm-Qc-63E">
<dictionary key="options">
<bool key="NSContinuouslyUpdatesValue" value="YES"/>
<bool key="NSValidatesImmediately" value="YES"/>
</dictionary>
</binding>
+ <binding destination="-2" name="enabled" keyPath="self.signUpBlockchainState" id="rge-vV-WHn"/>
+ <outlet property="delegate" destination="-2" id="WvF-ix-1Nv"/>
<outlet property="nextKeyView" destination="ie2-fK-FsB" id="R1t-Gl-whB"/>
</connections>
</textField>
- <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" setsMaxLayoutWidthAtFirstLayout="YES" translatesAutoresizingMaskIntoConstraints="NO" id="jeO-GS-TdY">
- <rect key="frame" x="33" y="230" width="344" height="17"/>
- <constraints>
- <constraint firstAttribute="width" constant="340" id="G1m-Eo-HaC"/>
- </constraints>
- <textFieldCell key="cell" controlSize="mini" sendsActionOnEndEditing="YES" alignment="center" title="Choose your username" id="tzf-88-Yn5">
+ <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" misplaced="YES" setsMaxLayoutWidthAtFirstLayout="YES" translatesAutoresizingMaskIntoConstraints="NO" id="jeO-GS-TdY">
+ <rect key="frame" x="166" y="291" width="215" height="17"/>
+ <textFieldCell key="cell" controlSize="mini" sendsActionOnEndEditing="YES" alignment="left" title="Choose your username" id="tzf-88-Yn5">
<font key="font" metaFont="system"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" setsMaxLayoutWidthAtFirstLayout="YES" translatesAutoresizingMaskIntoConstraints="NO" id="hwE-M9-zUH">
- <rect key="frame" x="33" y="175" width="344" height="17"/>
+ <rect key="frame" x="98" y="162" width="204" height="17"/>
<constraints>
- <constraint firstAttribute="width" constant="340" id="nga-zR-QQ3"/>
+ <constraint firstAttribute="width" constant="200" id="nga-zR-QQ3"/>
</constraints>
<textFieldCell key="cell" controlSize="mini" sendsActionOnEndEditing="YES" alignment="center" title="Choose your password" id="B6x-jj-48R">
<font key="font" metaFont="system"/>
@@ -96,15 +105,15 @@
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
- <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="gfQ-Fk-iUR">
- <rect key="frame" x="313" y="146" width="20" height="20"/>
+ <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="gfQ-Fk-iUR">
+ <rect key="frame" x="306" y="130" width="20" height="20"/>
<constraints>
<constraint firstAttribute="width" constant="20" id="FQ5-RF-zC5"/>
<constraint firstAttribute="height" constant="20" id="u8a-uz-ji9"/>
</constraints>
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="ic_action_accept" id="ohn-LN-sAz"/>
<connections>
- <binding destination="-2" name="hidden" keyPath="self.isPasswordValid" id="JlV-FR-ysD">
+ <binding destination="-2" name="hidden" keyPath="self.isPasswordValid" id="rCZ-n3-O0o">
<dictionary key="options">
<string key="NSValueTransformerName">NSNegateBoolean</string>
</dictionary>
@@ -112,10 +121,11 @@
</connections>
</imageView>
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ie2-fK-FsB" customClass="NSSecureTextField">
- <rect key="frame" x="105" y="145" width="200" height="22"/>
+ <rect key="frame" x="100" y="132" width="200" height="22"/>
<constraints>
<constraint firstAttribute="width" constant="200" id="RoG-9m-EB3"/>
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="200" id="nTg-zI-DZQ"/>
+ <constraint firstAttribute="width" relation="lessThanOrEqual" constant="200" id="rpN-DX-4Gf"/>
</constraints>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" placeholderString="Mandatory*" bezelStyle="round" id="1TO-Ov-S8j" customClass="NSSecureTextFieldCell">
<font key="font" metaFont="system"/>
@@ -131,10 +141,10 @@
<outlet property="nextKeyView" destination="tXp-94-ns5" id="o2j-Ze-hno"/>
</connections>
</textField>
- <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" setsMaxLayoutWidthAtFirstLayout="YES" translatesAutoresizingMaskIntoConstraints="NO" id="yaf-61-UuK">
- <rect key="frame" x="33" y="116" width="344" height="17"/>
+ <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" misplaced="YES" setsMaxLayoutWidthAtFirstLayout="YES" translatesAutoresizingMaskIntoConstraints="NO" id="yaf-61-UuK">
+ <rect key="frame" x="92" y="107" width="196" height="17"/>
<constraints>
- <constraint firstAttribute="width" constant="340" id="x3M-VB-dWw"/>
+ <constraint firstAttribute="width" constant="192" id="x3M-VB-dWw"/>
</constraints>
<textFieldCell key="cell" controlSize="mini" sendsActionOnEndEditing="YES" alignment="center" title="Repeat your password" id="fEY-eO-HwI">
<font key="font" metaFont="system"/>
@@ -143,10 +153,11 @@
</textFieldCell>
</textField>
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="tXp-94-ns5" customClass="NSSecureTextField">
- <rect key="frame" x="105" y="86" width="200" height="22"/>
+ <rect key="frame" x="100" y="73" width="200" height="22"/>
<constraints>
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="200" id="K6O-5F-lrk"/>
<constraint firstAttribute="width" constant="200" id="ZEO-wC-sob"/>
+ <constraint firstAttribute="width" relation="lessThanOrEqual" constant="200" id="yL4-ra-YrQ"/>
</constraints>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" placeholderString="Mandatory*" bezelStyle="round" id="BCg-5V-Ek4" customClass="NSSecureTextFieldCell">
<font key="font" metaFont="system"/>
@@ -161,16 +172,16 @@
</binding>
</connections>
</textField>
- <button misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="NHb-Jx-MH0">
- <rect key="frame" x="245" y="38" width="72" height="29"/>
+ <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="NHb-Jx-MH0">
+ <rect key="frame" x="225" y="13" width="82" height="32"/>
<constraints>
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="68" id="8UL-X3-Ulx"/>
</constraints>
- <buttonCell key="cell" type="bevel" title="Cancel" bezelStyle="regularSquare" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="v7f-52-GJA">
+ <buttonCell key="cell" type="push" title="Cancel" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="v7f-52-GJA">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
<string key="keyEquivalent" base64-UTF8="YES">
-DQ
+Gw
</string>
</buttonCell>
<connections>
@@ -178,14 +189,14 @@
</connections>
</button>
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="mU4-ba-cip">
- <rect key="frame" x="313" y="87" width="20" height="20"/>
+ <rect key="frame" x="308" y="74" width="20" height="20"/>
<constraints>
<constraint firstAttribute="width" constant="20" id="D4O-G0-LqM"/>
<constraint firstAttribute="height" constant="20" id="Oua-Tw-qkD"/>
</constraints>
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="ic_action_accept" id="QRW-2G-oy5"/>
<connections>
- <binding destination="-2" name="hidden2" keyPath="self.isRepeatPasswordValid" previousBinding="dSu-GL-Nqj" id="dve-JG-dRa">
+ <binding destination="-2" name="hidden2" keyPath="self.isPasswordValid" previousBinding="coH-eJ-Nvy" id="CBh-6U-3ZZ">
<dictionary key="options">
<integer key="NSMultipleValuesPlaceholder" value="-1"/>
<integer key="NSNoSelectionPlaceholder" value="-1"/>
@@ -194,7 +205,7 @@
<string key="NSValueTransformerName">NSNegateBoolean</string>
</dictionary>
</binding>
- <binding destination="-2" name="hidden" keyPath="self.isPasswordValid" id="dSu-GL-Nqj">
+ <binding destination="-2" name="hidden" keyPath="self.isRepeatPasswordValid" id="coH-eJ-Nvy">
<dictionary key="options">
<string key="NSValueTransformerName">NSNegateBoolean</string>
</dictionary>
@@ -202,14 +213,14 @@
</connections>
</imageView>
<button focusRingType="none" translatesAutoresizingMaskIntoConstraints="NO" id="vby-AD-tor">
- <rect key="frame" x="170" y="261" width="70" height="70"/>
+ <rect key="frame" x="90" y="251" width="70" height="70"/>
<constraints>
+ <constraint firstAttribute="height" relation="lessThanOrEqual" constant="70" id="D0W-Fy-3eY"/>
<constraint firstAttribute="width" constant="70" id="ELE-xo-8Tx"/>
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="70" id="HGW-Ij-peX"/>
<constraint firstAttribute="height" constant="70" id="SD5-rB-QBD"/>
- <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="70" id="mL5-3Z-Akx"/>
</constraints>
- <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" imagePosition="only" alignment="center" focusRingType="none" imageScaling="proportionallyUpOrDown" inset="2" id="BTW-ug-E0p">
+ <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="NSUser" imagePosition="only" alignment="center" focusRingType="none" imageScaling="proportionallyUpOrDown" inset="2" id="BTW-ug-E0p">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
@@ -217,38 +228,141 @@
<action selector="editPhoto:" target="-2" id="0AC-cZ-xCz"/>
</connections>
</button>
+ <button translatesAutoresizingMaskIntoConstraints="NO" id="b0r-ri-6ZA">
+ <rect key="frame" x="72" y="215" width="257" height="18"/>
+ <buttonCell key="cell" type="check" title="Register a username on the blockchain" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="AG5-GR-bii">
+ <behavior key="behavior" pushIn="YES" changeContents="YES" lightByContents="YES"/>
+ <font key="font" metaFont="system"/>
+ </buttonCell>
+ <connections>
+ <action selector="toggleSignupRing:" target="-2" id="cg6-N8-VNb"/>
+ <binding destination="-2" name="value" keyPath="self.signUpBlockchainState" id="73i-5L-W1I"/>
+ <outlet property="nextKeyView" destination="LVv-bg-Ols" id="jvK-de-mUM"/>
+ </connections>
+ </button>
+ <button horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="WGe-uI-HhQ">
+ <rect key="frame" x="337" y="210" width="25" height="25"/>
+ <buttonCell key="cell" type="help" bezelStyle="helpButton" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="joF-an-KU7">
+ <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+ <font key="font" metaFont="system"/>
+ </buttonCell>
+ <connections>
+ <action selector="showBlockchainHelp:" target="-2" id="Cdv-Dx-5Ta"/>
+ </connections>
+ </button>
+ <customView misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="JGA-h8-Nhd">
+ <rect key="frame" x="298" y="187" width="36" height="22"/>
+ <subviews>
+ <progressIndicator wantsLayer="YES" horizontalHuggingPriority="750" verticalHuggingPriority="750" maxValue="100" bezeled="NO" indeterminate="YES" controlSize="small" style="spinning" translatesAutoresizingMaskIntoConstraints="NO" id="Osd-Vq-u7C">
+ <rect key="frame" x="10" y="4" width="16" height="16"/>
+ </progressIndicator>
+ <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="kfj-jZ-xal">
+ <rect key="frame" x="8" y="2" width="20" height="20"/>
+ <constraints>
+ <constraint firstAttribute="height" constant="20" id="Ukr-7U-1Lh"/>
+ <constraint firstAttribute="width" constant="20" id="XOS-nb-g7U"/>
+ </constraints>
+ <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="ic_action_accept" id="70V-q1-CFT"/>
+ </imageView>
+ </subviews>
+ <constraints>
+ <constraint firstAttribute="width" constant="36" id="IVh-Ql-XWq"/>
+ <constraint firstItem="Osd-Vq-u7C" firstAttribute="top" secondItem="JGA-h8-Nhd" secondAttribute="top" constant="2" id="QCZ-3B-Liq"/>
+ <constraint firstItem="kfj-jZ-xal" firstAttribute="top" secondItem="JGA-h8-Nhd" secondAttribute="top" id="QMo-Hp-R0Z"/>
+ <constraint firstItem="Osd-Vq-u7C" firstAttribute="leading" secondItem="kfj-jZ-xal" secondAttribute="trailing" constant="-18" id="hYw-u6-0di"/>
+ <constraint firstItem="kfj-jZ-xal" firstAttribute="leading" secondItem="JGA-h8-Nhd" secondAttribute="leading" constant="8" id="meP-Fh-jjj"/>
+ </constraints>
+ <connections>
+ <binding destination="-2" name="hidden" keyPath="self.withBlockchain" id="C1L-aT-rhf">
+ <dictionary key="options">
+ <string key="NSValueTransformerName">NSNegateBoolean</string>
+ </dictionary>
+ </binding>
+ </connections>
+ </customView>
+ <button horizontalHuggingPriority="750" verticalHuggingPriority="750" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="rxZ-gN-ou1">
+ <rect key="frame" x="335" y="127" width="25" height="25"/>
+ <buttonCell key="cell" type="help" bezelStyle="helpButton" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="Ly6-pu-kRm">
+ <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+ <font key="font" metaFont="system"/>
+ </buttonCell>
+ <connections>
+ <action selector="showPasswordHelp:" target="-2" id="DtT-jA-Nfa"/>
+ </connections>
+ </button>
+ <textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="99y-na-GTj">
+ <rect key="frame" x="168" y="261" width="200" height="22"/>
+ <constraints>
+ <constraint firstAttribute="width" constant="200" id="nLL-kX-WRZ"/>
+ </constraints>
+ <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" placeholderString="'Unknown' if empty..." bezelStyle="round" id="gEy-ak-Cgq">
+ <font key="font" metaFont="system"/>
+ <color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
+ <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+ </textFieldCell>
+ <connections>
+ <outlet property="nextKeyView" destination="b0r-ri-6ZA" id="QvW-eh-Q2d"/>
+ </connections>
+ </textField>
</subviews>
<constraints>
- <constraint firstItem="ie2-fK-FsB" firstAttribute="top" secondItem="hwE-M9-zUH" secondAttribute="bottom" constant="8" id="0bb-do-p68"/>
- <constraint firstItem="vby-AD-tor" firstAttribute="top" secondItem="gKX-gX-nko" secondAttribute="top" id="85X-xJ-FQR"/>
- <constraint firstAttribute="bottom" secondItem="FAG-OH-C4R" secondAttribute="bottom" constant="20" id="9AP-f8-vdO"/>
- <constraint firstItem="hwE-M9-zUH" firstAttribute="width" secondItem="jeO-GS-TdY" secondAttribute="width" id="ATx-Vh-8TD"/>
- <constraint firstItem="NHb-Jx-MH0" firstAttribute="baseline" secondItem="FAG-OH-C4R" secondAttribute="baseline" id="Eer-Or-NY2"/>
- <constraint firstItem="vby-AD-tor" firstAttribute="centerX" secondItem="jeO-GS-TdY" secondAttribute="centerX" id="F07-gl-heq"/>
- <constraint firstItem="gfQ-Fk-iUR" firstAttribute="centerY" secondItem="ie2-fK-FsB" secondAttribute="centerY" id="K0P-25-MxY"/>
- <constraint firstItem="jeO-GS-TdY" firstAttribute="leading" secondItem="hwE-M9-zUH" secondAttribute="leading" id="MJZ-Ca-C8L"/>
- <constraint firstItem="LVv-bg-Ols" firstAttribute="top" secondItem="jeO-GS-TdY" secondAttribute="bottom" constant="8" id="OPZ-qE-hzB"/>
- <constraint firstItem="jeO-GS-TdY" firstAttribute="top" secondItem="vby-AD-tor" secondAttribute="bottom" constant="14" id="OtF-HF-h4Z"/>
- <constraint firstItem="mU4-ba-cip" firstAttribute="leading" secondItem="tXp-94-ns5" secondAttribute="trailing" constant="8" id="TQK-Z4-MX9"/>
- <constraint firstItem="tXp-94-ns5" firstAttribute="top" secondItem="yaf-61-UuK" secondAttribute="bottom" constant="8" id="UdS-Ba-M4h"/>
- <constraint firstItem="mU4-ba-cip" firstAttribute="centerY" secondItem="tXp-94-ns5" secondAttribute="centerY" id="VEp-Rp-lIu"/>
- <constraint firstAttribute="bottom" secondItem="FAG-OH-C4R" secondAttribute="bottom" constant="20" id="d9B-0y-SuL"/>
- <constraint firstItem="gfQ-Fk-iUR" firstAttribute="leading" secondItem="ie2-fK-FsB" secondAttribute="trailing" constant="8" id="ffL-46-99C"/>
- <constraint firstItem="FAG-OH-C4R" firstAttribute="leading" secondItem="NHb-Jx-MH0" secondAttribute="trailing" constant="10" id="gGA-Nk-tbe"/>
- <constraint firstItem="hwE-M9-zUH" firstAttribute="top" secondItem="LVv-bg-Ols" secondAttribute="bottom" constant="8" id="ioi-p9-2Rl"/>
- <constraint firstItem="vby-AD-tor" firstAttribute="top" secondItem="gKX-gX-nko" secondAttribute="top" id="jB0-W7-dwQ"/>
- <constraint firstAttribute="trailing" secondItem="FAG-OH-C4R" secondAttribute="trailing" constant="20" id="k6C-fx-ggJ"/>
- <constraint firstItem="tXp-94-ns5" firstAttribute="top" secondItem="yaf-61-UuK" secondAttribute="bottom" constant="8" id="ke4-8H-TZM"/>
- <constraint firstItem="ie2-fK-FsB" firstAttribute="leading" secondItem="LVv-bg-Ols" secondAttribute="leading" id="nwb-Sw-S0z"/>
- <constraint firstItem="LVv-bg-Ols" firstAttribute="centerX" secondItem="gKX-gX-nko" secondAttribute="centerX" constant="-1.5" id="o0M-KE-kXR"/>
- <constraint firstItem="ie2-fK-FsB" firstAttribute="trailing" secondItem="LVv-bg-Ols" secondAttribute="trailing" id="rbn-k3-y8J"/>
- <constraint firstItem="yaf-61-UuK" firstAttribute="leading" secondItem="hwE-M9-zUH" secondAttribute="leading" id="tNS-eU-NY5"/>
- <constraint firstItem="yaf-61-UuK" firstAttribute="top" secondItem="ie2-fK-FsB" secondAttribute="bottom" constant="12" id="wqc-ny-rsH"/>
- <constraint firstItem="vby-AD-tor" firstAttribute="centerX" secondItem="LVv-bg-Ols" secondAttribute="centerX" id="zEl-Ph-BHC"/>
- <constraint firstItem="tXp-94-ns5" firstAttribute="leading" secondItem="ie2-fK-FsB" secondAttribute="leading" id="zJT-jG-vKu"/>
+ <constraint firstItem="mU4-ba-cip" firstAttribute="centerY" secondItem="tXp-94-ns5" secondAttribute="centerY" id="14E-wP-O6C"/>
+ <constraint firstItem="mU4-ba-cip" firstAttribute="leading" secondItem="tXp-94-ns5" secondAttribute="trailing" constant="8" id="3oh-Hh-47x"/>
+ <constraint firstItem="ie2-fK-FsB" firstAttribute="top" secondItem="hwE-M9-zUH" secondAttribute="bottom" constant="8" id="62Y-A4-bfu"/>
+ <constraint firstItem="hwE-M9-zUH" firstAttribute="top" secondItem="JGA-h8-Nhd" secondAttribute="bottom" constant="8" id="7N4-cG-eiE"/>
+ <constraint firstItem="gfQ-Fk-iUR" firstAttribute="centerY" secondItem="ie2-fK-FsB" secondAttribute="centerY" id="7ef-Nk-ZVy"/>
+ <constraint firstItem="vby-AD-tor" firstAttribute="top" secondItem="gKX-gX-nko" secondAttribute="top" constant="20" id="8CS-iY-cPS"/>
+ <constraint firstAttribute="trailing" secondItem="FAG-OH-C4R" secondAttribute="trailing" constant="20" id="9N4-Eq-Msh"/>
+ <constraint firstItem="b0r-ri-6ZA" firstAttribute="top" secondItem="vby-AD-tor" secondAttribute="bottom" constant="20" id="Ahu-ps-awM"/>
+ <constraint firstItem="JGA-h8-Nhd" firstAttribute="leading" secondItem="LVv-bg-Ols" secondAttribute="trailing" id="AoQ-tc-cOY"/>
+ <constraint firstItem="LVv-bg-Ols" firstAttribute="top" secondItem="b0r-ri-6ZA" secondAttribute="bottom" constant="8" id="CMV-NZ-PbM"/>
+ <constraint firstItem="JGA-h8-Nhd" firstAttribute="top" secondItem="b0r-ri-6ZA" secondAttribute="bottom" constant="8" id="OG6-9B-XNN"/>
+ <constraint firstItem="gfQ-Fk-iUR" firstAttribute="leading" secondItem="ie2-fK-FsB" secondAttribute="trailing" constant="8" id="P55-Ck-Sul"/>
+ <constraint firstItem="WGe-uI-HhQ" firstAttribute="centerY" secondItem="b0r-ri-6ZA" secondAttribute="centerY" id="PNY-Dd-WE7"/>
+ <constraint firstItem="yaf-61-UuK" firstAttribute="centerX" secondItem="gKX-gX-nko" secondAttribute="centerX" constant="-10" id="Tgw-p2-191"/>
+ <constraint firstItem="WGe-uI-HhQ" firstAttribute="leading" secondItem="b0r-ri-6ZA" secondAttribute="trailing" constant="12" id="VZZ-D7-FbZ"/>
+ <constraint firstItem="yaf-61-UuK" firstAttribute="top" secondItem="ie2-fK-FsB" secondAttribute="bottom" constant="5" id="XVP-m5-evm"/>
+ <constraint firstAttribute="bottom" secondItem="FAG-OH-C4R" secondAttribute="bottom" constant="20" id="YE6-QP-dDj"/>
+ <constraint firstItem="hwE-M9-zUH" firstAttribute="top" secondItem="LVv-bg-Ols" secondAttribute="bottom" constant="8" id="Yf9-Ly-ZFf"/>
+ <constraint firstItem="rxZ-gN-ou1" firstAttribute="leading" secondItem="gfQ-Fk-iUR" secondAttribute="trailing" constant="11" id="ZxI-wa-Zx2"/>
+ <constraint firstItem="FAG-OH-C4R" firstAttribute="leading" secondItem="NHb-Jx-MH0" secondAttribute="trailing" constant="10" id="aGL-DS-6od"/>
+ <constraint firstItem="LVv-bg-Ols" firstAttribute="centerX" secondItem="gKX-gX-nko" secondAttribute="centerX" id="aaE-co-6si"/>
+ <constraint firstItem="99y-na-GTj" firstAttribute="leading" secondItem="vby-AD-tor" secondAttribute="trailing" constant="8" id="ac7-uU-ahr"/>
+ <constraint firstItem="hwE-M9-zUH" firstAttribute="centerX" secondItem="gKX-gX-nko" secondAttribute="centerX" id="d8P-ya-vyH"/>
+ <constraint firstItem="tXp-94-ns5" firstAttribute="centerX" secondItem="gKX-gX-nko" secondAttribute="centerX" id="dHt-Rk-6CL"/>
+ <constraint firstItem="99y-na-GTj" firstAttribute="top" secondItem="jeO-GS-TdY" secondAttribute="bottom" constant="8" id="h0X-Kd-cyh"/>
+ <constraint firstAttribute="bottom" secondItem="NHb-Jx-MH0" secondAttribute="bottom" constant="20" id="hOB-yc-j6O"/>
+ <constraint firstItem="ie2-fK-FsB" firstAttribute="centerX" secondItem="gKX-gX-nko" secondAttribute="centerX" id="iOZ-In-DP5"/>
+ <constraint firstItem="jeO-GS-TdY" firstAttribute="leading" secondItem="vby-AD-tor" secondAttribute="trailing" constant="8" id="iui-IS-s54"/>
+ <constraint firstItem="jeO-GS-TdY" firstAttribute="top" secondItem="gKX-gX-nko" secondAttribute="top" constant="33" id="mLO-xi-QBv"/>
+ <constraint firstItem="gfQ-Fk-iUR" firstAttribute="centerY" secondItem="ie2-fK-FsB" secondAttribute="centerY" id="oiA-R9-Mzb"/>
+ <constraint firstItem="tXp-94-ns5" firstAttribute="top" secondItem="yaf-61-UuK" secondAttribute="bottom" constant="15" id="qJQ-3W-TTt"/>
+ <constraint firstItem="vby-AD-tor" firstAttribute="leading" secondItem="gKX-gX-nko" secondAttribute="leading" constant="90" id="qdR-J6-TdI"/>
+ <constraint firstItem="rxZ-gN-ou1" firstAttribute="centerY" secondItem="ie2-fK-FsB" secondAttribute="centerY" id="u3b-Zx-rxN"/>
+ <constraint firstItem="b0r-ri-6ZA" firstAttribute="centerX" secondItem="gKX-gX-nko" secondAttribute="centerX" id="vCC-Ez-Vm1"/>
</constraints>
- <point key="canvasLocation" x="72.5" y="386.5"/>
+ <point key="canvasLocation" x="-340" y="268.5"/>
</view>
+ <viewController id="Frg-Sy-HN6" userLabel="Popover View Controller">
+ <connections>
+ <outlet property="view" destination="5d2-w4-t7n" id="yn4-9O-2F7"/>
+ </connections>
+ </viewController>
+ <viewController id="Tv3-Z2-JmV" userLabel="Popover View Controller Pqssword">
+ <connections>
+ <outlet property="view" destination="Cdg-Wr-oF6" id="2hM-jJ-N3y"/>
+ </connections>
+ </viewController>
+ <popover behavior="t" id="p6j-6c-1y0">
+ <connections>
+ <outlet property="contentViewController" destination="Tv3-Z2-JmV" id="mFs-pI-1D3"/>
+ </connections>
+ </popover>
+ <popover behavior="t" id="ViR-CC-taB">
+ <connections>
+ <outlet property="contentViewController" destination="Frg-Sy-HN6" id="VnV-e8-y70"/>
+ </connections>
+ </popover>
<userDefaultsController representsSharedInstance="YES" id="JOT-gS-qe2"/>
<customView id="WWd-Hs-Pwi">
<rect key="frame" x="0.0" y="0.0" width="413" height="70"/>
@@ -283,10 +397,58 @@
<customView id="SAg-MG-Jl7">
<rect key="frame" x="0.0" y="0.0" width="512" height="355"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
- <point key="canvasLocation" x="117" y="380.5"/>
+ <point key="canvasLocation" x="40" y="583.5"/>
+ </customView>
+ <customView id="5d2-w4-t7n">
+ <rect key="frame" x="0.0" y="0.0" width="234" height="108"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+ <subviews>
+ <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="wsh-QZ-fXj">
+ <rect key="frame" x="18" y="20" width="198" height="68"/>
+ <textFieldCell key="cell" sendsActionOnEndEditing="YES" title="By checking this, you will register a unique username on Ring network. Other people can use it to call you." id="0qE-Sz-hdc">
+ <font key="font" metaFont="system"/>
+ <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+ <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+ </textFieldCell>
+ </textField>
+ </subviews>
+ <constraints>
+ <constraint firstItem="wsh-QZ-fXj" firstAttribute="centerY" secondItem="5d2-w4-t7n" secondAttribute="centerY" id="2LG-iF-irA"/>
+ <constraint firstItem="wsh-QZ-fXj" firstAttribute="leading" secondItem="5d2-w4-t7n" secondAttribute="leading" constant="20" id="5yp-xd-EQK"/>
+ <constraint firstItem="wsh-QZ-fXj" firstAttribute="centerX" secondItem="5d2-w4-t7n" secondAttribute="centerX" id="Lde-tI-97A"/>
+ <constraint firstAttribute="bottom" secondItem="wsh-QZ-fXj" secondAttribute="bottom" constant="20" id="Vhw-8E-PGE"/>
+ <constraint firstItem="wsh-QZ-fXj" firstAttribute="top" secondItem="5d2-w4-t7n" secondAttribute="top" constant="20" id="aFs-IQ-VBH"/>
+ <constraint firstAttribute="trailing" secondItem="wsh-QZ-fXj" secondAttribute="trailing" constant="20" id="omo-Yd-iK5"/>
+ </constraints>
+ <point key="canvasLocation" x="-250" y="801"/>
+ </customView>
+ <customView id="Cdg-Wr-oF6">
+ <rect key="frame" x="0.0" y="0.0" width="348" height="91"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+ <subviews>
+ <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="eOp-Af-ygv">
+ <rect key="frame" x="18" y="20" width="312" height="51"/>
+ <textFieldCell key="cell" controlSize="mini" sendsActionOnEndEditing="YES" id="zUH-kc-cik">
+ <font key="font" metaFont="system"/>
+ <string key="title">Your password must be at least 6 characters. It will be used to encrypt your account data and to link new devices to your account.</string>
+ <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+ <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+ </textFieldCell>
+ </textField>
+ </subviews>
+ <constraints>
+ <constraint firstItem="eOp-Af-ygv" firstAttribute="centerX" secondItem="Cdg-Wr-oF6" secondAttribute="centerX" id="2Fi-dX-tcs"/>
+ <constraint firstItem="eOp-Af-ygv" firstAttribute="leading" secondItem="Cdg-Wr-oF6" secondAttribute="leading" constant="20" id="QZx-Wk-O5K"/>
+ <constraint firstAttribute="bottom" secondItem="eOp-Af-ygv" secondAttribute="bottom" constant="20" id="X4g-gk-nc2"/>
+ <constraint firstItem="eOp-Af-ygv" firstAttribute="top" secondItem="Cdg-Wr-oF6" secondAttribute="top" constant="20" id="c7E-ah-vgm"/>
+ <constraint firstAttribute="trailing" secondItem="eOp-Af-ygv" secondAttribute="trailing" constant="20" id="eop-dQ-IiC"/>
+ <constraint firstItem="eOp-Af-ygv" firstAttribute="centerY" secondItem="Cdg-Wr-oF6" secondAttribute="centerY" id="r2Q-MH-hTe"/>
+ </constraints>
+ <point key="canvasLocation" x="-606" y="657.5"/>
</customView>
</objects>
<resources>
+ <image name="NSUser" width="32" height="32"/>
<image name="ic_action_accept" width="72" height="72"/>
</resources>
</document>