Optimize server profile layout.
This commit is contained in:
@ -18,6 +18,7 @@
|
||||
<outlet property="kcptunModeComboBox" destination="WNY-EE-WjA" id="8dJ-nb-kFV"/>
|
||||
<outlet property="kcptunNocompCheckBoxBtn" destination="WiD-LX-WHu" id="whG-WJ-qyh"/>
|
||||
<outlet property="kcptunParityshardTextField" destination="8hC-op-kWY" id="0Hd-X7-T39"/>
|
||||
<outlet property="kcptunPortTextField" destination="JNT-U1-Ao5" id="tpy-nE-j9f"/>
|
||||
<outlet property="kcptunProfileBox" destination="WE7-7J-vda" id="HlV-ET-fgs"/>
|
||||
<outlet property="methodTextField" destination="ef4-8J-eFn" id="OXd-fC-ICR"/>
|
||||
<outlet property="otaCheckBoxBtn" destination="9CP-zt-WuH" id="egZ-KB-iSv"/>
|
||||
@ -108,9 +109,9 @@
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Otb-CO-KUH">
|
||||
<rect key="frame" x="239" y="386" width="9" height="17"/>
|
||||
<rect key="frame" x="238" y="386" width="9" height="17"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="5" id="cDc-Wc-oW2"/>
|
||||
<constraint firstAttribute="width" constant="5" id="6KY-1R-9Nf"/>
|
||||
</constraints>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title=":" id="Ibr-Gs-5Js">
|
||||
<font key="font" metaFont="system"/>
|
||||
@ -118,23 +119,6 @@
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="lng-AE-g0J">
|
||||
<rect key="frame" x="253" y="381" width="46" height="22"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="46" id="zGr-QU-b7G"/>
|
||||
</constraints>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" placeholderString="port" drawsBackground="YES" id="e1F-jd-e0J">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
<allowedInputSourceLocales>
|
||||
<string>NSAllRomanInputSourcesLocaleIdentifier</string>
|
||||
</allowedInputSourceLocales>
|
||||
</textFieldCell>
|
||||
<connections>
|
||||
<outlet property="formatter" destination="QZc-kt-D7Z" id="ZB9-Of-Xi9"/>
|
||||
</connections>
|
||||
</textField>
|
||||
<comboBox verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ef4-8J-eFn">
|
||||
<rect key="frame" x="111" y="349" width="191" height="26"/>
|
||||
<comboBoxCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" sendsActionOnEndEditing="YES" borderStyle="bezel" drawsBackground="YES" completes="NO" numberOfVisibleItems="11" id="5Qb-ey-uS5">
|
||||
@ -187,8 +171,8 @@
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="R4F-j7-GkK">
|
||||
<rect key="frame" x="111" y="381" width="122" height="22"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" placeholderString="ip" drawsBackground="YES" id="MWO-hQ-nMt">
|
||||
<rect key="frame" x="111" y="381" width="121" height="22"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" placeholderString="IP" drawsBackground="YES" id="MWO-hQ-nMt">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
@ -214,8 +198,11 @@
|
||||
<rect key="frame" x="0.0" y="0.0" width="329" height="239"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<box verticalHuggingPriority="750" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="8lc-dc-PSG">
|
||||
<rect key="frame" x="29" y="225" width="280" height="5"/>
|
||||
</box>
|
||||
<comboBox verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="rlP-C7-3uJ">
|
||||
<rect key="frame" x="119" y="195" width="193" height="26"/>
|
||||
<rect key="frame" x="119" y="158" width="193" height="26"/>
|
||||
<comboBoxCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" sendsActionOnEndEditing="YES" borderStyle="bezel" drawsBackground="YES" completes="NO" numberOfVisibleItems="11" id="Pki-dN-sGQ">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
@ -223,7 +210,7 @@
|
||||
</comboBoxCell>
|
||||
</comboBox>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="g86-vn-tV6">
|
||||
<rect key="frame" x="40" y="200" width="73" height="17"/>
|
||||
<rect key="frame" x="40" y="163" width="73" height="17"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Encryption:" id="bSO-KG-2b5">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
@ -231,7 +218,7 @@
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<secureTextField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="oX2-Db-V5d">
|
||||
<rect key="frame" x="119" y="169" width="190" height="22"/>
|
||||
<rect key="frame" x="119" y="132" width="190" height="22"/>
|
||||
<secureTextFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" borderStyle="bezel" drawsBackground="YES" usesSingleLineMode="YES" id="Crw-uk-LMT">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
@ -242,7 +229,7 @@
|
||||
</secureTextFieldCell>
|
||||
</secureTextField>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="AGS-ql-5dx">
|
||||
<rect key="frame" x="47" y="171" width="66" height="17"/>
|
||||
<rect key="frame" x="47" y="134" width="66" height="17"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Password:" id="F9H-G8-6DV">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
@ -250,33 +237,30 @@
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button translatesAutoresizingMaskIntoConstraints="NO" id="WiD-LX-WHu">
|
||||
<rect key="frame" x="117" y="117" width="148" height="18"/>
|
||||
<rect key="frame" x="117" y="80" width="148" height="18"/>
|
||||
<buttonCell key="cell" type="check" title="Disable compression" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="ezp-Vb-ouI">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
</button>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="bu6-g1-G0Q">
|
||||
<rect key="frame" x="44" y="91" width="71" height="17"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Datashard:" id="Aj8-qI-alu">
|
||||
<rect key="frame" x="18" y="54" width="97" height="17"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Datashard:" id="Aj8-qI-alu">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="hXK-B7-wCP">
|
||||
<rect key="frame" x="38" y="59" width="77" height="17"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Parityshard:" id="Tas-1r-V7W">
|
||||
<rect key="frame" x="18" y="22" width="97" height="17"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Parityshard:" id="Tas-1r-V7W">
|
||||
<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>
|
||||
<box verticalHuggingPriority="750" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="8lc-dc-PSG">
|
||||
<rect key="frame" x="29" y="225" width="280" height="5"/>
|
||||
</box>
|
||||
<comboBox verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="WNY-EE-WjA">
|
||||
<rect key="frame" x="119" y="137" width="193" height="26"/>
|
||||
<rect key="frame" x="119" y="100" width="193" height="26"/>
|
||||
<comboBoxCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" sendsActionOnEndEditing="YES" borderStyle="bezel" drawsBackground="YES" completes="NO" numberOfVisibleItems="5" id="M84-Q1-s9N">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
@ -284,7 +268,7 @@
|
||||
</comboBoxCell>
|
||||
</comboBox>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="6Up-x6-VlH">
|
||||
<rect key="frame" x="71" y="142" width="42" height="17"/>
|
||||
<rect key="frame" x="71" y="105" width="42" height="17"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Mode:" id="UPY-ya-au1">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
@ -292,15 +276,21 @@
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="eiU-HT-y0P">
|
||||
<rect key="frame" x="78" y="27" width="37" height="17"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="MTU:" id="G4r-Ba-CmP">
|
||||
<rect key="frame" x="165" y="55" width="84" height="17"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="80" id="d1N-7n-3qv"/>
|
||||
</constraints>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="MTU:" id="G4r-Ba-CmP">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Q5m-nt-Gpa">
|
||||
<rect key="frame" x="119" y="25" width="40" height="22"/>
|
||||
<rect key="frame" x="253" y="53" width="56" height="22"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="56" id="kzD-L5-ybg"/>
|
||||
</constraints>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="PLG-nZ-2b8">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
@ -311,9 +301,9 @@
|
||||
</connections>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="QIu-0B-hot">
|
||||
<rect key="frame" x="119" y="89" width="40" height="22"/>
|
||||
<rect key="frame" x="119" y="52" width="40" height="22"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="40" id="23w-sd-DOZ"/>
|
||||
<constraint firstAttribute="width" constant="40" id="FLW-7L-4hs"/>
|
||||
</constraints>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="lqa-TF-zf8">
|
||||
<font key="font" metaFont="system"/>
|
||||
@ -325,7 +315,7 @@
|
||||
</connections>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="8hC-op-kWY">
|
||||
<rect key="frame" x="119" y="57" width="40" height="22"/>
|
||||
<rect key="frame" x="119" y="20" width="40" height="22"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="wNm-kP-LEf">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
@ -335,84 +325,130 @@
|
||||
<outlet property="formatter" destination="fck-0V-svg" id="dQf-w3-TXN"/>
|
||||
</connections>
|
||||
</textField>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="QEf-lL-f9y">
|
||||
<rect key="frame" x="18" y="193" width="95" height="17"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Kcptun Port:" id="n2C-cl-kCt">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="JNT-U1-Ao5">
|
||||
<rect key="frame" x="119" y="190" width="50" height="22"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="50" id="LiY-9g-Ei1"/>
|
||||
</constraints>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" placeholderString="Port" drawsBackground="YES" id="PQf-6C-ACJ">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
<allowedInputSourceLocales>
|
||||
<string>NSAllRomanInputSourcesLocaleIdentifier</string>
|
||||
</allowedInputSourceLocales>
|
||||
</textFieldCell>
|
||||
<connections>
|
||||
<outlet property="formatter" destination="QZc-kt-D7Z" id="ilB-tq-udd"/>
|
||||
</connections>
|
||||
</textField>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="QIu-0B-hot" firstAttribute="leading" secondItem="8hC-op-kWY" secondAttribute="leading" id="2Kz-xt-p0C"/>
|
||||
<constraint firstItem="hXK-B7-wCP" firstAttribute="leading" secondItem="rqF-7k-7qO" secondAttribute="leading" constant="40" id="A6p-ZL-RNK"/>
|
||||
<constraint firstItem="WNY-EE-WjA" firstAttribute="leading" secondItem="WiD-LX-WHu" secondAttribute="leading" id="Bcy-jX-bSP"/>
|
||||
<constraint firstItem="oX2-Db-V5d" firstAttribute="top" secondItem="rlP-C7-3uJ" secondAttribute="bottom" constant="8" symbolic="YES" id="DEw-vF-5Mx"/>
|
||||
<constraint firstItem="WNY-EE-WjA" firstAttribute="leading" secondItem="6Up-x6-VlH" secondAttribute="trailing" constant="8" symbolic="YES" id="EaX-1U-6hH"/>
|
||||
<constraint firstItem="WiD-LX-WHu" firstAttribute="leading" secondItem="QIu-0B-hot" secondAttribute="leading" id="Efn-Sj-wgS"/>
|
||||
<constraint firstItem="8hC-op-kWY" firstAttribute="top" secondItem="QIu-0B-hot" secondAttribute="bottom" constant="10" symbolic="YES" id="FkG-Ji-aK5"/>
|
||||
<constraint firstItem="hXK-B7-wCP" firstAttribute="trailing" secondItem="eiU-HT-y0P" secondAttribute="trailing" id="MEv-ja-xgp"/>
|
||||
<constraint firstItem="8lc-dc-PSG" firstAttribute="trailing" secondItem="rlP-C7-3uJ" secondAttribute="trailing" id="MI0-R6-pJl"/>
|
||||
<constraint firstItem="bu6-g1-G0Q" firstAttribute="centerY" secondItem="QIu-0B-hot" secondAttribute="centerY" id="TSs-11-aRo"/>
|
||||
<constraint firstItem="g86-vn-tV6" firstAttribute="centerY" secondItem="rlP-C7-3uJ" secondAttribute="centerY" id="TiC-x2-Wyd"/>
|
||||
<constraint firstItem="AGS-ql-5dx" firstAttribute="centerX" secondItem="bu6-g1-G0Q" secondAttribute="centerX" id="UHb-vj-P8T"/>
|
||||
<constraint firstItem="bu6-g1-G0Q" firstAttribute="trailing" secondItem="hXK-B7-wCP" secondAttribute="trailing" id="VDq-zL-MJ8"/>
|
||||
<constraint firstItem="WiD-LX-WHu" firstAttribute="top" secondItem="WNY-EE-WjA" secondAttribute="bottom" constant="8" symbolic="YES" id="VxU-bQ-reZ"/>
|
||||
<constraint firstItem="hXK-B7-wCP" firstAttribute="centerY" secondItem="8hC-op-kWY" secondAttribute="centerY" id="Ygw-fl-EcG"/>
|
||||
<constraint firstItem="6Up-x6-VlH" firstAttribute="centerY" secondItem="WNY-EE-WjA" secondAttribute="centerY" id="ZXN-a7-oGU"/>
|
||||
<constraint firstItem="oX2-Db-V5d" firstAttribute="leading" secondItem="WNY-EE-WjA" secondAttribute="leading" id="dVd-cZ-OIL"/>
|
||||
<constraint firstItem="rlP-C7-3uJ" firstAttribute="top" secondItem="rqF-7k-7qO" secondAttribute="top" constant="20" symbolic="YES" id="eFY-uW-iI4"/>
|
||||
<constraint firstItem="8hC-op-kWY" firstAttribute="trailing" secondItem="Q5m-nt-Gpa" secondAttribute="trailing" id="fDv-NO-GHP"/>
|
||||
<constraint firstItem="rlP-C7-3uJ" firstAttribute="top" secondItem="8lc-dc-PSG" secondAttribute="bottom" constant="8" symbolic="YES" id="fzv-Xp-Dxd"/>
|
||||
<constraint firstItem="QIu-0B-hot" firstAttribute="trailing" secondItem="8hC-op-kWY" secondAttribute="trailing" id="hQb-Cq-Of7"/>
|
||||
<constraint firstItem="oX2-Db-V5d" firstAttribute="leading" secondItem="AGS-ql-5dx" secondAttribute="trailing" constant="8" symbolic="YES" id="hud-dF-E5V"/>
|
||||
<constraint firstItem="8hC-op-kWY" firstAttribute="leading" secondItem="Q5m-nt-Gpa" secondAttribute="leading" id="jRu-UN-wP0"/>
|
||||
<constraint firstItem="rlP-C7-3uJ" firstAttribute="leading" secondItem="g86-vn-tV6" secondAttribute="trailing" constant="8" symbolic="YES" id="kvX-Rq-BAM"/>
|
||||
<constraint firstItem="AGS-ql-5dx" firstAttribute="centerY" secondItem="oX2-Db-V5d" secondAttribute="centerY" id="moN-xL-h1m"/>
|
||||
<constraint firstItem="bu6-g1-G0Q" firstAttribute="trailing" secondItem="hXK-B7-wCP" secondAttribute="trailing" id="0Li-QB-Fyo"/>
|
||||
<constraint firstItem="WNY-EE-WjA" firstAttribute="leading" secondItem="6Up-x6-VlH" secondAttribute="trailing" constant="8" symbolic="YES" id="0dJ-8v-olt"/>
|
||||
<constraint firstItem="rlP-C7-3uJ" firstAttribute="trailing" secondItem="8lc-dc-PSG" secondAttribute="trailing" id="11x-sf-Mxy"/>
|
||||
<constraint firstItem="oX2-Db-V5d" firstAttribute="trailing" secondItem="WNY-EE-WjA" secondAttribute="trailing" id="6aD-dJ-8Wv"/>
|
||||
<constraint firstItem="QIu-0B-hot" firstAttribute="trailing" secondItem="8hC-op-kWY" secondAttribute="trailing" id="7jd-C7-pfo"/>
|
||||
<constraint firstItem="WiD-LX-WHu" firstAttribute="top" secondItem="WNY-EE-WjA" secondAttribute="bottom" constant="8" symbolic="YES" id="9xf-cd-Vx0"/>
|
||||
<constraint firstItem="eiU-HT-y0P" firstAttribute="leading" secondItem="QIu-0B-hot" secondAttribute="trailing" constant="8" symbolic="YES" id="ANg-SM-T9q"/>
|
||||
<constraint firstItem="QIu-0B-hot" firstAttribute="baseline" secondItem="eiU-HT-y0P" secondAttribute="baseline" id="Cps-Tc-5fj"/>
|
||||
<constraint firstItem="rlP-C7-3uJ" firstAttribute="top" secondItem="JNT-U1-Ao5" secondAttribute="bottom" constant="8" symbolic="YES" id="EtT-I0-zBh"/>
|
||||
<constraint firstItem="JNT-U1-Ao5" firstAttribute="leading" secondItem="rlP-C7-3uJ" secondAttribute="leading" id="GZ9-H9-pjm"/>
|
||||
<constraint firstItem="AGS-ql-5dx" firstAttribute="centerY" secondItem="oX2-Db-V5d" secondAttribute="centerY" id="HqR-ph-cLD"/>
|
||||
<constraint firstItem="WNY-EE-WjA" firstAttribute="leading" secondItem="WiD-LX-WHu" secondAttribute="leading" id="I1O-kh-lZA"/>
|
||||
<constraint firstItem="rlP-C7-3uJ" firstAttribute="leading" secondItem="oX2-Db-V5d" secondAttribute="leading" id="L7d-3b-OIa"/>
|
||||
<constraint firstItem="QIu-0B-hot" firstAttribute="leading" secondItem="8hC-op-kWY" secondAttribute="leading" id="NLD-67-sF0"/>
|
||||
<constraint firstItem="bu6-g1-G0Q" firstAttribute="leading" secondItem="hXK-B7-wCP" secondAttribute="leading" id="Ob1-nI-6Td"/>
|
||||
<constraint firstItem="bu6-g1-G0Q" firstAttribute="centerY" secondItem="QIu-0B-hot" secondAttribute="centerY" id="P8s-BC-Oj1"/>
|
||||
<constraint firstItem="WNY-EE-WjA" firstAttribute="top" secondItem="oX2-Db-V5d" secondAttribute="bottom" constant="8" symbolic="YES" id="Rdx-90-fsr"/>
|
||||
<constraint firstItem="QIu-0B-hot" firstAttribute="leading" secondItem="bu6-g1-G0Q" secondAttribute="trailing" constant="6" id="TxC-kl-z4S"/>
|
||||
<constraint firstItem="QIu-0B-hot" firstAttribute="leading" secondItem="WiD-LX-WHu" secondAttribute="leading" id="UFZ-u8-Sqj"/>
|
||||
<constraint firstItem="eiU-HT-y0P" firstAttribute="centerY" secondItem="Q5m-nt-Gpa" secondAttribute="centerY" id="VHy-nG-sP1"/>
|
||||
<constraint firstItem="JNT-U1-Ao5" firstAttribute="top" secondItem="8lc-dc-PSG" secondAttribute="bottom" constant="15" id="Y9k-z0-CNV"/>
|
||||
<constraint firstItem="g86-vn-tV6" firstAttribute="centerY" secondItem="rlP-C7-3uJ" secondAttribute="centerY" id="aBF-I6-4Hd"/>
|
||||
<constraint firstItem="8hC-op-kWY" firstAttribute="top" secondItem="QIu-0B-hot" secondAttribute="bottom" constant="10" symbolic="YES" id="aDq-Mi-VsC"/>
|
||||
<constraint firstItem="JNT-U1-Ao5" firstAttribute="baseline" secondItem="QEf-lL-f9y" secondAttribute="baseline" id="axo-LF-Jth"/>
|
||||
<constraint firstItem="rlP-C7-3uJ" firstAttribute="trailing" secondItem="oX2-Db-V5d" secondAttribute="trailing" id="bXo-FS-yhn"/>
|
||||
<constraint firstItem="oX2-Db-V5d" firstAttribute="top" secondItem="rlP-C7-3uJ" secondAttribute="bottom" constant="8" symbolic="YES" id="cZ9-7q-pOy"/>
|
||||
<constraint firstItem="JNT-U1-Ao5" firstAttribute="leading" secondItem="QEf-lL-f9y" secondAttribute="trailing" constant="8" symbolic="YES" id="eoi-Je-FeS"/>
|
||||
<constraint firstItem="oX2-Db-V5d" firstAttribute="leading" secondItem="WNY-EE-WjA" secondAttribute="leading" id="f9m-NT-qq2"/>
|
||||
<constraint firstItem="QIu-0B-hot" firstAttribute="top" secondItem="WiD-LX-WHu" secondAttribute="bottom" constant="8" symbolic="YES" id="g1y-ws-beM"/>
|
||||
<constraint firstItem="6Up-x6-VlH" firstAttribute="centerY" secondItem="WNY-EE-WjA" secondAttribute="centerY" id="izL-ly-5ud"/>
|
||||
<constraint firstItem="hXK-B7-wCP" firstAttribute="centerY" secondItem="8hC-op-kWY" secondAttribute="centerY" id="jab-JN-BGh"/>
|
||||
<constraint firstAttribute="trailing" secondItem="8lc-dc-PSG" secondAttribute="trailing" constant="20" symbolic="YES" id="o1A-qO-0bV"/>
|
||||
<constraint firstItem="QIu-0B-hot" firstAttribute="top" secondItem="WiD-LX-WHu" secondAttribute="bottom" constant="8" symbolic="YES" id="o49-3f-7ox"/>
|
||||
<constraint firstItem="rlP-C7-3uJ" firstAttribute="leading" secondItem="oX2-Db-V5d" secondAttribute="leading" id="o5L-Px-aq8"/>
|
||||
<constraint firstItem="rlP-C7-3uJ" firstAttribute="trailing" secondItem="oX2-Db-V5d" secondAttribute="trailing" id="rQJ-YC-44p"/>
|
||||
<constraint firstItem="oX2-Db-V5d" firstAttribute="trailing" secondItem="WNY-EE-WjA" secondAttribute="trailing" id="rWA-or-Dzc"/>
|
||||
<constraint firstItem="eiU-HT-y0P" firstAttribute="centerY" secondItem="Q5m-nt-Gpa" secondAttribute="centerY" id="whR-5n-UQL"/>
|
||||
<constraint firstItem="WNY-EE-WjA" firstAttribute="top" secondItem="oX2-Db-V5d" secondAttribute="bottom" constant="8" symbolic="YES" id="wjB-H4-n6e"/>
|
||||
<constraint firstItem="rlP-C7-3uJ" firstAttribute="leading" secondItem="g86-vn-tV6" secondAttribute="trailing" constant="8" symbolic="YES" id="qmW-ot-VpI"/>
|
||||
<constraint firstItem="oX2-Db-V5d" firstAttribute="leading" secondItem="AGS-ql-5dx" secondAttribute="trailing" constant="8" symbolic="YES" id="r1D-22-hyz"/>
|
||||
<constraint firstItem="bu6-g1-G0Q" firstAttribute="leading" secondItem="QEf-lL-f9y" secondAttribute="leading" id="rlv-hE-MgG"/>
|
||||
<constraint firstItem="Q5m-nt-Gpa" firstAttribute="trailing" secondItem="WNY-EE-WjA" secondAttribute="trailing" id="s01-TH-W7K"/>
|
||||
<constraint firstAttribute="bottom" secondItem="8hC-op-kWY" secondAttribute="bottom" constant="20" symbolic="YES" id="wQE-u3-jpI"/>
|
||||
<constraint firstItem="QEf-lL-f9y" firstAttribute="leading" secondItem="rqF-7k-7qO" secondAttribute="leading" constant="20" symbolic="YES" id="yn4-EK-HZV"/>
|
||||
<constraint firstItem="8lc-dc-PSG" firstAttribute="leading" secondItem="rqF-7k-7qO" secondAttribute="leading" constant="29" id="yuZ-DZ-ok3"/>
|
||||
<constraint firstItem="Q5m-nt-Gpa" firstAttribute="top" secondItem="8hC-op-kWY" secondAttribute="bottom" constant="10" symbolic="YES" id="zbY-iu-8xT"/>
|
||||
<constraint firstItem="Q5m-nt-Gpa" firstAttribute="leading" secondItem="eiU-HT-y0P" secondAttribute="trailing" constant="6" id="zSW-Bs-dl4"/>
|
||||
</constraints>
|
||||
</view>
|
||||
</box>
|
||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="lng-AE-g0J">
|
||||
<rect key="frame" x="249" y="381" width="50" height="22"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" placeholderString="Port" drawsBackground="YES" id="e1F-jd-e0J">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
<allowedInputSourceLocales>
|
||||
<string>NSAllRomanInputSourcesLocaleIdentifier</string>
|
||||
</allowedInputSourceLocales>
|
||||
</textFieldCell>
|
||||
<connections>
|
||||
<outlet property="formatter" destination="QZc-kt-D7Z" id="ZB9-Of-Xi9"/>
|
||||
</connections>
|
||||
</textField>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="Qfe-Ql-iCO" firstAttribute="centerY" secondItem="ZXA-oi-Zv3" secondAttribute="centerY" id="1FL-QD-cgz"/>
|
||||
<constraint firstItem="R4F-j7-GkK" firstAttribute="baseline" secondItem="lng-AE-g0J" secondAttribute="baseline" id="1H2-Dz-3gy"/>
|
||||
<constraint firstItem="WE7-7J-vda" firstAttribute="top" secondItem="Zgs-86-BfH" secondAttribute="bottom" constant="16" id="2gk-Kp-5N8"/>
|
||||
<constraint firstAttribute="trailing" secondItem="Zgs-86-BfH" secondAttribute="trailing" constant="78" id="3zM-s0-e0G"/>
|
||||
<constraint firstItem="HPg-NP-kjP" firstAttribute="baseline" secondItem="R4F-j7-GkK" secondAttribute="baseline" id="4ZW-Qg-s8n"/>
|
||||
<constraint firstItem="Baj-Yh-kmj" firstAttribute="centerY" secondItem="q3C-S0-iNn" secondAttribute="centerY" id="8Su-uk-uUh"/>
|
||||
<constraint firstItem="ZXA-oi-Zv3" firstAttribute="leading" secondItem="q3C-S0-iNn" secondAttribute="leading" id="9P1-CP-JCI"/>
|
||||
<constraint firstItem="R4F-j7-GkK" firstAttribute="leading" secondItem="ef4-8J-eFn" secondAttribute="leading" id="CpP-ij-yk6"/>
|
||||
<constraint firstItem="ef4-8J-eFn" firstAttribute="top" secondItem="R4F-j7-GkK" secondAttribute="bottom" constant="8" symbolic="YES" id="C1T-zS-kvg"/>
|
||||
<constraint firstItem="lng-AE-g0J" firstAttribute="trailing" secondItem="ef4-8J-eFn" secondAttribute="trailing" id="CZX-pB-q5g"/>
|
||||
<constraint firstAttribute="trailing" secondItem="lng-AE-g0J" secondAttribute="trailing" constant="24" id="IcR-jx-NSg"/>
|
||||
<constraint firstAttribute="bottom" secondItem="WE7-7J-vda" secondAttribute="bottom" id="Iin-QO-D0d"/>
|
||||
<constraint firstItem="Kft-TG-O5S" firstAttribute="centerY" secondItem="ef4-8J-eFn" secondAttribute="centerY" id="KcO-x8-pVF"/>
|
||||
<constraint firstItem="ZXA-oi-Zv3" firstAttribute="trailing" secondItem="q3C-S0-iNn" secondAttribute="trailing" id="L02-vk-mXx"/>
|
||||
<constraint firstItem="q3C-S0-iNn" firstAttribute="leading" secondItem="9CP-zt-WuH" secondAttribute="leading" id="LU9-Hv-S1A"/>
|
||||
<constraint firstItem="HPg-NP-kjP" firstAttribute="leading" secondItem="a3z-VL-3xV" secondAttribute="leading" constant="48" id="PNu-1I-nsU"/>
|
||||
<constraint firstItem="ZXA-oi-Zv3" firstAttribute="leading" secondItem="Qfe-Ql-iCO" secondAttribute="trailing" constant="8" symbolic="YES" id="PgY-wY-6Bn"/>
|
||||
<constraint firstItem="Baj-Yh-kmj" firstAttribute="leading" secondItem="a3z-VL-3xV" secondAttribute="leading" constant="20" symbolic="YES" id="RRQ-tg-CK5"/>
|
||||
<constraint firstItem="ef4-8J-eFn" firstAttribute="leading" secondItem="Kft-TG-O5S" secondAttribute="trailing" constant="8" symbolic="YES" id="Re7-UO-qi2"/>
|
||||
<constraint firstItem="R4F-j7-GkK" firstAttribute="leading" secondItem="ef4-8J-eFn" secondAttribute="leading" id="T8h-lf-Ob1"/>
|
||||
<constraint firstItem="R4F-j7-GkK" firstAttribute="baseline" secondItem="lng-AE-g0J" secondAttribute="baseline" id="ULP-n0-2dN"/>
|
||||
<constraint firstItem="q3C-S0-iNn" firstAttribute="trailing" secondItem="9CP-zt-WuH" secondAttribute="trailing" id="VYP-MM-OdM"/>
|
||||
<constraint firstItem="q3C-S0-iNn" firstAttribute="top" secondItem="ZXA-oi-Zv3" secondAttribute="bottom" constant="10" symbolic="YES" id="VnR-0o-20b"/>
|
||||
<constraint firstItem="ef4-8J-eFn" firstAttribute="top" secondItem="R4F-j7-GkK" secondAttribute="bottom" constant="8" symbolic="YES" id="Wll-Vg-0hg"/>
|
||||
<constraint firstItem="HPg-NP-kjP" firstAttribute="leading" secondItem="a3z-VL-3xV" secondAttribute="leading" constant="48" id="Xln-YE-oCs"/>
|
||||
<constraint firstItem="R4F-j7-GkK" firstAttribute="leading" secondItem="HPg-NP-kjP" secondAttribute="trailing" constant="8" symbolic="YES" id="YBu-pt-34q"/>
|
||||
<constraint firstItem="Otb-CO-KUH" firstAttribute="leading" secondItem="R4F-j7-GkK" secondAttribute="trailing" constant="8" symbolic="YES" id="ZSo-xg-RuF"/>
|
||||
<constraint firstItem="HPg-NP-kjP" firstAttribute="baseline" secondItem="R4F-j7-GkK" secondAttribute="baseline" id="W81-Yc-pdO"/>
|
||||
<constraint firstItem="Kft-TG-O5S" firstAttribute="leading" secondItem="a3z-VL-3xV" secondAttribute="leading" constant="32" id="a9y-zK-bZe"/>
|
||||
<constraint firstItem="Qfe-Ql-iCO" firstAttribute="leading" secondItem="a3z-VL-3xV" secondAttribute="leading" constant="41" id="dEP-s2-oAE"/>
|
||||
<constraint firstItem="ef4-8J-eFn" firstAttribute="trailing" secondItem="ZXA-oi-Zv3" secondAttribute="trailing" id="dPa-bs-R24"/>
|
||||
<constraint firstItem="9CP-zt-WuH" firstAttribute="top" secondItem="q3C-S0-iNn" secondAttribute="bottom" constant="8" symbolic="YES" id="dWv-BQ-kkc"/>
|
||||
<constraint firstItem="lng-AE-g0J" firstAttribute="leading" secondItem="Otb-CO-KUH" secondAttribute="trailing" constant="7" id="fMi-Hj-wWf"/>
|
||||
<constraint firstAttribute="trailing" secondItem="WE7-7J-vda" secondAttribute="trailing" id="gmj-rt-pdO"/>
|
||||
<constraint firstItem="lng-AE-g0J" firstAttribute="leading" secondItem="Otb-CO-KUH" secondAttribute="trailing" constant="4" id="lAw-lh-auf"/>
|
||||
<constraint firstItem="WE7-7J-vda" firstAttribute="leading" secondItem="a3z-VL-3xV" secondAttribute="leading" id="msE-7l-3me"/>
|
||||
<constraint firstItem="q3C-S0-iNn" firstAttribute="leading" secondItem="Baj-Yh-kmj" secondAttribute="trailing" constant="8" symbolic="YES" id="nq1-pz-qJC"/>
|
||||
<constraint firstItem="9CP-zt-WuH" firstAttribute="leading" secondItem="Zgs-86-BfH" secondAttribute="leading" id="pCy-Qa-Q5Z"/>
|
||||
<constraint firstItem="R4F-j7-GkK" firstAttribute="top" secondItem="a3z-VL-3xV" secondAttribute="top" constant="20" symbolic="YES" id="pX9-Xh-4s2"/>
|
||||
<constraint firstItem="lng-AE-g0J" firstAttribute="trailing" secondItem="ef4-8J-eFn" secondAttribute="trailing" id="qPu-jF-jbe"/>
|
||||
<constraint firstItem="Otb-CO-KUH" firstAttribute="leading" secondItem="R4F-j7-GkK" secondAttribute="trailing" constant="8" symbolic="YES" id="pG6-vC-1Eq"/>
|
||||
<constraint firstItem="R4F-j7-GkK" firstAttribute="top" secondItem="a3z-VL-3xV" secondAttribute="top" constant="20" symbolic="YES" id="poQ-rh-f66"/>
|
||||
<constraint firstItem="ZXA-oi-Zv3" firstAttribute="top" secondItem="ef4-8J-eFn" secondAttribute="bottom" constant="8" symbolic="YES" id="s3I-kU-UAW"/>
|
||||
<constraint firstItem="Otb-CO-KUH" firstAttribute="top" secondItem="lng-AE-g0J" secondAttribute="top" id="sJ4-q0-b6J"/>
|
||||
<constraint firstItem="ef4-8J-eFn" firstAttribute="leading" secondItem="ZXA-oi-Zv3" secondAttribute="leading" id="stj-YW-LGc"/>
|
||||
<constraint firstItem="Otb-CO-KUH" firstAttribute="top" secondItem="lng-AE-g0J" secondAttribute="top" id="uEw-aW-KhG"/>
|
||||
<constraint firstItem="R4F-j7-GkK" firstAttribute="leading" secondItem="HPg-NP-kjP" secondAttribute="trailing" constant="8" symbolic="YES" id="tBe-UA-X2R"/>
|
||||
<constraint firstItem="Otb-CO-KUH" firstAttribute="trailing" secondItem="Zgs-86-BfH" secondAttribute="trailing" id="uLJ-aX-eat"/>
|
||||
<constraint firstItem="Zgs-86-BfH" firstAttribute="top" secondItem="9CP-zt-WuH" secondAttribute="bottom" constant="6" symbolic="YES" id="vuI-6B-cns"/>
|
||||
<constraint firstAttribute="trailing" secondItem="lng-AE-g0J" secondAttribute="trailing" constant="24" id="vxw-Pk-UqG"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<color key="fillColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
|
@ -7,6 +7,8 @@
|
||||
//
|
||||
|
||||
import Cocoa
|
||||
import RxCocoa
|
||||
import RxSwift
|
||||
|
||||
class PreferencesWindowController: NSWindowController
|
||||
, NSTableViewDataSource, NSTableViewDelegate {
|
||||
@ -18,6 +20,7 @@ class PreferencesWindowController: NSWindowController
|
||||
|
||||
@IBOutlet weak var hostTextField: NSTextField!
|
||||
@IBOutlet weak var portTextField: NSTextField!
|
||||
@IBOutlet weak var kcptunPortTextField: NSTextField!
|
||||
@IBOutlet weak var methodTextField: NSComboBox!
|
||||
|
||||
@IBOutlet weak var passwordTextField: NSTextField!
|
||||
@ -41,12 +44,15 @@ class PreferencesWindowController: NSWindowController
|
||||
var profileMgr: ServerProfileManager!
|
||||
|
||||
var editingProfile: ServerProfile!
|
||||
|
||||
var enabledKcptunSubDisosable: Disposable?
|
||||
|
||||
|
||||
override func windowDidLoad() {
|
||||
super.windowDidLoad()
|
||||
|
||||
// Implement this method to handle any initialization after your window controller's window has been loaded from its nib file.
|
||||
|
||||
defaults = UserDefaults.standard
|
||||
profileMgr = ServerProfileManager.instance
|
||||
|
||||
@ -202,9 +208,21 @@ class PreferencesWindowController: NSWindowController
|
||||
|
||||
func bindProfile(_ index:Int) {
|
||||
NSLog("bind profile \(index)")
|
||||
if let dis = enabledKcptunSubDisosable {
|
||||
dis.dispose()
|
||||
enabledKcptunSubDisosable = Optional.none
|
||||
}
|
||||
if index >= 0 && index < profileMgr.profiles.count {
|
||||
editingProfile = profileMgr.profiles[index]
|
||||
|
||||
|
||||
enabledKcptunSubDisosable = editingProfile.rx.observeWeakly(Bool.self, "enabledKcptun")
|
||||
.subscribe(onNext: { v in
|
||||
if let enabled = v {
|
||||
self.portTextField.isEnabled = !enabled
|
||||
}
|
||||
})
|
||||
|
||||
hostTextField.bind("value", to: editingProfile, withKeyPath: "serverHost"
|
||||
, options: [NSContinuouslyUpdatesValueBindingOption: true])
|
||||
portTextField.bind("value", to: editingProfile, withKeyPath: "serverPort"
|
||||
@ -226,6 +244,9 @@ class PreferencesWindowController: NSWindowController
|
||||
kcptunCheckBoxBtn.bind("value", to: editingProfile, withKeyPath: "enabledKcptun"
|
||||
, options: [NSContinuouslyUpdatesValueBindingOption: true])
|
||||
|
||||
kcptunPortTextField.bind("value", to: editingProfile, withKeyPath: "serverPort"
|
||||
, options: [NSContinuouslyUpdatesValueBindingOption: true])
|
||||
|
||||
kcptunProfileBox.bind("Hidden", to: editingProfile, withKeyPath: "enabledKcptun"
|
||||
, options: [NSContinuouslyUpdatesValueBindingOption: false,
|
||||
NSValueTransformerNameBindingOption: NSValueTransformerName.negateBooleanTransformerName])
|
||||
|
Reference in New Issue
Block a user