IOS-1823 - Start layout implementation IOS-1823
authorMartin Brude
Wed, 05 Feb 2020 16:13:23 +0100
branchIOS-1823
changeset 116704f013cbb0114
parent 11668 7f2824d831eb
child 11671 7cd6dd6dc713
IOS-1823 - Start layout implementation
pEpForiOS/Base.lproj/Handshake.storyboard
pEpForiOS/Resources/Assets.xcassets/Trustwords/pEpForiOS-icon-languagechange.imageset/Contents.json
pEpForiOS/UI/Handshake/CellsAndSections/HandshakePartnerTableViewCell.swift
pEpForiOS/UI/Handshake/HandshakeViewController.swift
subModules/pEpIOSToolbox/pEpIOSToolbox/UIKit/UIColor+Extension.swift
     1.1 --- a/pEpForiOS/Base.lproj/Handshake.storyboard	Wed Feb 05 11:53:12 2020 +0100
     1.2 +++ b/pEpForiOS/Base.lproj/Handshake.storyboard	Wed Feb 05 16:13:23 2020 +0100
     1.3 @@ -1,9 +1,9 @@
     1.4  <?xml version="1.0" encoding="UTF-8"?>
     1.5 -<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="15505" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="PZt-VJ-X5t">
     1.6 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="15705" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="PZt-VJ-X5t">
     1.7      <device id="retina4_7" orientation="portrait" appearance="light"/>
     1.8      <dependencies>
     1.9          <deployment identifier="iOS"/>
    1.10 -        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15510"/>
    1.11 +        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15706"/>
    1.12          <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
    1.13      </dependencies>
    1.14      <scenes>
    1.15 @@ -16,15 +16,15 @@
    1.16                          <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
    1.17                          <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
    1.18                          <prototypes>
    1.19 -                            <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="handshakePartnerCell" rowHeight="297" id="amH-Dy-6D1" userLabel="HandshakePartnerCell" customClass="HandshakePartnerTableViewCell" customModule="pEpForiOS" customModuleProvider="target">
    1.20 -                                <rect key="frame" x="0.0" y="28" width="375" height="297"/>
    1.21 +                            <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="handshakePartnerCell" rowHeight="370" id="amH-Dy-6D1" userLabel="HandshakePartnerCell" customClass="HandshakePartnerTableViewCell" customModule="pEpForiOS" customModuleProvider="target">
    1.22 +                                <rect key="frame" x="0.0" y="28" width="375" height="370"/>
    1.23                                  <autoresizingMask key="autoresizingMask"/>
    1.24                                  <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="amH-Dy-6D1" id="sNy-KY-p78" userLabel="HandshakeContentView">
    1.25 -                                    <rect key="frame" x="0.0" y="0.0" width="375" height="297"/>
    1.26 +                                    <rect key="frame" x="0.0" y="0.0" width="375" height="370"/>
    1.27                                      <autoresizingMask key="autoresizingMask"/>
    1.28                                      <subviews>
    1.29                                          <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="20" translatesAutoresizingMaskIntoConstraints="NO" id="1sS-UJ-WGa" userLabel="OuterStackView">
    1.30 -                                            <rect key="frame" x="20" y="20" width="335" height="257"/>
    1.31 +                                            <rect key="frame" x="20" y="20" width="335" height="330"/>
    1.32                                              <subviews>
    1.33                                                  <stackView opaque="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="iKV-f0-ptX" userLabel="HeaderStackView">
    1.34                                                      <rect key="frame" x="0.0" y="0.0" width="335" height="70"/>
    1.35 @@ -93,24 +93,46 @@
    1.36                                                      </subviews>
    1.37                                                      <edgeInsets key="layoutMargins" top="0.0" left="8" bottom="0.0" right="8"/>
    1.38                                                  </stackView>
    1.39 -                                                <stackView opaque="NO" contentMode="scaleToFill" verticalCompressionResistancePriority="751" translatesAutoresizingMaskIntoConstraints="NO" id="YPS-lz-S3W" userLabel="TrustwordsStackView">
    1.40 +                                                <stackView opaque="NO" contentMode="scaleToFill" verticalCompressionResistancePriority="751" distribution="fillProportionally" spacing="20" translatesAutoresizingMaskIntoConstraints="NO" id="YPS-lz-S3W" userLabel="TrustwordsStackView">
    1.41                                                      <rect key="frame" x="0.0" y="152.5" width="335" height="42.5"/>
    1.42                                                      <subviews>
    1.43 -                                                        <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" verticalHuggingPriority="251" verticalCompressionResistancePriority="751" text="OUTDISTANCE BLAH BLAH2 BLAH3 BLAH4 BLAH5" textAlignment="natural" lineBreakMode="wordWrap" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="lHS-sc-yWR" userLabel="TrustWordsLabel">
    1.44 -                                                            <rect key="frame" x="8" y="0.0" width="319" height="42.5"/>
    1.45 -                                                            <accessibility key="accessibilityConfiguration" label="trustWordsLabel"/>
    1.46 -                                                            <fontDescription key="fontDescription" style="UICTFontTextStyleBody"/>
    1.47 -                                                            <nil key="textColor"/>
    1.48 -                                                            <nil key="highlightedColor"/>
    1.49 -                                                        </label>
    1.50 +                                                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="oHb-H9-PNk">
    1.51 +                                                            <rect key="frame" x="8" y="0.0" width="335" height="42.5"/>
    1.52 +                                                            <subviews>
    1.53 +                                                                <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" verticalHuggingPriority="251" verticalCompressionResistancePriority="751" text="OUTDISTANCE BLAH BLAH2 BLAH3 BLAH4 BLAH5" textAlignment="natural" lineBreakMode="wordWrap" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="lHS-sc-yWR" userLabel="TrustWordsLabel">
    1.54 +                                                                    <rect key="frame" x="0.0" y="0.0" width="225.5" height="42.5"/>
    1.55 +                                                                    <accessibility key="accessibilityConfiguration" label="trustWordsLabel"/>
    1.56 +                                                                    <fontDescription key="fontDescription" style="UICTFontTextStyleBody"/>
    1.57 +                                                                    <nil key="textColor"/>
    1.58 +                                                                    <nil key="highlightedColor"/>
    1.59 +                                                                </label>
    1.60 +                                                                <button opaque="NO" contentMode="scaleAspectFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="bc1-lD-IUt">
    1.61 +                                                                    <rect key="frame" x="295" y="0.0" width="30" height="30"/>
    1.62 +                                                                    <constraints>
    1.63 +                                                                        <constraint firstAttribute="height" constant="30" id="5jf-qy-DJU"/>
    1.64 +                                                                        <constraint firstAttribute="width" constant="30" id="SwW-Qu-BVt"/>
    1.65 +                                                                    </constraints>
    1.66 +                                                                    <state key="normal" image="pEpForiOS-icon-languagechange"/>
    1.67 +                                                                </button>
    1.68 +                                                            </subviews>
    1.69 +                                                            <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
    1.70 +                                                            <constraints>
    1.71 +                                                                <constraint firstAttribute="trailing" secondItem="bc1-lD-IUt" secondAttribute="trailing" constant="10" id="9li-zY-BHG"/>
    1.72 +                                                                <constraint firstItem="bc1-lD-IUt" firstAttribute="top" secondItem="lHS-sc-yWR" secondAttribute="top" id="FhM-EY-jLE"/>
    1.73 +                                                                <constraint firstItem="lHS-sc-yWR" firstAttribute="top" secondItem="oHb-H9-PNk" secondAttribute="top" id="HsM-f2-vRr"/>
    1.74 +                                                                <constraint firstItem="lHS-sc-yWR" firstAttribute="leading" secondItem="oHb-H9-PNk" secondAttribute="leading" id="IQg-lX-Xhx"/>
    1.75 +                                                                <constraint firstAttribute="bottom" secondItem="lHS-sc-yWR" secondAttribute="bottom" id="hao-RQ-tGl"/>
    1.76 +                                                                <constraint firstItem="bc1-lD-IUt" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="lHS-sc-yWR" secondAttribute="trailing" constant="30" id="n3z-6m-s4F"/>
    1.77 +                                                            </constraints>
    1.78 +                                                        </view>
    1.79                                                      </subviews>
    1.80                                                      <edgeInsets key="layoutMargins" top="0.0" left="8" bottom="0.0" right="8"/>
    1.81                                                  </stackView>
    1.82                                                  <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="gRz-Yh-xsS" userLabel="TrustButtonsView">
    1.83 -                                                    <rect key="frame" x="0.0" y="215" width="335" height="42"/>
    1.84 +                                                    <rect key="frame" x="0.0" y="215" width="335" height="36.5"/>
    1.85                                                      <subviews>
    1.86                                                          <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="wordWrap" translatesAutoresizingMaskIntoConstraints="NO" id="dbO-2K-SpB" userLabel="WrongButton">
    1.87 -                                                            <rect key="frame" x="5" y="0.0" width="60" height="42"/>
    1.88 +                                                            <rect key="frame" x="5" y="0.0" width="60" height="36.5"/>
    1.89                                                              <accessibility key="accessibilityConfiguration" label="wrongButton"/>
    1.90                                                              <fontDescription key="fontDescription" style="UICTFontTextStyleHeadline"/>
    1.91                                                              <state key="normal" title="Decline"/>
    1.92 @@ -119,7 +141,7 @@
    1.93                                                              </connections>
    1.94                                                          </button>
    1.95                                                          <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="wordWrap" translatesAutoresizingMaskIntoConstraints="NO" id="Jgi-7k-Ymf" userLabel="ConfirmButton">
    1.96 -                                                            <rect key="frame" x="75" y="4.5" width="65" height="33"/>
    1.97 +                                                            <rect key="frame" x="75" y="2" width="65" height="33"/>
    1.98                                                              <accessibility key="accessibilityConfiguration" label="confirmButton"/>
    1.99                                                              <fontDescription key="fontDescription" style="UICTFontTextStyleHeadline"/>
   1.100                                                              <state key="normal" title="Confirm"/>
   1.101 @@ -139,7 +161,40 @@
   1.102                                                          <constraint firstItem="Jgi-7k-Ymf" firstAttribute="leading" secondItem="dbO-2K-SpB" secondAttribute="trailing" constant="10" id="maE-k7-LXa"/>
   1.103                                                      </constraints>
   1.104                                                  </view>
   1.105 +                                                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="UNj-9e-eiX" userLabel="ResetContainer">
   1.106 +                                                    <rect key="frame" x="0.0" y="271.5" width="335" height="58.5"/>
   1.107 +                                                    <subviews>
   1.108 +                                                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Reset all pEp data for this comunication partner:" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="L03-Re-fn4" userLabel="Reset Label">
   1.109 +                                                            <rect key="frame" x="0.0" y="8" width="199.5" height="42.5"/>
   1.110 +                                                            <fontDescription key="fontDescription" style="UICTFontTextStyleBody"/>
   1.111 +                                                            <nil key="textColor"/>
   1.112 +                                                            <nil key="highlightedColor"/>
   1.113 +                                                        </label>
   1.114 +                                                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="ekO-aK-vFP">
   1.115 +                                                            <rect key="frame" x="207.5" y="13.5" width="54" height="32"/>
   1.116 +                                                            <color key="backgroundColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
   1.117 +                                                            <fontDescription key="fontDescription" type="system" pointSize="17"/>
   1.118 +                                                            <inset key="contentEdgeInsets" minX="5" minY="0.0" maxX="5" maxY="0.0"/>
   1.119 +                                                            <state key="normal" title="Reset">
   1.120 +                                                                <color key="titleColor" systemColor="tertiarySystemBackgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
   1.121 +                                                            </state>
   1.122 +                                                        </button>
   1.123 +                                                    </subviews>
   1.124 +                                                    <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
   1.125 +                                                    <constraints>
   1.126 +                                                        <constraint firstItem="L03-Re-fn4" firstAttribute="leading" secondItem="UNj-9e-eiX" secondAttribute="leading" id="3Ch-7r-I1a"/>
   1.127 +                                                        <constraint firstAttribute="bottom" secondItem="L03-Re-fn4" secondAttribute="bottom" constant="8" id="7fe-zD-5fZ"/>
   1.128 +                                                        <constraint firstItem="ekO-aK-vFP" firstAttribute="leading" secondItem="L03-Re-fn4" secondAttribute="trailing" constant="8" id="VUi-Wn-eJv"/>
   1.129 +                                                        <constraint firstItem="ekO-aK-vFP" firstAttribute="centerY" secondItem="UNj-9e-eiX" secondAttribute="centerY" id="Xt1-q4-Kqi"/>
   1.130 +                                                        <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="ekO-aK-vFP" secondAttribute="trailing" constant="8" id="qam-G7-eu8"/>
   1.131 +                                                        <constraint firstItem="L03-Re-fn4" firstAttribute="top" relation="greaterThanOrEqual" secondItem="UNj-9e-eiX" secondAttribute="top" constant="8" id="yqI-CS-vGg"/>
   1.132 +                                                    </constraints>
   1.133 +                                                </view>
   1.134                                              </subviews>
   1.135 +                                            <constraints>
   1.136 +                                                <constraint firstItem="UNj-9e-eiX" firstAttribute="top" secondItem="gRz-Yh-xsS" secondAttribute="bottom" constant="20" id="XtI-5b-OYd"/>
   1.137 +                                                <constraint firstItem="ekO-aK-vFP" firstAttribute="height" secondItem="Jgi-7k-Ymf" secondAttribute="height" multiplier="0.969697" id="uc2-Dk-Bb9"/>
   1.138 +                                            </constraints>
   1.139                                          </stackView>
   1.140                                      </subviews>
   1.141                                      <constraints>
   1.142 @@ -158,6 +213,7 @@
   1.143                                      <outlet property="partnerNameLabel" destination="hFh-wv-YAc" id="ZDB-k9-YM8"/>
   1.144                                      <outlet property="privacyStatusDescription" destination="eaF-0u-kGb" id="VWh-tP-wgG"/>
   1.145                                      <outlet property="privacyStatusTitle" destination="5RJ-Gx-qBT" id="0qJ-kY-o93"/>
   1.146 +                                    <outlet property="resetButton" destination="ekO-aK-vFP" id="D37-ra-PtE"/>
   1.147                                      <outlet property="trustButtonsView" destination="gRz-Yh-xsS" id="c51-8M-lin"/>
   1.148                                      <outlet property="trustWordsLabel" destination="lHS-sc-yWR" id="9rC-fg-eDL"/>
   1.149                                      <outlet property="wrongButton" destination="dbO-2K-SpB" id="Noy-9E-GaM"/>
   1.150 @@ -275,8 +331,180 @@
   1.151              </objects>
   1.152              <point key="canvasLocation" x="7548.75" y="338.02816901408448"/>
   1.153          </scene>
   1.154 +        <!--Handshake View Controller-->
   1.155 +        <scene sceneID="fkV-CG-vte">
   1.156 +            <objects>
   1.157 +                <tableViewController storyboardIdentifier="HandshakeViewControllerIDBackup" id="0Ip-9m-l0L" customClass="HandshakeViewController" customModule="pEpForiOS" customModuleProvider="target" sceneMemberID="viewController">
   1.158 +                    <tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="none" rowHeight="297" sectionHeaderHeight="28" sectionFooterHeight="28" id="ep9-du-3fS" userLabel="HandshakeTableView">
   1.159 +                        <rect key="frame" x="0.0" y="0.0" width="375" height="623"/>
   1.160 +                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
   1.161 +                        <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
   1.162 +                        <prototypes>
   1.163 +                            <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="handshakePartnerCell" rowHeight="297" id="pZQ-E5-Fvm" userLabel="HandshakePartnerCell" customClass="HandshakePartnerTableViewCell" customModule="pEpForiOS" customModuleProvider="target">
   1.164 +                                <rect key="frame" x="0.0" y="28" width="375" height="297"/>
   1.165 +                                <autoresizingMask key="autoresizingMask"/>
   1.166 +                                <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="pZQ-E5-Fvm" id="sPN-YF-uR0" userLabel="HandshakeContentView">
   1.167 +                                    <rect key="frame" x="0.0" y="0.0" width="375" height="297"/>
   1.168 +                                    <autoresizingMask key="autoresizingMask"/>
   1.169 +                                    <subviews>
   1.170 +                                        <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="20" translatesAutoresizingMaskIntoConstraints="NO" id="Mh4-dH-Wcq" userLabel="OuterStackView">
   1.171 +                                            <rect key="frame" x="20" y="20" width="335" height="257"/>
   1.172 +                                            <subviews>
   1.173 +                                                <stackView opaque="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="9nQ-ut-0sA" userLabel="HeaderStackView">
   1.174 +                                                    <rect key="frame" x="0.0" y="0.0" width="335" height="70"/>
   1.175 +                                                    <subviews>
   1.176 +                                                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="cCu-qf-E6U" userLabel="HeaderView">
   1.177 +                                                            <rect key="frame" x="8" y="0.0" width="319" height="70"/>
   1.178 +                                                            <subviews>
   1.179 +                                                                <imageView contentMode="scaleToFill" image="empty-avatar" translatesAutoresizingMaskIntoConstraints="NO" id="J1C-a2-SSq" userLabel="PartnerImage">
   1.180 +                                                                    <rect key="frame" x="0.0" y="0.0" width="64" height="64"/>
   1.181 +                                                                    <accessibility key="accessibilityConfiguration" identifier="partnerImageView"/>
   1.182 +                                                                    <constraints>
   1.183 +                                                                        <constraint firstAttribute="width" constant="64" id="3Mm-Dc-EUf"/>
   1.184 +                                                                        <constraint firstAttribute="height" constant="64" id="hNT-Xf-sWG"/>
   1.185 +                                                                    </constraints>
   1.186 +                                                                </imageView>
   1.187 +                                                                <label opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" text="Hannibal Chew" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="09t-aA-tQC" userLabel="PartnerNameLabel">
   1.188 +                                                                    <rect key="frame" x="78" y="15.5" width="221" height="33.5"/>
   1.189 +                                                                    <accessibility key="accessibilityConfiguration" identifier="partnerNameLabel"/>
   1.190 +                                                                    <fontDescription key="fontDescription" style="UICTFontTextStyleTitle1"/>
   1.191 +                                                                    <nil key="textColor"/>
   1.192 +                                                                    <nil key="highlightedColor"/>
   1.193 +                                                                </label>
   1.194 +                                                                <label opaque="NO" userInteractionEnabled="NO" contentMode="scaleToFill" text="Privacy Status: Mistrusted" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="lxW-c0-ELR" userLabel="PrivacyStatusLabel">
   1.195 +                                                                    <rect key="frame" x="78" y="57" width="221" height="18"/>
   1.196 +                                                                    <accessibility key="accessibilityConfiguration" identifier="privacyStatusTitle"/>
   1.197 +                                                                    <fontDescription key="fontDescription" style="UICTFontTextStyleSubhead"/>
   1.198 +                                                                    <nil key="textColor"/>
   1.199 +                                                                    <nil key="highlightedColor"/>
   1.200 +                                                                </label>
   1.201 +                                                                <imageView userInteractionEnabled="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="JCV-ct-xid">
   1.202 +                                                                    <rect key="frame" x="48" y="46" width="24" height="24"/>
   1.203 +                                                                    <accessibility key="accessibilityConfiguration" identifier="pEpStatusImageView"/>
   1.204 +                                                                    <constraints>
   1.205 +                                                                        <constraint firstAttribute="width" constant="24" id="fUr-rp-9sO"/>
   1.206 +                                                                        <constraint firstAttribute="width" secondItem="JCV-ct-xid" secondAttribute="height" multiplier="1:1" id="wLE-cK-h9t"/>
   1.207 +                                                                    </constraints>
   1.208 +                                                                </imageView>
   1.209 +                                                            </subviews>
   1.210 +                                                            <constraints>
   1.211 +                                                                <constraint firstItem="JCV-ct-xid" firstAttribute="top" secondItem="J1C-a2-SSq" secondAttribute="bottom" constant="-18" id="2Fq-k7-Hxx"/>
   1.212 +                                                                <constraint firstAttribute="trailing" secondItem="09t-aA-tQC" secondAttribute="trailing" constant="20" symbolic="YES" id="4v2-jO-DL8"/>
   1.213 +                                                                <constraint firstItem="JCV-ct-xid" firstAttribute="leading" secondItem="J1C-a2-SSq" secondAttribute="trailing" constant="-16" id="BfQ-No-kng"/>
   1.214 +                                                                <constraint firstAttribute="bottom" secondItem="JCV-ct-xid" secondAttribute="bottom" id="MVE-At-l71"/>
   1.215 +                                                                <constraint firstItem="J1C-a2-SSq" firstAttribute="top" secondItem="cCu-qf-E6U" secondAttribute="top" id="MXa-jM-LAG"/>
   1.216 +                                                                <constraint firstItem="lxW-c0-ELR" firstAttribute="top" secondItem="09t-aA-tQC" secondAttribute="bottom" constant="8" symbolic="YES" id="PiL-vd-hZC"/>
   1.217 +                                                                <constraint firstItem="J1C-a2-SSq" firstAttribute="leading" secondItem="cCu-qf-E6U" secondAttribute="leading" id="T6M-yp-QH4"/>
   1.218 +                                                                <constraint firstItem="09t-aA-tQC" firstAttribute="centerY" secondItem="J1C-a2-SSq" secondAttribute="centerY" id="XxT-wb-Dzb"/>
   1.219 +                                                                <constraint firstItem="lxW-c0-ELR" firstAttribute="leading" secondItem="09t-aA-tQC" secondAttribute="leading" id="e4E-4e-9AL"/>
   1.220 +                                                                <constraint firstItem="09t-aA-tQC" firstAttribute="leading" secondItem="J1C-a2-SSq" secondAttribute="trailing" constant="14" id="kXx-XH-c9c"/>
   1.221 +                                                                <constraint firstAttribute="trailing" secondItem="lxW-c0-ELR" secondAttribute="trailing" constant="20" symbolic="YES" id="rTg-JV-nBq"/>
   1.222 +                                                            </constraints>
   1.223 +                                                        </view>
   1.224 +                                                    </subviews>
   1.225 +                                                    <edgeInsets key="layoutMargins" top="0.0" left="8" bottom="0.0" right="8"/>
   1.226 +                                                </stackView>
   1.227 +                                                <stackView opaque="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="QvL-bh-yvk" userLabel="PrivacyStatusDescriptionStackView">
   1.228 +                                                    <rect key="frame" x="0.0" y="90" width="335" height="42.5"/>
   1.229 +                                                    <subviews>
   1.230 +                                                        <label opaque="NO" userInteractionEnabled="NO" contentMode="scaleToFill" verticalHuggingPriority="251" text="Your communication partner is mistrusted." textAlignment="natural" lineBreakMode="wordWrap" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="AEF-eh-au8" userLabel="PrivacyStatusDescription">
   1.231 +                                                            <rect key="frame" x="8" y="0.0" width="319" height="42.5"/>
   1.232 +                                                            <accessibility key="accessibilityConfiguration" identifier="privacyStatusDescription"/>
   1.233 +                                                            <fontDescription key="fontDescription" style="UICTFontTextStyleBody"/>
   1.234 +                                                            <nil key="textColor"/>
   1.235 +                                                            <nil key="highlightedColor"/>
   1.236 +                                                        </label>
   1.237 +                                                    </subviews>
   1.238 +                                                    <edgeInsets key="layoutMargins" top="0.0" left="8" bottom="0.0" right="8"/>
   1.239 +                                                </stackView>
   1.240 +                                                <stackView opaque="NO" contentMode="scaleToFill" verticalCompressionResistancePriority="751" translatesAutoresizingMaskIntoConstraints="NO" id="jWj-X3-tJ4" userLabel="TrustwordsStackView">
   1.241 +                                                    <rect key="frame" x="0.0" y="152.5" width="335" height="42.5"/>
   1.242 +                                                    <subviews>
   1.243 +                                                        <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" verticalHuggingPriority="251" verticalCompressionResistancePriority="751" text="OUTDISTANCE BLAH BLAH2 BLAH3 BLAH4 BLAH5" textAlignment="natural" lineBreakMode="wordWrap" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="nQL-Rt-BYc" userLabel="TrustWordsLabel">
   1.244 +                                                            <rect key="frame" x="8" y="0.0" width="319" height="42.5"/>
   1.245 +                                                            <accessibility key="accessibilityConfiguration" label="trustWordsLabel"/>
   1.246 +                                                            <fontDescription key="fontDescription" style="UICTFontTextStyleBody"/>
   1.247 +                                                            <nil key="textColor"/>
   1.248 +                                                            <nil key="highlightedColor"/>
   1.249 +                                                        </label>
   1.250 +                                                    </subviews>
   1.251 +                                                    <edgeInsets key="layoutMargins" top="0.0" left="8" bottom="0.0" right="8"/>
   1.252 +                                                </stackView>
   1.253 +                                                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Hyh-gp-iaw" userLabel="TrustButtonsView">
   1.254 +                                                    <rect key="frame" x="0.0" y="215" width="335" height="42"/>
   1.255 +                                                    <subviews>
   1.256 +                                                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="wordWrap" translatesAutoresizingMaskIntoConstraints="NO" id="r8h-lW-JHG" userLabel="WrongButton">
   1.257 +                                                            <rect key="frame" x="5" y="0.0" width="60" height="42"/>
   1.258 +                                                            <accessibility key="accessibilityConfiguration" label="wrongButton"/>
   1.259 +                                                            <fontDescription key="fontDescription" style="UICTFontTextStyleHeadline"/>
   1.260 +                                                            <state key="normal" title="Decline"/>
   1.261 +                                                            <connections>
   1.262 +                                                                <action selector="wrongAction:" destination="pZQ-E5-Fvm" eventType="touchUpInside" id="RIQ-M9-CqO"/>
   1.263 +                                                            </connections>
   1.264 +                                                        </button>
   1.265 +                                                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="wordWrap" translatesAutoresizingMaskIntoConstraints="NO" id="cg5-Bc-kiM" userLabel="ConfirmButton">
   1.266 +                                                            <rect key="frame" x="75" y="4.5" width="65" height="33"/>
   1.267 +                                                            <accessibility key="accessibilityConfiguration" label="confirmButton"/>
   1.268 +                                                            <fontDescription key="fontDescription" style="UICTFontTextStyleHeadline"/>
   1.269 +                                                            <state key="normal" title="Confirm"/>
   1.270 +                                                            <connections>
   1.271 +                                                                <action selector="confirmAction:" destination="pZQ-E5-Fvm" eventType="touchUpInside" id="7zn-2q-jfV"/>
   1.272 +                                                            </connections>
   1.273 +                                                        </button>
   1.274 +                                                    </subviews>
   1.275 +                                                    <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
   1.276 +                                                    <constraints>
   1.277 +                                                        <constraint firstItem="r8h-lW-JHG" firstAttribute="leading" secondItem="Hyh-gp-iaw" secondAttribute="leading" constant="5" id="9i7-A6-IWV"/>
   1.278 +                                                        <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="cg5-Bc-kiM" secondAttribute="trailing" constant="10" id="IdA-RJ-NKO"/>
   1.279 +                                                        <constraint firstItem="cg5-Bc-kiM" firstAttribute="firstBaseline" secondItem="r8h-lW-JHG" secondAttribute="firstBaseline" id="NRZ-LN-PEt"/>
   1.280 +                                                        <constraint firstItem="r8h-lW-JHG" firstAttribute="top" secondItem="Hyh-gp-iaw" secondAttribute="top" id="SGg-2Y-tFJ"/>
   1.281 +                                                        <constraint firstItem="cg5-Bc-kiM" firstAttribute="leading" secondItem="r8h-lW-JHG" secondAttribute="trailing" constant="10" id="eRf-8e-4gy"/>
   1.282 +                                                        <constraint firstItem="cg5-Bc-kiM" firstAttribute="width" secondItem="r8h-lW-JHG" secondAttribute="width" multiplier="1.08333" id="eUP-Ef-cbY"/>
   1.283 +                                                        <constraint firstAttribute="bottom" secondItem="r8h-lW-JHG" secondAttribute="bottom" id="uIM-H6-Bif"/>
   1.284 +                                                    </constraints>
   1.285 +                                                </view>
   1.286 +                                            </subviews>
   1.287 +                                        </stackView>
   1.288 +                                    </subviews>
   1.289 +                                    <constraints>
   1.290 +                                        <constraint firstItem="Mh4-dH-Wcq" firstAttribute="top" secondItem="sPN-YF-uR0" secondAttribute="top" priority="999" constant="20" symbolic="YES" id="03h-yM-41W"/>
   1.291 +                                        <constraint firstAttribute="bottom" secondItem="Mh4-dH-Wcq" secondAttribute="bottom" priority="999" constant="20" symbolic="YES" id="42m-T0-36L"/>
   1.292 +                                        <constraint firstItem="Mh4-dH-Wcq" firstAttribute="leading" secondItem="sPN-YF-uR0" secondAttribute="leading" constant="20" symbolic="YES" id="D4V-BJ-2L0"/>
   1.293 +                                        <constraint firstItem="Mh4-dH-Wcq" firstAttribute="centerX" secondItem="sPN-YF-uR0" secondAttribute="centerX" id="h1H-Pk-lEr"/>
   1.294 +                                        <constraint firstAttribute="trailing" secondItem="Mh4-dH-Wcq" secondAttribute="trailing" constant="20" symbolic="YES" id="w90-Qe-pvW"/>
   1.295 +                                    </constraints>
   1.296 +                                </tableViewCellContentView>
   1.297 +                                <accessibility key="accessibilityConfiguration" identifier="handshakePartnerCell"/>
   1.298 +                                <connections>
   1.299 +                                    <outlet property="confirmButton" destination="cg5-Bc-kiM" id="6It-Vb-0Zi"/>
   1.300 +                                    <outlet property="pEpStatusImageView" destination="JCV-ct-xid" id="zZj-0y-NId"/>
   1.301 +                                    <outlet property="partnerImageView" destination="J1C-a2-SSq" id="Wnm-pE-0qy"/>
   1.302 +                                    <outlet property="partnerNameLabel" destination="09t-aA-tQC" id="v6E-5u-fT3"/>
   1.303 +                                    <outlet property="privacyStatusDescription" destination="AEF-eh-au8" id="VdY-eg-Pad"/>
   1.304 +                                    <outlet property="privacyStatusTitle" destination="lxW-c0-ELR" id="gxA-8M-AnN"/>
   1.305 +                                    <outlet property="trustButtonsView" destination="Hyh-gp-iaw" id="NXi-k7-OFw"/>
   1.306 +                                    <outlet property="trustWordsLabel" destination="nQL-Rt-BYc" id="8Do-29-xSX"/>
   1.307 +                                    <outlet property="wrongButton" destination="r8h-lW-JHG" id="Mvf-8n-G7Z"/>
   1.308 +                                </connections>
   1.309 +                            </tableViewCell>
   1.310 +                        </prototypes>
   1.311 +                        <connections>
   1.312 +                            <outlet property="dataSource" destination="0Ip-9m-l0L" id="9vi-NI-AUt"/>
   1.313 +                            <outlet property="delegate" destination="0Ip-9m-l0L" id="Tdi-qx-Rlk"/>
   1.314 +                        </connections>
   1.315 +                    </tableView>
   1.316 +                    <extendedEdge key="edgesForExtendedLayout" bottom="YES"/>
   1.317 +                    <navigationItem key="navigationItem" id="mpP-rv-kjh"/>
   1.318 +                    <simulatedNavigationBarMetrics key="simulatedTopBarMetrics" prompted="NO"/>
   1.319 +                    <simulatedToolbarMetrics key="simulatedBottomBarMetrics"/>
   1.320 +                </tableViewController>
   1.321 +                <placeholder placeholderIdentifier="IBFirstResponder" id="UFC-BE-nJ5" userLabel="First Responder" sceneMemberID="firstResponder"/>
   1.322 +            </objects>
   1.323 +            <point key="canvasLocation" x="8545" y="1045"/>
   1.324 +        </scene>
   1.325      </scenes>
   1.326      <resources>
   1.327          <image name="empty-avatar" width="150" height="150"/>
   1.328 +        <image name="pEpForiOS-icon-languagechange" width="100" height="100"/>
   1.329      </resources>
   1.330  </document>
     2.1 --- a/pEpForiOS/Resources/Assets.xcassets/Trustwords/pEpForiOS-icon-languagechange.imageset/Contents.json	Wed Feb 05 11:53:12 2020 +0100
     2.2 +++ b/pEpForiOS/Resources/Assets.xcassets/Trustwords/pEpForiOS-icon-languagechange.imageset/Contents.json	Wed Feb 05 16:13:23 2020 +0100
     2.3 @@ -2,16 +2,7 @@
     2.4    "images" : [
     2.5      {
     2.6        "idiom" : "universal",
     2.7 -      "filename" : "pEpForiOS-icon-languagechange.pdf",
     2.8 -      "scale" : "1x"
     2.9 -    },
    2.10 -    {
    2.11 -      "idiom" : "universal",
    2.12 -      "scale" : "2x"
    2.13 -    },
    2.14 -    {
    2.15 -      "idiom" : "universal",
    2.16 -      "scale" : "3x"
    2.17 +      "filename" : "pEpForiOS-icon-languagechange.pdf"
    2.18      }
    2.19    ],
    2.20    "info" : {
     3.1 --- a/pEpForiOS/UI/Handshake/CellsAndSections/HandshakePartnerTableViewCell.swift	Wed Feb 05 11:53:12 2020 +0100
     3.2 +++ b/pEpForiOS/UI/Handshake/CellsAndSections/HandshakePartnerTableViewCell.swift	Wed Feb 05 16:13:23 2020 +0100
     3.3 @@ -39,6 +39,7 @@
     3.4  }
     3.5  
     3.6  class HandshakePartnerTableViewCell: UITableViewCell {
     3.7 +    @IBOutlet weak var resetButton: UIButton!
     3.8      @IBOutlet weak var confirmButton: UIButton!
     3.9      @IBOutlet weak var wrongButton: UIButton!
    3.10      @IBOutlet weak var partnerImageView: UIImageView!
    3.11 @@ -88,6 +89,7 @@
    3.12          updateConfirmDistrustButtonsTitle()
    3.13          wrongButton.pEpIfyForTrust(backgroundColor: UIColor.pEpRed, textColor: .white)
    3.14          confirmButton.pEpIfyForTrust(backgroundColor: UIColor.pEpGreen, textColor: .white)
    3.15 +        resetButton.pEpIfyForTrust(backgroundColor: UIColor.pEpGrayBackgroundReset, textColor: .white)
    3.16          addMultilineButtonConstraints(button: wrongButton)
    3.17          addMultilineButtonConstraints(button: confirmButton)
    3.18      }
    3.19 @@ -152,11 +154,12 @@
    3.20          view.addGestureRecognizer(gestureRecognizer)
    3.21      }
    3.22  
    3.23 -    func updateTrustwords() {
    3.24 +    func updateTrustwords() {        
    3.25          let showElipsis = isPartnerPEPUser && !trustwordsFull
    3.26          if showElipsis,
    3.27              let trustwords = viewModel?.trustwords {
    3.28 -            trustWordsLabel.text = "\(trustwords) …"
    3.29 +            let spacedTrustwords = trustwords.replacingOccurrences(of: " ", with: "   ")
    3.30 +            trustWordsLabel.text = "\(spacedTrustwords) …"
    3.31          } else {
    3.32              trustWordsLabel.text = viewModel?.trustwords
    3.33          }
     4.1 --- a/pEpForiOS/UI/Handshake/HandshakeViewController.swift	Wed Feb 05 11:53:12 2020 +0100
     4.2 +++ b/pEpForiOS/UI/Handshake/HandshakeViewController.swift	Wed Feb 05 16:13:23 2020 +0100
     4.3 @@ -47,8 +47,10 @@
     4.4          tableView.estimatedRowHeight = 200.0
     4.5          tableView.rowHeight = UITableView.automaticDimension
     4.6  
     4.7 -        self.navigationItem.rightBarButtonItems = [languageButton()]
     4.8 +//        self.navigationItem.rightBarButtonItems = [languageButton()]
     4.9 +        self.navigationItem.rightBarButtonItems = [optionsButton()]
    4.10  
    4.11 +        
    4.12          let leftItem = UIBarButtonItem(customView: backButton())
    4.13          self.navigationItem.leftBarButtonItem = leftItem
    4.14          navigationController?.navigationBar.isTranslucent = false
    4.15 @@ -177,6 +179,16 @@
    4.16          addLanguageButtonView(parentView: button)
    4.17          return UIBarButtonItem(customView: button)
    4.18      }
    4.19 +    
    4.20 +    private func optionsButton() -> UIBarButtonItem {
    4.21 +        let button = UIButton(type: .custom)
    4.22 +        button.addTarget(self,
    4.23 +                         action: #selector(self.languageSelectedAction(_:)),
    4.24 +                         for: .touchUpInside)
    4.25 +        let text = NSLocalizedString("Remove", comment: "Remove")
    4.26 +        button.setTitle(text, for: .normal)
    4.27 +        return UIBarButtonItem(customView: button)
    4.28 +    }
    4.29  
    4.30      private func backButton() -> UIButton {
    4.31          let img2 = UIImage(named: "arrow-rgt-active")
     5.1 --- a/subModules/pEpIOSToolbox/pEpIOSToolbox/UIKit/UIColor+Extension.swift	Wed Feb 05 11:53:12 2020 +0100
     5.2 +++ b/subModules/pEpIOSToolbox/pEpIOSToolbox/UIKit/UIColor+Extension.swift	Wed Feb 05 16:13:23 2020 +0100
     5.3 @@ -21,7 +21,8 @@
     5.4      public static let pEpLightBackgroundHex = "#F2F2F2"
     5.5      public static let pEpNavigationBarColor = "#f7f7f7"
     5.6      public static let pEpBlueHex = "#007AFF"
     5.7 -
     5.8 +    public static let pEpGrayBackgroundResetHex = "#c8c7cc"
     5.9 +    
    5.10      public static var pEpGreen = UIColor(hexString: pEpGreenHex)
    5.11      public static var pEpDarkGreen = UIColor(hexString: pEpDarkGreenHex)
    5.12      public static var pEpRed = UIColor(hexString: pEpRedHex)
    5.13 @@ -31,8 +32,10 @@
    5.14      public static var pEpGreyLines = UIColor(hexString: pEpGreyLinesHex)
    5.15      public static var pEpGreyButtonLines = UIColor(hexString: pEpGreyButtonLinesHex)
    5.16      public static var pEpGreyText = UIColor(hexString: pEpGreyTextHex)
    5.17 +    
    5.18      public static var pEpGreyBackground = UIColor(hexString: pEpGreyBackgroundHex)
    5.19      public static var pEpBlue = UIColor(hexString: pEpBlueHex)
    5.20 +    public static var pEpGrayBackgroundReset = UIColor(hexString: pEpGrayBackgroundResetHex)
    5.21  
    5.22      public static let AppleRed =
    5.23                  UIColor(red: 255/255.0, green: 59/255, blue: 48/255.0, alpha: 1.0)