mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-20 12:45:35 +00:00
Clean up option sheet logic
This commit is contained in:
@@ -39,7 +39,7 @@
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="603"/>
|
||||
</imageView>
|
||||
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="81" sectionHeaderHeight="22" sectionFooterHeight="22" translatesAutoresizingMaskIntoConstraints="NO" id="OXU-ft-TXZ">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="397.5"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="400.5"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<view key="tableHeaderView" contentMode="scaleToFill" id="mhw-sY-eah" userLabel="Header View">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="52"/>
|
||||
@@ -143,7 +143,7 @@
|
||||
</connections>
|
||||
</tableView>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="kz1-Nl-j1h" userLabel="Button View" customClass="GradientView" customModule="SAPTracker" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="397.5" width="375" height="205.5"/>
|
||||
<rect key="frame" x="0.0" y="400.5" width="375" height="202.5"/>
|
||||
<subviews>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Ieu-ch-jeI">
|
||||
<rect key="frame" x="20" y="20" width="335" height="82"/>
|
||||
@@ -198,7 +198,7 @@
|
||||
</connections>
|
||||
</button>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Info Code Label" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" minimumScaleFactor="0.5" adjustsLetterSpacingToFitWidth="YES" preferredMaxLayoutWidth="0.0" translatesAutoresizingMaskIntoConstraints="NO" id="OqX-q3-43s">
|
||||
<rect key="frame" x="20" y="166" width="335" height="19.5"/>
|
||||
<rect key="frame" x="20" y="166" width="335" height="16.5"/>
|
||||
<fontDescription key="fontDescription" name="OpenSans" family="Open Sans" pointSize="14"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
@@ -617,7 +617,7 @@
|
||||
</connections>
|
||||
</button>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Name Label" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" minimumFontSize="12" adjustsLetterSpacingToFitWidth="YES" preferredMaxLayoutWidth="0.0" translatesAutoresizingMaskIntoConstraints="NO" id="68H-E2-rnx">
|
||||
<rect key="frame" x="129" y="290" width="117" height="22"/>
|
||||
<rect key="frame" x="131" y="290" width="113" height="22"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="22" id="WgF-06-lB0"/>
|
||||
</constraints>
|
||||
@@ -654,6 +654,7 @@
|
||||
</barButtonItem>
|
||||
</navigationItem>
|
||||
<connections>
|
||||
<outlet property="optionButton" destination="eom-UN-CnO" id="qdb-Yd-A6o"/>
|
||||
<outlet property="startTrackingButton" destination="e6j-2H-QrX" id="nhE-ml-oLW"/>
|
||||
<outlet property="trainingNameLabel" destination="68H-E2-rnx" id="1p1-q8-8mJ"/>
|
||||
<segue destination="I54-NN-JAf" kind="presentation" identifier="Tracking" id="gEw-ml-Ejg"/>
|
||||
@@ -874,7 +875,7 @@
|
||||
</connections>
|
||||
</button>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Mark Name Label" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" minimumFontSize="12" adjustsLetterSpacingToFitWidth="YES" preferredMaxLayoutWidth="0.0" translatesAutoresizingMaskIntoConstraints="NO" id="BQe-Id-ec3">
|
||||
<rect key="frame" x="101.5" y="290.5" width="173" height="22"/>
|
||||
<rect key="frame" x="104.5" y="290.5" width="166.5" height="22"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="22" id="g3A-7J-yFy"/>
|
||||
</constraints>
|
||||
@@ -909,6 +910,7 @@
|
||||
</navigationItem>
|
||||
<connections>
|
||||
<outlet property="markNameLabel" destination="BQe-Id-ec3" id="veh-f3-mX9"/>
|
||||
<outlet property="optionButton" destination="FnI-e8-tps" id="olq-9e-t4B"/>
|
||||
<outlet property="startTrackingButton" destination="OCn-GA-zIR" id="1gb-cj-Uwg"/>
|
||||
<segue destination="I54-NN-JAf" kind="presentation" identifier="Tracking" id="LsB-Xh-501"/>
|
||||
<segue destination="dfN-Ch-vpm" kind="presentation" identifier="About" id="DI8-aY-hHi"/>
|
||||
@@ -942,19 +944,19 @@
|
||||
<rect key="frame" x="0.0" y="272" width="375" height="38"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Sail ID Label" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" preferredMaxLayoutWidth="0.0" translatesAutoresizingMaskIntoConstraints="NO" id="iIf-9z-7fe">
|
||||
<rect key="frame" x="258" y="8.5" width="97" height="22"/>
|
||||
<rect key="frame" x="265.5" y="10" width="89.5" height="19"/>
|
||||
<fontDescription key="fontDescription" name="OpenSans-Bold" family="Open Sans" pointSize="16"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="DE.png" translatesAutoresizingMaskIntoConstraints="NO" id="szG-Mg-huO">
|
||||
<rect key="frame" x="226" y="7" width="24" height="24"/>
|
||||
<rect key="frame" x="233.5" y="7" width="24" height="24"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="24" id="Ina-uK-atY"/>
|
||||
<constraint firstAttribute="height" constant="24" id="TVX-WF-dOi"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Competitor Label" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" preferredMaxLayoutWidth="0.0" translatesAutoresizingMaskIntoConstraints="NO" id="oJS-dM-2B6" userLabel="Name Label">
|
||||
<rect key="frame" x="20" y="8.5" width="139" height="22"/>
|
||||
<rect key="frame" x="20" y="10" width="124.5" height="19"/>
|
||||
<fontDescription key="fontDescription" name="OpenSans-Bold" family="Open Sans" pointSize="16"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
@@ -1013,7 +1015,7 @@
|
||||
</connections>
|
||||
</button>
|
||||
<button hidden="YES" opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="1" verticalHuggingPriority="1" horizontalCompressionResistancePriority="999" verticalCompressionResistancePriority="999" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="clip" translatesAutoresizingMaskIntoConstraints="NO" id="CDA-ep-bjo">
|
||||
<rect key="frame" x="66" y="115.5" width="243" height="41"/>
|
||||
<rect key="frame" x="70" y="116" width="235" height="40"/>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="0.5" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<fontDescription key="fontDescription" name="OpenSans" family="Open Sans" pointSize="18"/>
|
||||
<inset key="contentEdgeInsets" minX="8" minY="8" maxX="8" maxY="8"/>
|
||||
@@ -1080,24 +1082,24 @@
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="6rV-hv-c3D" userLabel="Countdown View">
|
||||
<rect key="frame" x="6" y="38" width="363" height="50"/>
|
||||
<rect key="frame" x="13.5" y="38" width="349.5" height="50"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="pjH-rV-MGI" userLabel="Days View">
|
||||
<rect key="frame" x="0.0" y="0.0" width="121" height="50"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="116.5" height="50"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="356" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" adjustsLetterSpacingToFitWidth="YES" translatesAutoresizingMaskIntoConstraints="NO" id="sGD-0U-P4b">
|
||||
<rect key="frame" x="8" y="0.0" width="104" height="29"/>
|
||||
<rect key="frame" x="8" y="0.0" width="99.5" height="24.5"/>
|
||||
<fontDescription key="fontDescription" name="OpenSans-Semibold" family="Open Sans" pointSize="21"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Days Label" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="l8F-Sg-cUb" userLabel="Days Description Label">
|
||||
<rect key="frame" x="8" y="28" width="104" height="22"/>
|
||||
<rect key="frame" x="8" y="31" width="99.5" height="19"/>
|
||||
<fontDescription key="fontDescription" name="OpenSans" family="Open Sans" pointSize="16"/>
|
||||
<color key="textColor" red="0.33333333333333331" green="0.33333333333333331" blue="0.33333333333333331" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="joW-cG-ai8" userLabel="Separator View">
|
||||
<rect key="frame" x="120" y="10" width="1" height="30"/>
|
||||
<rect key="frame" x="115.5" y="10" width="1" height="30"/>
|
||||
<color key="backgroundColor" red="0.77900850772857666" green="0.78811043500900269" blue="0.79274082183837891" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="30" id="Jj2-tX-SU9"/>
|
||||
@@ -1117,21 +1119,21 @@
|
||||
</constraints>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="5is-0I-Kv3" userLabel="Hours View">
|
||||
<rect key="frame" x="121" y="0.0" width="121" height="50"/>
|
||||
<rect key="frame" x="116.5" y="0.0" width="116.5" height="50"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="24" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" adjustsLetterSpacingToFitWidth="YES" translatesAutoresizingMaskIntoConstraints="NO" id="gaG-Iv-Xyq">
|
||||
<rect key="frame" x="8" y="0.0" width="105" height="29"/>
|
||||
<rect key="frame" x="8" y="0.0" width="100.5" height="24.5"/>
|
||||
<fontDescription key="fontDescription" name="OpenSans-Semibold" family="Open Sans" pointSize="21"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Hours Label" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="c2J-Uj-KEg" userLabel="Hours Description Label">
|
||||
<rect key="frame" x="8" y="28" width="105" height="22"/>
|
||||
<rect key="frame" x="8" y="31" width="100.5" height="19"/>
|
||||
<fontDescription key="fontDescription" name="OpenSans" family="Open Sans" pointSize="16"/>
|
||||
<color key="textColor" red="0.33333333333333331" green="0.33333333333333331" blue="0.33333333333333331" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="JBv-xm-KUq" userLabel="Separator View">
|
||||
<rect key="frame" x="120" y="10" width="1" height="30"/>
|
||||
<rect key="frame" x="115.5" y="10" width="1" height="30"/>
|
||||
<color key="backgroundColor" red="0.81960784313725488" green="0.82745098039215681" blue="0.83137254901960778" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="1" id="Gck-dw-et7"/>
|
||||
@@ -1151,15 +1153,15 @@
|
||||
</constraints>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="tvc-eS-Us6" userLabel="Minutes View">
|
||||
<rect key="frame" x="242" y="0.0" width="121" height="50"/>
|
||||
<rect key="frame" x="233" y="0.0" width="116.5" height="50"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="59" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" adjustsLetterSpacingToFitWidth="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Txm-uf-MP4">
|
||||
<rect key="frame" x="8" y="0.0" width="105" height="29"/>
|
||||
<rect key="frame" x="8" y="0.0" width="100.5" height="24.5"/>
|
||||
<fontDescription key="fontDescription" name="OpenSans-Semibold" family="Open Sans" pointSize="21"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Minutes Label" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="EES-a9-qxv" userLabel="Minutes Description Label">
|
||||
<rect key="frame" x="8" y="28" width="105" height="22"/>
|
||||
<rect key="frame" x="8" y="31" width="100.5" height="19"/>
|
||||
<fontDescription key="fontDescription" name="OpenSans" family="Open Sans" pointSize="16"/>
|
||||
<color key="textColor" red="0.33333333333333331" green="0.33333333333333331" blue="0.33333333333333331" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
@@ -1376,6 +1378,7 @@
|
||||
<outlet property="countdownViewHeight" destination="Fcc-aN-a7a" id="a7t-8p-aED"/>
|
||||
<outlet property="eventButton" destination="Lzv-E6-gsr" id="RSn-dh-P2i"/>
|
||||
<outlet property="leaderboardButton" destination="P9e-ZM-HZP" id="XpR-Yt-5HJ"/>
|
||||
<outlet property="optionButton" destination="Zdh-kJ-UMg" id="G78-Kp-sO7"/>
|
||||
<outlet property="regattaStartLabel" destination="ft9-jD-C5m" id="C70-iD-pB3"/>
|
||||
<outlet property="startTrackingButton" destination="mj9-m1-nYY" id="eUX-Yd-aix"/>
|
||||
<outlet property="teamImageAddButton" destination="CDA-ep-bjo" id="rrW-hd-czc"/>
|
||||
@@ -1495,13 +1498,13 @@
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Status Title Label" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" preferredMaxLayoutWidth="0.0" translatesAutoresizingMaskIntoConstraints="NO" id="r6d-OU-cRI">
|
||||
<rect key="frame" x="20" y="14" width="134.5" height="23.5"/>
|
||||
<rect key="frame" x="20" y="14.5" width="134.5" height="23.5"/>
|
||||
<fontDescription key="fontDescription" name="OpenSans" family="Open Sans" pointSize="17"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Status Label" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" preferredMaxLayoutWidth="0.0" translatesAutoresizingMaskIntoConstraints="NO" id="5Xu-6g-tqP">
|
||||
<rect key="frame" x="259" y="14" width="96" height="23.5"/>
|
||||
<rect key="frame" x="259" y="14.5" width="96" height="23.5"/>
|
||||
<fontDescription key="fontDescription" name="OpenSans" family="Open Sans" pointSize="17"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
@@ -1527,13 +1530,13 @@
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Mode Title Label" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" preferredMaxLayoutWidth="0.0" translatesAutoresizingMaskIntoConstraints="NO" id="Xww-rc-pOA">
|
||||
<rect key="frame" x="20" y="14" width="130.5" height="23.5"/>
|
||||
<rect key="frame" x="20" y="14.5" width="130.5" height="23.5"/>
|
||||
<fontDescription key="fontDescription" name="OpenSans" family="Open Sans" pointSize="17"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Mode Label" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" preferredMaxLayoutWidth="0.0" translatesAutoresizingMaskIntoConstraints="NO" id="tJY-RR-vpe">
|
||||
<rect key="frame" x="262" y="14" width="93" height="23.5"/>
|
||||
<rect key="frame" x="262" y="14.5" width="93" height="23.5"/>
|
||||
<fontDescription key="fontDescription" name="OpenSans" family="Open Sans" pointSize="17"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
@@ -1559,13 +1562,13 @@
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="GPS Fixes Title Label" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" preferredMaxLayoutWidth="0.0" translatesAutoresizingMaskIntoConstraints="NO" id="Ujw-jg-ilY">
|
||||
<rect key="frame" x="20" y="14" width="161" height="23.5"/>
|
||||
<rect key="frame" x="20" y="14.5" width="161" height="23.5"/>
|
||||
<fontDescription key="fontDescription" name="OpenSans" family="Open Sans" pointSize="17"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="GPS Fixes Label" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" preferredMaxLayoutWidth="0.0" translatesAutoresizingMaskIntoConstraints="NO" id="dz3-w7-CCh">
|
||||
<rect key="frame" x="232" y="14" width="123" height="23.5"/>
|
||||
<rect key="frame" x="232" y="14.5" width="123" height="23.5"/>
|
||||
<fontDescription key="fontDescription" name="OpenSans" family="Open Sans" pointSize="17"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
@@ -1591,13 +1594,13 @@
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="GPS Accuracy Title Label" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" preferredMaxLayoutWidth="0.0" translatesAutoresizingMaskIntoConstraints="NO" id="Z1d-5I-pbj">
|
||||
<rect key="frame" x="20" y="14" width="191.5" height="23.5"/>
|
||||
<rect key="frame" x="20" y="14.5" width="191.5" height="23.5"/>
|
||||
<fontDescription key="fontDescription" name="OpenSans" family="Open Sans" pointSize="17"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="GPS Accuracy Label" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="DiM-MR-SGV">
|
||||
<rect key="frame" x="181.5" y="14" width="153.5" height="23.5"/>
|
||||
<rect key="frame" x="181.5" y="14.5" width="153.5" height="23.5"/>
|
||||
<fontDescription key="fontDescription" name="OpenSans" family="Open Sans" pointSize="17"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
@@ -1709,7 +1712,7 @@
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Value Label" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="48" preferredMaxLayoutWidth="0.0" translatesAutoresizingMaskIntoConstraints="NO" id="mUm-EE-6Is" userLabel="Time Label">
|
||||
<rect key="frame" x="3" y="244" width="369" height="98.5"/>
|
||||
<rect key="frame" x="3" y="243.5" width="369" height="98.5"/>
|
||||
<fontDescription key="fontDescription" name="OpenSans-Light" family="Open Sans" pointSize="72"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
@@ -1751,7 +1754,7 @@
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Value Label" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="l5u-i3-029">
|
||||
<rect key="frame" x="3" y="244" width="369" height="98.5"/>
|
||||
<rect key="frame" x="3" y="243.5" width="369" height="98.5"/>
|
||||
<fontDescription key="fontDescription" name="OpenSans-Light" family="Open Sans" pointSize="72"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
@@ -1792,7 +1795,7 @@
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Value Label" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="sGK-xV-9a0">
|
||||
<rect key="frame" x="3" y="244" width="369" height="98.5"/>
|
||||
<rect key="frame" x="3" y="243.5" width="369" height="98.5"/>
|
||||
<fontDescription key="fontDescription" name="OpenSans-Light" family="Open Sans" pointSize="72"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
@@ -2314,7 +2317,7 @@
|
||||
</connections>
|
||||
</button>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Name Label" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" minimumFontSize="12" adjustsLetterSpacingToFitWidth="YES" preferredMaxLayoutWidth="0.0" translatesAutoresizingMaskIntoConstraints="NO" id="GU1-ro-ifJ">
|
||||
<rect key="frame" x="129" y="290.5" width="117" height="22"/>
|
||||
<rect key="frame" x="131" y="290.5" width="113" height="22"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="22" id="DyJ-y6-cz0"/>
|
||||
</constraints>
|
||||
@@ -2351,6 +2354,7 @@
|
||||
</barButtonItem>
|
||||
</navigationItem>
|
||||
<connections>
|
||||
<outlet property="optionButton" destination="MF0-Id-Lx7" id="NIO-Zv-lTa"/>
|
||||
<outlet property="startTrackingButton" destination="1px-gI-O3d" id="OWA-Ao-RGV"/>
|
||||
<outlet property="trainingNameLabel" destination="GU1-ro-ifJ" id="9wI-5l-XLF"/>
|
||||
<segue destination="dfN-Ch-vpm" kind="presentation" identifier="About" id="rvK-Na-br8"/>
|
||||
@@ -2373,9 +2377,9 @@
|
||||
<image name="settings" width="22" height="22"/>
|
||||
</resources>
|
||||
<inferredMetricsTieBreakers>
|
||||
<segue reference="rvK-Na-br8"/>
|
||||
<segue reference="gEw-ml-Ejg"/>
|
||||
<segue reference="yTp-8r-iQQ"/>
|
||||
<segue reference="tzB-PL-31j"/>
|
||||
<segue reference="fgS-yf-c3u"/>
|
||||
<segue reference="Irs-ey-Uhs"/>
|
||||
</inferredMetricsTieBreakers>
|
||||
<color key="tintColor" red="0.0" green="0.61568627450980395" blue="0.8784313725490196" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</document>
|
||||
|
||||
@@ -102,7 +102,7 @@ class RegattaCompetitorViewController : SessionViewController, UINavigationContr
|
||||
}
|
||||
|
||||
// MARK: - TeamImage
|
||||
|
||||
|
||||
fileprivate func setTeamImageWithURLRequest(urlString: String?, completion: @escaping (_ withSuccess: Bool) -> Void) {
|
||||
setTeamImageWithURLRequest(urlString: urlString, success: { () in
|
||||
completion(true)
|
||||
@@ -222,30 +222,10 @@ class RegattaCompetitorViewController : SessionViewController, UINavigationContr
|
||||
|
||||
// MARK: - Properties
|
||||
|
||||
fileprivate lazy var actionReplaceImage: UIAlertAction = {
|
||||
return UIAlertAction(title: Translation.CompetitorView.OptionSheet.ReplaceImageAction.Title.String, style: .default) { [weak self] action in
|
||||
self?.showSelectImageAlert()
|
||||
}
|
||||
}()
|
||||
|
||||
fileprivate lazy var competitorSessionController: CompetitorSessionController = {
|
||||
return CompetitorSessionController(checkIn: self.competitorCheckIn, coreDataManager: self.regattaCoreDataManager)
|
||||
}()
|
||||
|
||||
lazy var regattaCompetitorOptionSheet: UIAlertController = {
|
||||
let alertController = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet)
|
||||
// if let popoverController = alertController.popoverPresentationController {
|
||||
// popoverController.barButtonItem = sender as? UIBarButtonItem
|
||||
// }
|
||||
alertController.addAction(self.actionSettings)
|
||||
alertController.addAction(self.actionCheckOut)
|
||||
alertController.addAction(self.actionReplaceImage)
|
||||
alertController.addAction(self.actionUpdate)
|
||||
alertController.addAction(self.actionInfo)
|
||||
alertController.addAction(self.actionCancel)
|
||||
return alertController
|
||||
}()
|
||||
|
||||
}
|
||||
|
||||
// MARK: - UIImagePickerControllerDelegate
|
||||
@@ -328,10 +308,30 @@ extension RegattaCompetitorViewController: SessionViewControllerDelegate {
|
||||
|
||||
var coreDataManager: CoreDataManager { get { return regattaCoreDataManager } }
|
||||
|
||||
var optionSheet: UIAlertController { get { return regattaCompetitorOptionSheet } }
|
||||
|
||||
var sessionController: SessionController { get { return competitorSessionController } }
|
||||
|
||||
// MARK: - OptionSheet
|
||||
|
||||
func makeOptionSheet() -> UIAlertController {
|
||||
let alertController = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet)
|
||||
if let popoverController = alertController.popoverPresentationController {
|
||||
popoverController.barButtonItem = self.optionButton
|
||||
}
|
||||
alertController.addAction(self.makeActionSettings())
|
||||
alertController.addAction(self.makeActionCheckOut())
|
||||
alertController.addAction(self.makeActionReplaceImage())
|
||||
alertController.addAction(self.makeActionUpdate())
|
||||
alertController.addAction(self.makeActionInfo())
|
||||
alertController.addAction(self.makeActionCancel())
|
||||
return alertController
|
||||
}
|
||||
|
||||
fileprivate func makeActionReplaceImage() -> UIAlertAction {
|
||||
return UIAlertAction(title: Translation.CompetitorView.OptionSheet.ReplaceImageAction.Title.String, style: .default) { [weak self] action in
|
||||
self?.showSelectImageAlert()
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - Refresh
|
||||
|
||||
func refresh() {
|
||||
|
||||
@@ -65,19 +65,6 @@ class RegattaMarkViewController: SessionViewController {
|
||||
return MarkSessionController(checkIn: self.markCheckIn, coreDataManager: self.regattaCoreDataManager)
|
||||
}()
|
||||
|
||||
fileprivate lazy var regattaMarkOptionSheet: UIAlertController = {
|
||||
let alertController = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet)
|
||||
// if let popoverController = alertController.popoverPresentationController {
|
||||
// popoverController.barButtonItem = sender as? UIBarButtonItem
|
||||
// }
|
||||
alertController.addAction(self.actionSettings)
|
||||
alertController.addAction(self.actionCheckOut)
|
||||
alertController.addAction(self.actionUpdate)
|
||||
alertController.addAction(self.actionInfo)
|
||||
alertController.addAction(self.actionCancel)
|
||||
return alertController
|
||||
}()
|
||||
|
||||
}
|
||||
|
||||
// MARK: SessionViewControllerDelegate
|
||||
@@ -88,11 +75,11 @@ extension RegattaMarkViewController: SessionViewControllerDelegate {
|
||||
|
||||
var coreDataManager: CoreDataManager { get { return regattaCoreDataManager } }
|
||||
|
||||
var optionSheet: UIAlertController { get { return regattaMarkOptionSheet } }
|
||||
|
||||
var sessionController: SessionController { get { return markSessionController } }
|
||||
|
||||
// MARK: - Refresh
|
||||
func makeOptionSheet() -> UIAlertController {
|
||||
return makeDefaultOptionSheet()
|
||||
}
|
||||
|
||||
func refresh() {
|
||||
markNameLabel.text = markCheckIn.name
|
||||
|
||||
@@ -14,10 +14,10 @@ protocol SessionViewControllerDelegate: class {
|
||||
|
||||
var coreDataManager: CoreDataManager { get }
|
||||
|
||||
var optionSheet: UIAlertController { get }
|
||||
|
||||
var sessionController: SessionController { get }
|
||||
|
||||
func makeOptionSheet() -> UIAlertController
|
||||
|
||||
func refresh()
|
||||
|
||||
}
|
||||
@@ -31,6 +31,7 @@ class SessionViewController: UIViewController {
|
||||
static let Tracking = "Tracking"
|
||||
}
|
||||
|
||||
@IBOutlet weak var optionButton: UIBarButtonItem!
|
||||
@IBOutlet weak var startTrackingButton: UIButton!
|
||||
|
||||
weak var delegate: SessionViewControllerDelegate!
|
||||
@@ -76,7 +77,48 @@ class SessionViewController: UIViewController {
|
||||
// MARK: - Actions
|
||||
|
||||
@IBAction func optionButtonTapped(_ sender: AnyObject) {
|
||||
present(delegate.optionSheet, animated: true, completion: nil)
|
||||
present(delegate.makeOptionSheet(), animated: true, completion: nil)
|
||||
}
|
||||
|
||||
func makeDefaultOptionSheet() -> UIAlertController {
|
||||
let alertController = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet)
|
||||
if let popoverController = alertController.popoverPresentationController {
|
||||
popoverController.barButtonItem = self.optionButton
|
||||
}
|
||||
alertController.addAction(self.makeActionSettings())
|
||||
alertController.addAction(self.makeActionCheckOut())
|
||||
alertController.addAction(self.makeActionUpdate())
|
||||
alertController.addAction(self.makeActionInfo())
|
||||
alertController.addAction(self.makeActionCancel())
|
||||
return alertController
|
||||
}
|
||||
|
||||
func makeActionCancel() -> UIAlertAction {
|
||||
return UIAlertAction(title: Translation.Common.Cancel.String, style: .cancel, handler: nil)
|
||||
}
|
||||
|
||||
func makeActionCheckOut() -> UIAlertAction {
|
||||
return UIAlertAction(title: Translation.CompetitorView.OptionSheet.CheckOutAction.Title.String, style: .default) { [weak self] action in
|
||||
self?.checkOut()
|
||||
}
|
||||
}
|
||||
|
||||
func makeActionInfo() -> UIAlertAction {
|
||||
return UIAlertAction(title: Translation.Common.Info.String, style: .default) { [weak self] action in
|
||||
self?.performSegue(withIdentifier: Segue.About, sender: action)
|
||||
}
|
||||
}
|
||||
|
||||
func makeActionSettings() -> UIAlertAction {
|
||||
return UIAlertAction(title: Translation.SettingsView.Title.String, style: .default) { [weak self] action in
|
||||
self?.performSegue(withIdentifier: Segue.Settings, sender: self)
|
||||
}
|
||||
}
|
||||
|
||||
func makeActionUpdate() -> UIAlertAction {
|
||||
return UIAlertAction(title: Translation.CompetitorView.OptionSheet.UpdateAction.Title.String, style: .default) { [weak self] action in
|
||||
self?.update()
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - Alerts
|
||||
@@ -146,34 +188,4 @@ class SessionViewController: UIViewController {
|
||||
present(alertController, animated: true, completion: nil)
|
||||
}
|
||||
|
||||
// MARK: - Properties
|
||||
|
||||
lazy var actionCancel: UIAlertAction = {
|
||||
return UIAlertAction(title: Translation.Common.Cancel.String, style: .cancel, handler: nil)
|
||||
}()
|
||||
|
||||
lazy var actionCheckOut: UIAlertAction = {
|
||||
return UIAlertAction(title: Translation.CompetitorView.OptionSheet.CheckOutAction.Title.String, style: .default) { [weak self] action in
|
||||
self?.checkOut()
|
||||
}
|
||||
}()
|
||||
|
||||
lazy var actionInfo: UIAlertAction = {
|
||||
return UIAlertAction(title: Translation.Common.Info.String, style: .default) { [weak self] action in
|
||||
self?.performSegue(withIdentifier: Segue.About, sender: action)
|
||||
}
|
||||
}()
|
||||
|
||||
lazy var actionSettings: UIAlertAction = {
|
||||
return UIAlertAction(title: Translation.SettingsView.Title.String, style: .default) { [weak self] action in
|
||||
self?.performSegue(withIdentifier: Segue.Settings, sender: self)
|
||||
}
|
||||
}()
|
||||
|
||||
lazy var actionUpdate: UIAlertAction = {
|
||||
return UIAlertAction(title: Translation.CompetitorView.OptionSheet.UpdateAction.Title.String, style: .default) { [weak self] action in
|
||||
self?.update()
|
||||
}
|
||||
}()
|
||||
|
||||
}
|
||||
|
||||
@@ -63,19 +63,6 @@ class TrainingCompetitorViewController: SessionViewController {
|
||||
return CompetitorSessionController(checkIn: self.competitorCheckIn, coreDataManager: self.trainingCoreDataManager)
|
||||
}()
|
||||
|
||||
fileprivate lazy var trainingCompetitorOptionSheet: UIAlertController = {
|
||||
let alertController = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet)
|
||||
// if let popoverController = alertController.popoverPresentationController {
|
||||
// popoverController.barButtonItem = sender as? UIBarButtonItem
|
||||
// }
|
||||
alertController.addAction(self.actionSettings)
|
||||
alertController.addAction(self.actionCheckOut)
|
||||
alertController.addAction(self.actionUpdate)
|
||||
alertController.addAction(self.actionInfo)
|
||||
alertController.addAction(self.actionCancel)
|
||||
return alertController
|
||||
}()
|
||||
|
||||
}
|
||||
|
||||
// MARK: - SessionViewControllerDelegate
|
||||
@@ -86,11 +73,11 @@ extension TrainingCompetitorViewController: SessionViewControllerDelegate {
|
||||
|
||||
var coreDataManager: CoreDataManager { get { return trainingCoreDataManager } }
|
||||
|
||||
var optionSheet: UIAlertController { get { return trainingCompetitorOptionSheet } }
|
||||
|
||||
var sessionController: SessionController { get { return competitorSessionController } }
|
||||
|
||||
// MARK: - Refresh
|
||||
func makeOptionSheet() -> UIAlertController {
|
||||
return makeDefaultOptionSheet()
|
||||
}
|
||||
|
||||
func refresh() {
|
||||
trainingNameLabel.text = competitorCheckIn.event.name
|
||||
|
||||
@@ -63,19 +63,6 @@ class TrainingMarkViewController: SessionViewController {
|
||||
return MarkSessionController(checkIn: self.markCheckIn, coreDataManager: self.trainingCoreDataManager)
|
||||
}()
|
||||
|
||||
fileprivate lazy var trainingMarkOptionSheet: UIAlertController = {
|
||||
let alertController = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet)
|
||||
// if let popoverController = alertController.popoverPresentationController {
|
||||
// popoverController.barButtonItem = sender as? UIBarButtonItem
|
||||
// }
|
||||
alertController.addAction(self.actionSettings)
|
||||
alertController.addAction(self.actionCheckOut)
|
||||
alertController.addAction(self.actionUpdate)
|
||||
alertController.addAction(self.actionInfo)
|
||||
alertController.addAction(self.actionCancel)
|
||||
return alertController
|
||||
}()
|
||||
|
||||
}
|
||||
|
||||
// MARK: - SessionViewControllerDelegate
|
||||
@@ -86,11 +73,11 @@ extension TrainingMarkViewController: SessionViewControllerDelegate {
|
||||
|
||||
var coreDataManager: CoreDataManager { get { return trainingCoreDataManager } }
|
||||
|
||||
var optionSheet: UIAlertController { get { return trainingMarkOptionSheet } }
|
||||
|
||||
var sessionController: SessionController { get { return markSessionController } }
|
||||
|
||||
// MARK: - Refresh
|
||||
func makeOptionSheet() -> UIAlertController {
|
||||
return makeDefaultOptionSheet()
|
||||
}
|
||||
|
||||
func refresh() {
|
||||
trainingNameLabel.text = markCheckIn.event.name
|
||||
|
||||
Reference in New Issue
Block a user