profile: photo selection

When creating a new Ring account MAC profile photo has been used
by default. This patch remove default profile photo.

Change-Id: I3ced48d7ab1ffa6b3dd940907c44ee2b96e0a40f
Reviewed-by: Andreas Traczyk <andreas.traczyk@savoirfairelinux.com>
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8f3a947..7fb4cb1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -318,7 +318,8 @@
 ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/qrcode.png
 ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_video.png
 ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/pending_contact_request.png
-${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_file_upload.png)
+${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_file_upload.png
+${CMAKE_CURRENT_SOURCE_DIR}/data/light/ic_picture.png)
 
 SET_SOURCE_FILES_PROPERTIES(${ring_ICONS} PROPERTIES
        MACOSX_PACKAGE_LOCATION Resources)
diff --git a/data/light/ic_picture.png b/data/light/ic_picture.png
new file mode 100644
index 0000000..1512c61
--- /dev/null
+++ b/data/light/ic_picture.png
Binary files differ
diff --git a/ic_add.png b/ic_add.png
new file mode 100644
index 0000000..cf5dc5f
--- /dev/null
+++ b/ic_add.png
Binary files differ
diff --git a/ic_picture.png b/ic_picture.png
new file mode 100644
index 0000000..1512c61
--- /dev/null
+++ b/ic_picture.png
Binary files differ
diff --git a/icons_add.png b/icons_add.png
new file mode 100644
index 0000000..69fdf9c
--- /dev/null
+++ b/icons_add.png
Binary files differ
diff --git a/src/GeneralPrefsVC.mm b/src/GeneralPrefsVC.mm
index 48d50cf..a45a0f2 100644
--- a/src/GeneralPrefsVC.mm
+++ b/src/GeneralPrefsVC.mm
@@ -52,6 +52,7 @@
     __unsafe_unretained IBOutlet NSButton* historySwitch;
     __unsafe_unretained IBOutlet NSButton* photoView;
     __unsafe_unretained IBOutlet NSTextField* profileNameField;
+    __unsafe_unretained IBOutlet NSImageView* addProfilePhotoImage;
 }
 @end
 
@@ -86,13 +87,19 @@
     [photoView setWantsLayer: YES];
     photoView.layer.cornerRadius = photoView.frame.size.width / 2;
     photoView.layer.masksToBounds = YES;
+    [addProfilePhotoImage setWantsLayer: YES];
+    [addProfilePhotoImage setHidden:NO];
+    [photoView setBordered:YES];
 
     if (auto pro = ProfileModel::instance().selectedProfile()) {
-        auto photo = GlobalInstances::pixmapManipulator().contactPhoto(pro->person(), {140,140});
-        [photoView setImage:QtMac::toNSImage(qvariant_cast<QPixmap>(photo))];
         [profileNameField setStringValue:pro->person()->formattedName().toNSString()];
+        if (pro->person() && pro->person()->photo().isValid()) {
+            auto photo = GlobalInstances::pixmapManipulator().contactPhoto(pro->person(), {140,140});
+            [photoView setImage:QtMac::toNSImage(qvariant_cast<QPixmap>(photo))];
+            [addProfilePhotoImage setHidden:YES];
+            [photoView setBordered:NO];
+        }
     }
-
 }
 
 - (void) dealloc
@@ -207,15 +214,19 @@
 {
     if (auto outputImage = [picker outputImage]) {
         [photoView setImage:outputImage];
-    } else
-        [photoView setImage:[NSImage imageNamed:@"default_user_icon"]];
-    if (auto pro = ProfileModel::instance().selectedProfile()) {
-        QPixmap p;
-        auto smallImg = [NSImage imageResize:[photoView image] newSize:{100,100}];
-        if (p.loadFromData(QByteArray::fromNSData([smallImg TIFFRepresentation]))) {
-            pro->person()->setPhoto(QVariant(p));
+        [addProfilePhotoImage setHidden:YES];
+        [photoView setBordered:NO];
+        if (auto pro = ProfileModel::instance().selectedProfile()) {
+            QPixmap p;
+            auto smallImg = [NSImage imageResize:outputImage newSize:{100,100}];
+            if (p.loadFromData(QByteArray::fromNSData([smallImg TIFFRepresentation]))) {
+                pro->person()->setPhoto(QVariant(p));
+            }
+            pro->save();
         }
-        pro->save();
+    } else if (!photoView.image){
+        [addProfilePhotoImage setHidden:NO];
+        [photoView setBordered:YES];
     }
 }
 
diff --git a/src/RegisterNameWC.mm b/src/RegisterNameWC.mm
index d1ea565..1402fcc 100644
--- a/src/RegisterNameWC.mm
+++ b/src/RegisterNameWC.mm
@@ -21,7 +21,6 @@
 
 
 //Cocoa
-#import <AddressBook/AddressBook.h>
 
 //LRC
 #import <accountmodel.h>
diff --git a/src/RingWizardLinkAccountVC.mm b/src/RingWizardLinkAccountVC.mm
index a31927f..f932de7 100644
--- a/src/RingWizardLinkAccountVC.mm
+++ b/src/RingWizardLinkAccountVC.mm
@@ -19,7 +19,6 @@
 
 #import "RingWizardLinkAccountVC.h"
 //Cocoa
-#import <AddressBook/AddressBook.h>
 #import <Quartz/Quartz.h>
 
 //Qt
@@ -117,10 +116,6 @@
     [self showLoading];
     if (auto profile = ProfileModel::instance().selectedProfile()) {
         profile->person()->setFormattedName([NSFullUserName() UTF8String]);
-        auto defaultAvatar = [NSImage imageResize:[NSImage imageNamed:@"default_user_icon"] newSize:{100,100}];
-        QPixmap pixMap;
-        pixMap.loadFromData(QByteArray::fromNSData([defaultAvatar TIFFRepresentation]));
-        profile->person()->setPhoto(QVariant(pixMap));
         profile->save();
     }
     accountToCreate = AccountModel::instance().add(QString::fromNSString(NSFullUserName()), Account::Protocol::RING);
diff --git a/src/RingWizardNewAccountVC.mm b/src/RingWizardNewAccountVC.mm
index 9338f18..27f153f 100644
--- a/src/RingWizardNewAccountVC.mm
+++ b/src/RingWizardNewAccountVC.mm
@@ -21,7 +21,6 @@
 
 
 //Cocoa
-#import <AddressBook/AddressBook.h>
 #import <Quartz/Quartz.h>
 
 //Qt
@@ -59,6 +58,7 @@
     __unsafe_unretained IBOutlet NSSecureTextField* passwordRepeatField;
     __unsafe_unretained IBOutlet NSImageView* passwordCheck;
     __unsafe_unretained IBOutlet NSImageView* passwordRepeatCheck;
+    __unsafe_unretained IBOutlet NSImageView* addProfilePhotoImage;
 
     __unsafe_unretained IBOutlet NSProgressIndicator* progressBar;
 
@@ -112,18 +112,13 @@
     [registeredNameField setTag:BLOCKCHAIN_NAME_TAG];
     [displayNameField setStringValue: NSFullUserName()];
     [self controlTextDidChange:[NSNotification notificationWithName:@"PlaceHolder" object:displayNameField]];
-
-    NSData* imgData = [[[ABAddressBook sharedAddressBook] me] imageData];
-    if (imgData != nil) {
-        [photoView setImage:[[NSImage alloc] initWithData:imgData]];
-    } else
-        [photoView setImage:[NSImage imageNamed:@"default_user_icon"]];
-
     [photoView setWantsLayer: YES];
     photoView.layer.cornerRadius = photoView.frame.size.width / 2;
     photoView.layer.masksToBounds = YES;
     self.signUpBlockchainState = YES;
     [self toggleSignupRing:nil];
+    [addProfilePhotoImage setWantsLayer: YES];
+    [photoView setBordered:YES];
 
     [self display:creationView];
 }
@@ -156,9 +151,12 @@
                contextInfo:(void*) contextInfo
 {
     if (auto outputImage = [picker outputImage]) {
+        [photoView setBordered:NO];
         [photoView setImage:outputImage];
-    } else {
-        [photoView setImage:[NSImage imageNamed:@"default_user_icon"]];
+        [addProfilePhotoImage setHidden:YES];
+    } else if(!photoView.image) {
+        [photoView setBordered:YES];
+        [addProfilePhotoImage setHidden:NO];
     }
 }
 
@@ -238,12 +236,9 @@
         auto smallImg = [NSImage imageResize:[photoView image] newSize:{100,100}];
         if (p.loadFromData(QByteArray::fromNSData([smallImg TIFFRepresentation]))) {
             profile->person()->setPhoto(QVariant(p));
-        } else {
-            auto defaultAvatar = [NSImage imageResize:[NSImage imageNamed:@"default_user_icon"] newSize:{100,100}];
-            p.loadFromData(QByteArray::fromNSData([defaultAvatar TIFFRepresentation]));
-            profile->person()->setPhoto(QVariant(p));
         }
         profile->save();
+
     }
 
     QModelIndex qIdx = AccountModel::instance().protocolModel()->selectionModel()->currentIndex();
diff --git a/src/RingWizardWC.mm b/src/RingWizardWC.mm
index bb4e101..73f81d3 100644
--- a/src/RingWizardWC.mm
+++ b/src/RingWizardWC.mm
@@ -19,7 +19,6 @@
 #import "RingWizardWC.h"
 
 //Cocoa
-#import <AddressBook/AddressBook.h>
 #import <Quartz/Quartz.h>
 
 
diff --git a/ui/Base.lproj/GeneralPrefs.xib b/ui/Base.lproj/GeneralPrefs.xib
index 8d732bc..54b163d 100644
--- a/ui/Base.lproj/GeneralPrefs.xib
+++ b/ui/Base.lproj/GeneralPrefs.xib
@@ -1,12 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="11762" systemVersion="16D30a" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14109" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
     <dependencies>
-        <development version="7000" identifier="xcode"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="11762"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14109"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
         <customObject id="-2" userLabel="File's Owner" customClass="GeneralPrefsVC">
             <connections>
+                <outlet property="addProfilePhotoImage" destination="3l7-TU-AMG" id="oQC-jN-JV0"/>
                 <outlet property="checkIntervalPopUp" destination="RYP-3d-PCa" id="JNO-GR-CV8"/>
                 <outlet property="historyChangedLabel" destination="Gyi-ID-Z3v" id="aoO-Fh-UCQ"/>
                 <outlet property="historyStepper" destination="QmA-ZI-ZL5" id="dDV-1G-rZs"/>
@@ -26,7 +27,7 @@
             <rect key="frame" x="0.0" y="0.0" width="502" height="421"/>
             <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
             <subviews>
-                <textField toolTip="Profile" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="MV1-AC-qE7">
+                <textField toolTip="Profile" horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="MV1-AC-qE7">
                     <rect key="frame" x="30" y="384" width="79" height="17"/>
                     <constraints>
                         <constraint firstAttribute="width" constant="75" id="Nj8-qG-TRL"/>
@@ -37,8 +38,8 @@
                         <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
                     </textFieldCell>
                 </textField>
-                <textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Mjw-8U-dzO">
-                    <rect key="frame" x="210" y="305" width="197" height="22"/>
+                <textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Mjw-8U-dzO">
+                    <rect key="frame" x="211" y="306" width="197" height="21"/>
                     <constraints>
                         <constraint firstAttribute="width" constant="197" id="pDD-Xk-k4K"/>
                     </constraints>
@@ -64,7 +65,7 @@
                         <binding destination="Sz0-vm-i3t" name="value" keyPath="values.enable_notifications" id="PuD-KZ-Zat"/>
                     </connections>
                 </button>
-                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="j3T-5j-Fom">
+                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="j3T-5j-Fom">
                     <rect key="frame" x="30" y="256" width="449" height="17"/>
                     <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Behaviours" id="Rzy-Gh-3wQ">
                         <font key="font" metaFont="systemBold"/>
@@ -108,7 +109,7 @@
                         <binding destination="Sz0-vm-i3t" name="value" keyPath="values.history_limit" id="c2j-mK-kYa"/>
                     </connections>
                 </stepper>
-                <textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="tHZ-7Q-5iP">
+                <textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="tHZ-7Q-5iP">
                     <rect key="frame" x="202" y="123" width="40" height="22"/>
                     <constraints>
                         <constraint firstAttribute="width" constant="40" id="Qal-Za-gWz"/>
@@ -126,7 +127,7 @@
                         </binding>
                     </connections>
                 </textField>
-                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="nah-Jm-ZYB">
+                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="nah-Jm-ZYB">
                     <rect key="frame" x="269" y="125" width="33" height="17"/>
                     <constraints>
                         <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="29" id="08C-IP-5pg"/>
@@ -153,7 +154,7 @@
                 <customView translatesAutoresizingMaskIntoConstraints="NO" id="yVO-jk-ay3">
                     <rect key="frame" x="20" y="20" width="462" height="61"/>
                     <subviews>
-                        <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="diX-uH-Ce8">
+                        <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="diX-uH-Ce8">
                             <rect key="frame" x="18" y="44" width="52" height="17"/>
                             <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Update" id="r4u-t3-gBc">
                                 <font key="font" metaFont="systemBold"/>
@@ -201,7 +202,7 @@
                         <constraint firstItem="diX-uH-Ce8" firstAttribute="top" secondItem="yVO-jk-ay3" secondAttribute="top" id="uF2-Tp-YBe"/>
                     </constraints>
                 </customView>
-                <textField hidden="YES" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Gyi-ID-Z3v">
+                <textField hidden="YES" horizontalHuggingPriority="251" verticalHuggingPriority="750" misplaced="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Gyi-ID-Z3v">
                     <rect key="frame" x="306" y="126" width="171" height="14"/>
                     <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="center" title="(Applied on application restart)" id="OTl-vx-S43">
                         <font key="font" metaFont="smallSystem"/>
@@ -209,7 +210,7 @@
                         <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
                     </textFieldCell>
                 </textField>
-                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="NO" textCompletion="NO" translatesAutoresizingMaskIntoConstraints="NO" id="fC0-ce-Yiz">
+                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" textCompletion="NO" translatesAutoresizingMaskIntoConstraints="NO" id="fC0-ce-Yiz">
                     <rect key="frame" x="18" y="147" width="399" height="17"/>
                     <constraints>
                         <constraint firstAttribute="width" constant="395" id="6HO-p7-tAk"/>
@@ -229,20 +230,21 @@
                         <binding destination="Sz0-vm-i3t" name="value" keyPath="values.window_behaviour" id="ZSW-he-LAz"/>
                     </connections>
                 </button>
-                <button translatesAutoresizingMaskIntoConstraints="NO" id="L6I-bx-LnN">
-                    <rect key="frame" x="132" y="281" width="70" height="70"/>
+                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="L6I-bx-LnN">
+                    <rect key="frame" x="132" y="281" width="71" height="70"/>
                     <constraints>
-                        <constraint firstAttribute="width" constant="70" id="gAI-0Z-pME"/>
+                        <constraint firstAttribute="height" constant="70" id="RFb-D4-827"/>
+                        <constraint firstAttribute="width" constant="71" id="gAI-0Z-pME"/>
                     </constraints>
-                    <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="NSUser" imagePosition="only" alignment="center" imageScaling="proportionallyUpOrDown" inset="2" id="8lT-0k-EYB">
+                    <buttonCell key="cell" type="inline" bezelStyle="inline" alignment="center" imageScaling="proportionallyUpOrDown" inset="2" id="8lT-0k-EYB">
                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
-                        <font key="font" metaFont="system"/>
+                        <font key="font" metaFont="system" size="10"/>
                     </buttonCell>
                     <connections>
                         <action selector="editPhoto:" target="-2" id="VuT-vf-PDV"/>
                     </connections>
                 </button>
-                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="c9L-Qb-bNK">
+                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="c9L-Qb-bNK">
                     <rect key="frame" x="42" y="359" width="482" height="17"/>
                     <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="This is shared with your contacts " id="vbU-2S-O58">
                         <font key="font" metaFont="system"/>
@@ -250,6 +252,14 @@
                         <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
                     </textFieldCell>
                 </textField>
+                <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="3l7-TU-AMG">
+                    <rect key="frame" x="153" y="302" width="30" height="30"/>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="30" id="3dM-RS-1SR"/>
+                        <constraint firstAttribute="width" constant="30" id="San-2A-6Wv"/>
+                    </constraints>
+                    <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="ic_picture" id="crR-s1-YoQ"/>
+                </imageView>
             </subviews>
             <constraints>
                 <constraint firstItem="QmA-ZI-ZL5" firstAttribute="centerY" secondItem="nah-Jm-ZYB" secondAttribute="centerY" id="2CN-A5-Lfs"/>
@@ -262,6 +272,7 @@
                 <constraint firstItem="Oth-up-2k2" firstAttribute="leading" secondItem="Is4-pD-LOT" secondAttribute="leading" id="Fdb-2p-ULe"/>
                 <constraint firstItem="c9L-Qb-bNK" firstAttribute="leading" secondItem="c22-O7-iKe" secondAttribute="leading" constant="44" id="Fei-kE-ggH"/>
                 <constraint firstItem="c9L-Qb-bNK" firstAttribute="trailing" secondItem="yVO-jk-ay3" secondAttribute="trailing" constant="40" id="GMc-d7-Qoe"/>
+                <constraint firstItem="3l7-TU-AMG" firstAttribute="centerY" secondItem="L6I-bx-LnN" secondAttribute="centerY" id="Hqj-y0-lOR"/>
                 <constraint firstItem="1Nr-L4-fcd" firstAttribute="top" secondItem="Is4-pD-LOT" secondAttribute="bottom" constant="13" id="IQl-Me-RRm"/>
                 <constraint firstItem="nah-Jm-ZYB" firstAttribute="leading" secondItem="QmA-ZI-ZL5" secondAttribute="trailing" constant="8" id="JJi-0O-nUi"/>
                 <constraint firstItem="tHZ-7Q-5iP" firstAttribute="top" secondItem="QmA-ZI-ZL5" secondAttribute="top" id="Jrk-f0-97K"/>
@@ -274,6 +285,7 @@
                 <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="Gyi-ID-Z3v" secondAttribute="trailing" constant="20" id="Z4C-x5-1Op"/>
                 <constraint firstItem="DgD-2y-4g5" firstAttribute="leading" secondItem="c22-O7-iKe" secondAttribute="leading" constant="58" id="aPM-dp-Eym"/>
                 <constraint firstAttribute="bottom" secondItem="yVO-jk-ay3" secondAttribute="bottom" constant="20" id="bAA-rc-QhB"/>
+                <constraint firstItem="3l7-TU-AMG" firstAttribute="centerX" secondItem="L6I-bx-LnN" secondAttribute="centerX" id="bNA-y1-w4O"/>
                 <constraint firstItem="tHZ-7Q-5iP" firstAttribute="leading" secondItem="DgD-2y-4g5" secondAttribute="trailing" constant="8" id="bV5-ZQ-94d"/>
                 <constraint firstItem="Oth-up-2k2" firstAttribute="leading" secondItem="1Nr-L4-fcd" secondAttribute="leading" id="csu-Ug-9sD"/>
                 <constraint firstItem="MV1-AC-qE7" firstAttribute="top" secondItem="c22-O7-iKe" secondAttribute="top" constant="20" symbolic="YES" id="eb5-W0-5Yr"/>
@@ -297,6 +309,6 @@
         <customObject id="VEJ-ic-3Ub" customClass="SUUpdater"/>
     </objects>
     <resources>
-        <image name="NSUser" width="32" height="32"/>
+        <image name="ic_picture" width="72" height="72"/>
     </resources>
 </document>
diff --git a/ui/Base.lproj/RingWizardNewAccount.xib b/ui/Base.lproj/RingWizardNewAccount.xib
index 86195d1..e65ca40 100644
--- a/ui/Base.lproj/RingWizardNewAccount.xib
+++ b/ui/Base.lproj/RingWizardNewAccount.xib
@@ -1,13 +1,14 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="12121" systemVersion="16G29" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14109" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
     <dependencies>
-        <development version="7000" identifier="xcode"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="12121"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14109"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
         <capability name="system font weights other than Regular or Bold" minToolsVersion="7.0"/>
     </dependencies>
     <objects>
         <customObject id="-2" userLabel="File's Owner" customClass="RingWizardNewAccountVC">
             <connections>
+                <outlet property="addProfilePhotoImage" destination="g1K-rU-VmV" id="LKE-YG-q8o"/>
                 <outlet property="creationView" destination="gKX-gX-nko" id="NrN-dl-Z6R"/>
                 <outlet property="displayNameField" destination="99y-na-GTj" id="5q8-Rc-7Hv"/>
                 <outlet property="helpBlockchainContainer" destination="ViR-CC-taB" id="JfQ-Sn-nC2"/>
@@ -30,32 +31,30 @@
             <rect key="frame" x="0.0" y="0.0" width="400" height="375"/>
             <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
             <subviews>
-                <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" setsMaxLayoutWidthAtFirstLayout="YES" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="jeO-GS-TdY">
-                    <rect key="frame" x="152" y="319" width="215" height="17"/>
+                <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" setsMaxLayoutWidthAtFirstLayout="YES" translatesAutoresizingMaskIntoConstraints="NO" id="jeO-GS-TdY">
+                    <rect key="frame" x="153" y="319" width="214" height="17"/>
                     <textFieldCell key="cell" controlSize="mini" sendsActionOnEndEditing="YES" alignment="left" title="Enter your full name" 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>
-                <button focusRingType="none" translatesAutoresizingMaskIntoConstraints="NO" id="vby-AD-tor">
-                    <rect key="frame" x="76" y="266" width="70" height="70"/>
+                <button focusRingType="none" horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="vby-AD-tor">
+                    <rect key="frame" x="76" y="266" width="71" 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="width" constant="71" id="ELE-xo-8Tx"/>
                         <constraint firstAttribute="height" constant="70" id="SD5-rB-QBD"/>
                     </constraints>
-                    <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="NSUser" imagePosition="only" alignment="center" focusRingType="none" imageScaling="proportionallyUpOrDown" inset="2" id="BTW-ug-E0p">
+                    <buttonCell key="cell" type="inline" bezelStyle="inline" 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"/>
+                        <font key="font" metaFont="smallSystemBold"/>
                     </buttonCell>
                     <connections>
                         <action selector="editPhoto:" target="-2" id="0AC-cZ-xCz"/>
                     </connections>
                 </button>
-                <textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="99y-na-GTj">
-                    <rect key="frame" x="154" y="289" width="200" height="22"/>
+                <textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="99y-na-GTj">
+                    <rect key="frame" x="155" y="289" width="200" height="22"/>
                     <constraints>
                         <constraint firstAttribute="width" constant="200" id="JX3-TK-cw0"/>
                     </constraints>
@@ -68,7 +67,15 @@
                         <outlet property="nextKeyView" destination="b0r-ri-6ZA" id="QvW-eh-Q2d"/>
                     </connections>
                 </textField>
-                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Nny-Rd-SVl">
+                <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="g1K-rU-VmV">
+                    <rect key="frame" x="96" y="287" width="30" height="30"/>
+                    <constraints>
+                        <constraint firstAttribute="width" constant="30" id="Jaq-dR-uDc"/>
+                        <constraint firstAttribute="height" constant="30" id="pcT-zj-yr9"/>
+                    </constraints>
+                    <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="ic_picture" id="mZY-aY-Y5g"/>
+                </imageView>
+                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Nny-Rd-SVl">
                     <rect key="frame" x="18" y="348" width="364" height="17"/>
                     <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Create your profile" id="gki-BR-jc3">
                         <font key="font" metaFont="systemSemibold" size="13"/>
@@ -76,7 +83,7 @@
                         <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
                     </textFieldCell>
                 </textField>
-                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="8hq-sG-FEh">
+                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="8hq-sG-FEh">
                     <rect key="frame" x="18" y="229" width="364" height="17"/>
                     <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Create your account" id="qQl-Xn-c88">
                         <font key="font" metaFont="systemSemibold" size="13"/>
@@ -84,7 +91,7 @@
                         <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
                     </textFieldCell>
                 </textField>
-                <textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="LVv-bg-Ols">
+                <textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="LVv-bg-Ols">
                     <rect key="frame" x="100" y="173" width="200" height="22"/>
                     <constraints>
                         <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="200" id="Fb8-ez-8VT"/>
@@ -107,7 +114,7 @@
                         <outlet property="nextKeyView" destination="ie2-fK-FsB" id="R1t-Gl-whB"/>
                     </connections>
                 </textField>
-                <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" setsMaxLayoutWidthAtFirstLayout="YES" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="hwE-M9-zUH">
+                <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" setsMaxLayoutWidthAtFirstLayout="YES" translatesAutoresizingMaskIntoConstraints="NO" id="hwE-M9-zUH">
                     <rect key="frame" x="98" y="148" width="204" height="17"/>
                     <constraints>
                         <constraint firstAttribute="width" constant="200" id="nga-zR-QQ3"/>
@@ -118,7 +125,7 @@
                         <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
                     </textFieldCell>
                 </textField>
-                <textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ie2-fK-FsB" customClass="NSSecureTextField">
+                <textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ie2-fK-FsB" customClass="NSSecureTextField">
                     <rect key="frame" x="100" y="118" width="200" height="22"/>
                     <constraints>
                         <constraint firstAttribute="width" constant="200" id="RoG-9m-EB3"/>
@@ -139,7 +146,7 @@
                         <outlet property="nextKeyView" destination="tXp-94-ns5" id="o2j-Ze-hno"/>
                     </connections>
                 </textField>
-                <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" setsMaxLayoutWidthAtFirstLayout="YES" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="yaf-61-UuK">
+                <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" setsMaxLayoutWidthAtFirstLayout="YES" translatesAutoresizingMaskIntoConstraints="NO" id="yaf-61-UuK">
                     <rect key="frame" x="102" y="89" width="196" height="17"/>
                     <constraints>
                         <constraint firstAttribute="width" constant="192" id="x3M-VB-dWw"/>
@@ -150,7 +157,7 @@
                         <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
                     </textFieldCell>
                 </textField>
-                <textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="tXp-94-ns5" customClass="NSSecureTextField">
+                <textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="tXp-94-ns5" customClass="NSSecureTextField">
                     <rect key="frame" x="100" y="59" width="200" height="22"/>
                     <constraints>
                         <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="200" id="K6O-5F-lrk"/>
@@ -186,7 +193,7 @@
                     </connections>
                 </imageView>
                 <button translatesAutoresizingMaskIntoConstraints="NO" id="b0r-ri-6ZA">
-                    <rect key="frame" x="67" y="201" width="267" height="18"/>
+                    <rect key="frame" x="66" y="201" width="268" height="18"/>
                     <buttonCell key="cell" type="check" title="Register public username (experimental)" 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"/>
@@ -310,6 +317,7 @@
                 <constraint firstItem="Nny-Rd-SVl" firstAttribute="leading" secondItem="gKX-gX-nko" secondAttribute="leading" constant="20" id="At4-FW-aZa"/>
                 <constraint firstItem="LVv-bg-Ols" firstAttribute="top" secondItem="b0r-ri-6ZA" secondAttribute="bottom" constant="8" id="CMV-NZ-PbM"/>
                 <constraint firstItem="rxZ-gN-ou1" firstAttribute="baseline" secondItem="ie2-fK-FsB" secondAttribute="baseline" id="DVQ-AM-l4O"/>
+                <constraint firstItem="g1K-rU-VmV" firstAttribute="centerX" secondItem="vby-AD-tor" secondAttribute="centerX" id="ERU-oX-yYL"/>
                 <constraint firstAttribute="trailing" secondItem="8hq-sG-FEh" secondAttribute="trailing" constant="20" id="EVS-8R-CR0"/>
                 <constraint firstItem="JGA-h8-Nhd" firstAttribute="top" secondItem="b0r-ri-6ZA" secondAttribute="bottom" constant="8" id="OG6-9B-XNN"/>
                 <constraint firstItem="WGe-uI-HhQ" firstAttribute="centerY" secondItem="b0r-ri-6ZA" secondAttribute="centerY" id="PNY-Dd-WE7"/>
@@ -328,6 +336,7 @@
                 <constraint firstItem="vby-AD-tor" firstAttribute="centerX" secondItem="gKX-gX-nko" secondAttribute="centerX" constant="-89" id="c2D-SD-zpf"/>
                 <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="g1K-rU-VmV" firstAttribute="centerY" secondItem="vby-AD-tor" secondAttribute="centerY" id="gKa-0L-f4d"/>
                 <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"/>
@@ -363,7 +372,7 @@
             <rect key="frame" x="0.0" y="0.0" width="413" height="70"/>
             <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
             <subviews>
-                <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" setsMaxLayoutWidthAtFirstLayout="YES" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1hK-Hw-cJh">
+                <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" setsMaxLayoutWidthAtFirstLayout="YES" translatesAutoresizingMaskIntoConstraints="NO" id="1hK-Hw-cJh">
                     <rect key="frame" x="34" y="7" width="344" height="17"/>
                     <constraints>
                         <constraint firstAttribute="width" constant="340" id="tHE-Zh-IYn"/>
@@ -398,7 +407,7 @@
             <rect key="frame" x="0.0" y="0.0" width="350" height="99"/>
             <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
             <subviews>
-                <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wsh-QZ-fXj">
+                <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="wsh-QZ-fXj">
                     <rect key="frame" x="18" y="20" width="314" height="59"/>
                     <constraints>
                         <constraint firstAttribute="height" constant="59" id="XRy-g1-xvh"/>
@@ -422,7 +431,7 @@
             <rect key="frame" x="0.0" y="0.0" width="348" height="102"/>
             <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
             <subviews>
-                <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="eOp-Af-ygv">
+                <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="eOp-Af-ygv">
                     <rect key="frame" x="18" y="20" width="312" height="62"/>
                     <constraints>
                         <constraint firstAttribute="height" constant="62" id="5mA-Bq-bMF"/>
@@ -444,7 +453,7 @@
         </customView>
     </objects>
     <resources>
-        <image name="NSUser" width="32" height="32"/>
         <image name="ic_action_accept" width="72" height="72"/>
+        <image name="ic_picture" width="72" height="72"/>
     </resources>
 </document>