mirror of
https://github.com/MacPass/MacPass.git
synced 2025-12-13 08:52:20 +00:00
Merge branch 'feature/enhance-password-change-settings-ux'
This commit is contained in:
@@ -2031,12 +2031,12 @@
|
||||
4C77E35915B84A240093A587 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
BuildIndependentTargetsInParallel = YES;
|
||||
CLASSPREFIX = MP;
|
||||
LastUpgradeCheck = 1400;
|
||||
LastUpgradeCheck = 1430;
|
||||
ORGANIZATIONNAME = "HicknHack Software GmbH";
|
||||
TargetAttributes = {
|
||||
4C77E36115B84A240093A587 = {
|
||||
DevelopmentTeam = 55SM4L4Z97;
|
||||
ProvisioningStyle = Automatic;
|
||||
};
|
||||
};
|
||||
@@ -3256,7 +3256,7 @@
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
CURRENT_PROJECT_VERSION = "${CURRENT_PROJECT_VERSION}";
|
||||
DEAD_CODE_STRIPPING = YES;
|
||||
DEVELOPMENT_TEAM = "";
|
||||
DEVELOPMENT_TEAM = 55SM4L4Z97;
|
||||
ENABLE_HARDENED_RUNTIME = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
@@ -3278,7 +3278,6 @@
|
||||
PROVISIONING_PROFILE = "";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SDKROOT = macosx;
|
||||
STRIP_STYLE = debugging;
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = Debug;
|
||||
@@ -3295,7 +3294,7 @@
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
CURRENT_PROJECT_VERSION = "${CURRENT_PROJECT_VERSION}";
|
||||
DEAD_CODE_STRIPPING = YES;
|
||||
DEVELOPMENT_TEAM = "";
|
||||
DEVELOPMENT_TEAM = 55SM4L4Z97;
|
||||
ENABLE_HARDENED_RUNTIME = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
@@ -3318,7 +3317,6 @@
|
||||
PROVISIONING_PROFILE = "";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SDKROOT = macosx;
|
||||
STRIP_STYLE = debugging;
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = Release;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "1400"
|
||||
LastUpgradeVersion = "1430"
|
||||
version = "2.0">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="19529" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||
<dependencies>
|
||||
<deployment identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="19529"/>
|
||||
<deployment version="101304" identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21701"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
@@ -37,6 +37,7 @@
|
||||
<outlet property="historyMaximumSizeTextField" destination="1273" id="5Fo-Pp-8dY"/>
|
||||
<outlet property="keyDerivationPopupButton" destination="2cq-R3-Ksh" id="p3N-lu-r4C"/>
|
||||
<outlet property="keyDerivationSettingsTabView" destination="2MY-PW-kzL" id="1iZ-jt-nxi"/>
|
||||
<outlet property="lastKeyChangeTextField" destination="vkL-2N-0Hi" id="wm3-aR-U8m"/>
|
||||
<outlet property="recommendKeyChangeCheckButton" destination="Hqc-B0-xyz" id="3CK-D7-b8S"/>
|
||||
<outlet property="recommendKeyChangeIntervalStepper" destination="GUO-6H-UI2" id="gIQ-c2-pkx"/>
|
||||
<outlet property="recommendKeyChangeIntervalTextField" destination="19r-LE-7X5" id="c5C-1h-LpD"/>
|
||||
@@ -51,14 +52,14 @@
|
||||
<window title="Window" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" animationBehavior="default" id="1">
|
||||
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES"/>
|
||||
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
|
||||
<rect key="contentRect" x="196" y="240" width="500" height="360"/>
|
||||
<rect key="contentRect" x="196" y="240" width="546" height="395"/>
|
||||
<rect key="screenRect" x="0.0" y="0.0" width="2560" height="1415"/>
|
||||
<view key="contentView" misplaced="YES" id="2">
|
||||
<rect key="frame" x="0.0" y="0.0" width="500" height="380"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="546" height="467"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="288">
|
||||
<rect key="frame" x="433" y="13" width="54" height="32"/>
|
||||
<rect key="frame" x="479" y="13" width="54" height="32"/>
|
||||
<buttonCell key="cell" type="push" title="OK" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="289">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
@@ -71,7 +72,7 @@ DQ
|
||||
</connections>
|
||||
</button>
|
||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="956">
|
||||
<rect key="frame" x="359" y="13" width="76" height="32"/>
|
||||
<rect key="frame" x="405" y="13" width="76" height="32"/>
|
||||
<buttonCell key="cell" type="push" title="Cancel" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="957">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
@@ -84,16 +85,16 @@ Gw
|
||||
</connections>
|
||||
</button>
|
||||
<tabView translatesAutoresizingMaskIntoConstraints="NO" id="357">
|
||||
<rect key="frame" x="13" y="40" width="474" height="334"/>
|
||||
<rect key="frame" x="13" y="40" width="520" height="421"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
<tabViewItems>
|
||||
<tabViewItem label="General" identifier="1" id="358">
|
||||
<view key="view" id="361">
|
||||
<rect key="frame" x="10" y="33" width="454" height="264"/>
|
||||
<rect key="frame" x="10" y="33" width="783" height="264"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="231">
|
||||
<rect key="frame" x="154" y="223" width="280" height="21"/>
|
||||
<rect key="frame" x="483" y="223" width="280" height="21"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="280" id="cra-uC-nCv"/>
|
||||
</constraints>
|
||||
@@ -104,7 +105,7 @@ Gw
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="256">
|
||||
<rect key="frame" x="70" y="200" width="78" height="16"/>
|
||||
<rect key="frame" x="399" y="200" width="78" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Description:" id="257">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
@@ -112,7 +113,7 @@ Gw
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="189">
|
||||
<rect key="frame" x="46" y="227" width="102" height="16"/>
|
||||
<rect key="frame" x="375" y="227" width="102" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Database name:" id="190">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
@@ -120,7 +121,7 @@ Gw
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1394">
|
||||
<rect key="frame" x="151" y="71" width="72" height="25"/>
|
||||
<rect key="frame" x="480" y="71" width="72" height="25"/>
|
||||
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="1395">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="menu"/>
|
||||
@@ -133,7 +134,7 @@ Gw
|
||||
</popUpButtonCell>
|
||||
</popUpButton>
|
||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1404">
|
||||
<rect key="frame" x="60" y="77" width="88" height="16"/>
|
||||
<rect key="frame" x="389" y="77" width="88" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Compression:" id="1405">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
@@ -141,7 +142,7 @@ Gw
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1434">
|
||||
<rect key="frame" x="107" y="48" width="41" height="16"/>
|
||||
<rect key="frame" x="436" y="48" width="41" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Color:" id="1435">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
@@ -149,7 +150,7 @@ Gw
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<colorWell translatesAutoresizingMaskIntoConstraints="NO" id="1439" customClass="HNHUIColorWell">
|
||||
<rect key="frame" x="154" y="44" width="44" height="23"/>
|
||||
<rect key="frame" x="480" y="42" width="50" height="27"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="44" id="XBF-V3-71G"/>
|
||||
<constraint firstAttribute="height" constant="23" id="fgN-h5-Mr8"/>
|
||||
@@ -157,7 +158,7 @@ Gw
|
||||
<color key="color" red="0.05813049898" green="0.055541899059999997" blue="1" alpha="1" colorSpace="calibratedRGB"/>
|
||||
</colorWell>
|
||||
<scrollView horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="10" verticalPageScroll="10" hasHorizontalScroller="NO" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1530">
|
||||
<rect key="frame" x="154" y="115" width="280" height="100"/>
|
||||
<rect key="frame" x="483" y="115" width="280" height="100"/>
|
||||
<clipView key="contentView" drawsBackground="NO" id="WOI-1v-RCe">
|
||||
<rect key="frame" x="1" y="1" width="278" height="98"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
@@ -187,7 +188,7 @@ Gw
|
||||
</scroller>
|
||||
</scrollView>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="RhU-5I-S5l">
|
||||
<rect key="frame" x="75" y="20" width="73" height="16"/>
|
||||
<rect key="frame" x="404" y="20" width="73" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="File format:" id="bTk-YZ-x0G">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
@@ -195,7 +196,7 @@ Gw
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1Ci-0B-yV5">
|
||||
<rect key="frame" x="152" y="20" width="72" height="16"/>
|
||||
<rect key="frame" x="481" y="20" width="72" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="VersionInfo" id="Ush-4r-A1A">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
@@ -237,11 +238,11 @@ Gw
|
||||
</tabViewItem>
|
||||
<tabViewItem label="Security" identifier="" id="370">
|
||||
<view key="view" id="371">
|
||||
<rect key="frame" x="10" y="33" width="454" height="288"/>
|
||||
<rect key="frame" x="10" y="33" width="765" height="238"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="3ek-Rg-w82">
|
||||
<rect key="frame" x="149" y="244" width="157" height="25"/>
|
||||
<rect key="frame" x="305" y="194" width="157" height="25"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="150" id="F8Y-Uw-4mL"/>
|
||||
</constraints>
|
||||
@@ -252,7 +253,7 @@ Gw
|
||||
</popUpButtonCell>
|
||||
</popUpButton>
|
||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="vH7-5a-52C">
|
||||
<rect key="frame" x="73" y="251" width="73" height="16"/>
|
||||
<rect key="frame" x="229" y="201" width="73" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Encryption:" id="gxY-UL-bEG">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
@@ -260,13 +261,13 @@ Gw
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<box title="Key derivation" translatesAutoresizingMaskIntoConstraints="NO" id="pbl-Mb-r8V">
|
||||
<rect key="frame" x="17" y="16" width="420" height="224"/>
|
||||
<rect key="frame" x="17" y="16" width="731" height="174"/>
|
||||
<view key="contentView" id="hkT-SX-Te1">
|
||||
<rect key="frame" x="3" y="3" width="414" height="206"/>
|
||||
<rect key="frame" x="4" y="5" width="723" height="154"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="P98-Cu-Tha">
|
||||
<rect key="frame" x="249" y="17" width="146" height="23"/>
|
||||
<rect key="frame" x="558" y="15" width="146" height="23"/>
|
||||
<buttonCell key="cell" type="roundTextured" title="Generate Parameters" bezelStyle="texturedRounded" alignment="center" lineBreakMode="truncatingTail" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="PoI-Er-Y8P">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
@@ -276,16 +277,16 @@ Gw
|
||||
</connections>
|
||||
</button>
|
||||
<tabView drawsBackground="NO" type="noTabsNoBorder" translatesAutoresizingMaskIntoConstraints="NO" id="2MY-PW-kzL">
|
||||
<rect key="frame" x="12" y="47" width="390" height="111"/>
|
||||
<rect key="frame" x="11" y="45" width="701" height="61"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
<tabViewItems>
|
||||
<tabViewItem label="Aes" identifier="1" id="ft1-pl-lpO">
|
||||
<view key="view" id="88i-IZ-Yev">
|
||||
<rect key="frame" x="0.0" y="0.0" width="390" height="61"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="701" height="61"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ztz-iY-hWV">
|
||||
<rect key="frame" x="64" y="23" width="50" height="16"/>
|
||||
<rect key="frame" x="220" y="23" width="50" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Rounds" id="uUQ-9s-M5E">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
@@ -293,7 +294,7 @@ Gw
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="8aq-34-rcd">
|
||||
<rect key="frame" x="120" y="20" width="150" height="21"/>
|
||||
<rect key="frame" x="276" y="20" width="150" height="21"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="150" id="cdb-ED-zB3"/>
|
||||
</constraints>
|
||||
@@ -513,7 +514,7 @@ Gw
|
||||
</tabViewItems>
|
||||
</tabView>
|
||||
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="2cq-R3-Ksh">
|
||||
<rect key="frame" x="129" y="162" width="157" height="25"/>
|
||||
<rect key="frame" x="284" y="110" width="157" height="25"/>
|
||||
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="Pb9-YV-rYe">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="menu"/>
|
||||
@@ -524,7 +525,7 @@ Gw
|
||||
</connections>
|
||||
</popUpButton>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="4el-r1-iRL">
|
||||
<rect key="frame" x="63" y="169" width="63" height="16"/>
|
||||
<rect key="frame" x="218" y="117" width="63" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Algorithm" id="GVd-KH-pHc">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
@@ -569,267 +570,296 @@ Gw
|
||||
</tabViewItem>
|
||||
<tabViewItem label="Advanced" identifier="" id="368">
|
||||
<view key="view" id="369">
|
||||
<rect key="frame" x="10" y="33" width="513" height="393"/>
|
||||
<rect key="frame" x="10" y="33" width="500" height="375"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<button verticalHuggingPriority="1000" translatesAutoresizingMaskIntoConstraints="NO" id="531">
|
||||
<rect key="frame" x="184" y="356" width="149" height="18"/>
|
||||
<buttonCell key="cell" type="check" title="Enable Entry History" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="532">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
</button>
|
||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1273">
|
||||
<rect key="frame" x="186" y="328" width="64" height="21"/>
|
||||
<gridView xPlacement="leading" yPlacement="bottom" rowAlignment="firstBaseline" columnSpacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="9qm-jk-6rC">
|
||||
<rect key="frame" x="20" y="26" width="460" height="329"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="64" id="PRg-vx-8QK"/>
|
||||
<constraint firstItem="593" firstAttribute="top" secondItem="1273" secondAttribute="bottom" constant="10" symbolic="YES" id="hQY-2D-fsW"/>
|
||||
</constraints>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="1275">
|
||||
<byteCountFormatter key="formatter" countStyle="binary" allowsNonnumericFormatting="NO" id="q0Y-Ri-l1A"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1294">
|
||||
<rect key="frame" x="255" y="325" width="19" height="28"/>
|
||||
<stepperCell key="cell" continuous="YES" alignment="left" maxValue="100" id="1295"/>
|
||||
</stepper>
|
||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1268">
|
||||
<rect key="frame" x="41" y="331" width="139" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" enabled="NO" sendsActionOnEndEditing="YES" title="Maximum history size:" id="1269">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="557">
|
||||
<rect key="frame" x="18" y="304" width="162" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" enabled="NO" sendsActionOnEndEditing="YES" title="Maximum items in history:" id="558">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="593">
|
||||
<rect key="frame" x="186" y="301" width="64" height="21"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="594">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="599">
|
||||
<rect key="frame" x="255" y="298" width="19" height="28"/>
|
||||
<stepperCell key="cell" continuous="YES" alignment="left" maxValue="100" id="600"/>
|
||||
</stepper>
|
||||
<button translatesAutoresizingMaskIntoConstraints="NO" id="535">
|
||||
<rect key="frame" x="184" y="268" width="141" height="18"/>
|
||||
<buttonCell key="cell" type="check" title="Enable Recycle Bin" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="536">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
</button>
|
||||
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="678">
|
||||
<rect key="frame" x="183" y="237" width="39" height="25"/>
|
||||
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="679">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="menu"/>
|
||||
<menu key="menu" title="OtherViews" id="680"/>
|
||||
</popUpButtonCell>
|
||||
</popUpButton>
|
||||
<box verticalHuggingPriority="750" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="U7M-MH-EFw">
|
||||
<rect key="frame" x="20" y="291" width="473" height="5"/>
|
||||
</box>
|
||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1582">
|
||||
<rect key="frame" x="63" y="203" width="117" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Default Username:" id="1591">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1730">
|
||||
<rect key="frame" x="186" y="200" width="307" height="21"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="1731">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1738">
|
||||
<rect key="frame" x="183" y="156" width="39" height="25"/>
|
||||
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="1739">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="menu"/>
|
||||
<menu key="menu" title="OtherViews" id="1740"/>
|
||||
</popUpButtonCell>
|
||||
</popUpButton>
|
||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="19r-LE-7X5">
|
||||
<rect key="frame" x="186" y="98" width="128" height="21"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="128" id="COb-0V-OmT"/>
|
||||
</constraints>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="Nca-aw-6rR">
|
||||
<customFormatter key="formatter" id="fXZ-RM-4M7" customClass="MPDayCountFormatter"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="GUO-6H-UI2">
|
||||
<rect key="frame" x="319" y="94" width="19" height="28"/>
|
||||
<stepperCell key="cell" continuous="YES" alignment="left" maxValue="100" id="qQV-3d-GpK"/>
|
||||
</stepper>
|
||||
<button verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="Hqc-B0-xyz">
|
||||
<rect key="frame" x="184" y="126" width="175" height="18"/>
|
||||
<buttonCell key="cell" type="check" title="Recommend key change" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="CtU-Eq-dgy">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
</button>
|
||||
<button translatesAutoresizingMaskIntoConstraints="NO" id="upv-b3-vCc">
|
||||
<rect key="frame" x="184" y="73" width="133" height="18"/>
|
||||
<buttonCell key="cell" type="check" title="Force key change" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="z6u-YT-7LE">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
</button>
|
||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="VYh-cm-fix">
|
||||
<rect key="frame" x="186" y="45" width="128" height="21"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="M9G-Yy-1s4">
|
||||
<customFormatter key="formatter" id="3Ax-U4-Ofb" customClass="MPDayCountFormatter"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="lH4-xp-5QF">
|
||||
<rect key="frame" x="319" y="41" width="19" height="28"/>
|
||||
<stepperCell key="cell" continuous="YES" alignment="left" maxValue="100" id="7Hw-Qf-zWf"/>
|
||||
</stepper>
|
||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1584">
|
||||
<rect key="frame" x="75" y="163" width="105" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Template Group:" id="1588">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<box verticalHuggingPriority="750" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="I0d-r2-ySf">
|
||||
<rect key="frame" x="20" y="149" width="473" height="5"/>
|
||||
</box>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="NPm-5h-2Mz">
|
||||
<rect key="frame" x="65" y="244" width="115" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Recyclebin Group:" id="kI5-Kp-byE">
|
||||
<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" translatesAutoresizingMaskIntoConstraints="NO" id="OmP-GD-2nA">
|
||||
<rect key="frame" x="27" y="101" width="153" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Recommend key change" id="Xib-Fn-sqx">
|
||||
<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" translatesAutoresizingMaskIntoConstraints="NO" id="S0c-4E-42z">
|
||||
<rect key="frame" x="57" y="48" width="123" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Enforce key change" id="5QH-N1-FHK">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button translatesAutoresizingMaskIntoConstraints="NO" id="VMc-Qg-eCr">
|
||||
<rect key="frame" x="184" y="20" width="261" height="18"/>
|
||||
<buttonCell key="cell" type="check" title="Force key change once after unlocking" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="pA1-aL-KjT">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
</button>
|
||||
<rows>
|
||||
<gridRow id="s07-ih-7VI"/>
|
||||
<gridRow id="os2-7m-aVp"/>
|
||||
<gridRow id="sfy-Q8-exC"/>
|
||||
<gridRow id="ljf-cP-vpU"/>
|
||||
<gridRow id="MfD-4k-iaA"/>
|
||||
<gridRow id="KPg-u4-okO"/>
|
||||
<gridRow id="6xb-2P-Cvu"/>
|
||||
<gridRow id="Kew-Bj-DCg"/>
|
||||
<gridRow id="2Of-0A-Vfl"/>
|
||||
<gridRow id="L3e-om-Ic8"/>
|
||||
<gridRow id="4hp-Px-ZS4"/>
|
||||
<gridRow id="FDr-78-Xps"/>
|
||||
<gridRow id="izZ-sN-q4t"/>
|
||||
<gridRow id="PKM-81-EQp"/>
|
||||
<gridRow id="hna-iA-5aC"/>
|
||||
</rows>
|
||||
<columns>
|
||||
<gridColumn xPlacement="trailing" id="Qql-Lo-f3g"/>
|
||||
<gridColumn xPlacement="fill" id="PlK-JJ-sPq"/>
|
||||
<gridColumn id="1uH-Gp-dwg"/>
|
||||
</columns>
|
||||
<gridCells>
|
||||
<gridCell row="s07-ih-7VI" column="Qql-Lo-f3g" id="nJh-2X-IpD"/>
|
||||
<gridCell row="s07-ih-7VI" column="PlK-JJ-sPq" id="M9z-JP-ppd">
|
||||
<button key="contentView" verticalHuggingPriority="1000" translatesAutoresizingMaskIntoConstraints="NO" id="531">
|
||||
<rect key="frame" x="166" y="312" width="261" height="18"/>
|
||||
<buttonCell key="cell" type="check" title="Enable Entry History" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="532">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
</button>
|
||||
</gridCell>
|
||||
<gridCell row="s07-ih-7VI" column="1uH-Gp-dwg" id="UgG-ZX-SWI"/>
|
||||
<gridCell row="os2-7m-aVp" column="Qql-Lo-f3g" xPlacement="trailing" id="X92-9J-0Cg">
|
||||
<textField key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1268">
|
||||
<rect key="frame" x="21" y="289" width="139" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" enabled="NO" sendsActionOnEndEditing="YES" title="Maximum history size:" id="1269">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
</gridCell>
|
||||
<gridCell row="os2-7m-aVp" column="PlK-JJ-sPq" id="PKf-K7-AsJ">
|
||||
<textField key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1273">
|
||||
<rect key="frame" x="168" y="286" width="259" height="21"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="1275">
|
||||
<byteCountFormatter key="formatter" countStyle="binary" allowsNonnumericFormatting="NO" id="q0Y-Ri-l1A"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
</gridCell>
|
||||
<gridCell row="os2-7m-aVp" column="1uH-Gp-dwg" id="EFp-x4-VeA">
|
||||
<stepper key="contentView" horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1294">
|
||||
<rect key="frame" x="434" y="283" width="19" height="28"/>
|
||||
<stepperCell key="cell" continuous="YES" alignment="left" maxValue="100" id="1295"/>
|
||||
</stepper>
|
||||
</gridCell>
|
||||
<gridCell row="sfy-Q8-exC" column="Qql-Lo-f3g" id="Vns-Oj-BSD">
|
||||
<textField key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="557">
|
||||
<rect key="frame" x="-2" y="258" width="162" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" enabled="NO" sendsActionOnEndEditing="YES" title="Maximum items in history:" id="558">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
</gridCell>
|
||||
<gridCell row="sfy-Q8-exC" column="PlK-JJ-sPq" id="Z22-Zw-KLo">
|
||||
<textField key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="593">
|
||||
<rect key="frame" x="168" y="255" width="259" height="21"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="594">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
</gridCell>
|
||||
<gridCell row="sfy-Q8-exC" column="1uH-Gp-dwg" id="4WU-Rb-7mI">
|
||||
<stepper key="contentView" horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="599">
|
||||
<rect key="frame" x="434" y="252" width="19" height="28"/>
|
||||
<stepperCell key="cell" continuous="YES" alignment="left" maxValue="100" id="600"/>
|
||||
</stepper>
|
||||
</gridCell>
|
||||
<gridCell row="ljf-cP-vpU" column="Qql-Lo-f3g" xPlacement="fill" id="Hu0-Gi-fjN"/>
|
||||
<gridCell row="ljf-cP-vpU" column="PlK-JJ-sPq" id="UHJ-5t-yfD">
|
||||
<box key="contentView" verticalHuggingPriority="750" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="U7M-MH-EFw">
|
||||
<rect key="frame" x="168" y="246" width="259" height="5"/>
|
||||
</box>
|
||||
</gridCell>
|
||||
<gridCell row="ljf-cP-vpU" column="1uH-Gp-dwg" id="Aq7-ZC-tkG"/>
|
||||
<gridCell row="MfD-4k-iaA" column="Qql-Lo-f3g" id="RuO-oP-DuO"/>
|
||||
<gridCell row="MfD-4k-iaA" column="PlK-JJ-sPq" id="Imr-83-2M9">
|
||||
<button key="contentView" translatesAutoresizingMaskIntoConstraints="NO" id="535">
|
||||
<rect key="frame" x="166" y="225" width="261" height="18"/>
|
||||
<buttonCell key="cell" type="check" title="Enable Recycle Bin" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="536">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
</button>
|
||||
</gridCell>
|
||||
<gridCell row="MfD-4k-iaA" column="1uH-Gp-dwg" id="tS6-3i-0YK"/>
|
||||
<gridCell row="KPg-u4-okO" column="Qql-Lo-f3g" id="kya-ZG-GNN">
|
||||
<textField key="contentView" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="NPm-5h-2Mz">
|
||||
<rect key="frame" x="45" y="203" width="115" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Recyclebin Group:" id="kI5-Kp-byE">
|
||||
<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>
|
||||
</gridCell>
|
||||
<gridCell row="KPg-u4-okO" column="PlK-JJ-sPq" id="r55-ea-Eyd">
|
||||
<popUpButton key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="678">
|
||||
<rect key="frame" x="165" y="196" width="266" height="25"/>
|
||||
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="679">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="menu"/>
|
||||
<menu key="menu" title="OtherViews" id="680"/>
|
||||
</popUpButtonCell>
|
||||
</popUpButton>
|
||||
</gridCell>
|
||||
<gridCell row="KPg-u4-okO" column="1uH-Gp-dwg" id="Lw7-ly-vmB"/>
|
||||
<gridCell row="6xb-2P-Cvu" column="Qql-Lo-f3g" id="Xi5-LE-kit">
|
||||
<textField key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1582">
|
||||
<rect key="frame" x="43" y="176" width="117" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Default Username:" id="1591">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
</gridCell>
|
||||
<gridCell row="6xb-2P-Cvu" column="PlK-JJ-sPq" id="kiF-fs-5IE">
|
||||
<textField key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1730">
|
||||
<rect key="frame" x="168" y="173" width="259" height="21"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="1731">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
</gridCell>
|
||||
<gridCell row="6xb-2P-Cvu" column="1uH-Gp-dwg" id="nGR-Qd-LcH"/>
|
||||
<gridCell row="Kew-Bj-DCg" column="Qql-Lo-f3g" id="ilR-QJ-uFr">
|
||||
<textField key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1584">
|
||||
<rect key="frame" x="55" y="150" width="105" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Template Group:" id="1588">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
</gridCell>
|
||||
<gridCell row="Kew-Bj-DCg" column="PlK-JJ-sPq" id="d7c-Vq-hsu">
|
||||
<popUpButton key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1738">
|
||||
<rect key="frame" x="165" y="143" width="266" height="25"/>
|
||||
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="1739">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="menu"/>
|
||||
<menu key="menu" title="OtherViews" id="1740"/>
|
||||
</popUpButtonCell>
|
||||
</popUpButton>
|
||||
</gridCell>
|
||||
<gridCell row="Kew-Bj-DCg" column="1uH-Gp-dwg" id="fpk-Be-TQD"/>
|
||||
<gridCell row="2Of-0A-Vfl" column="Qql-Lo-f3g" xPlacement="fill" id="650-gg-Qbs"/>
|
||||
<gridCell row="2Of-0A-Vfl" column="PlK-JJ-sPq" id="Arn-1Z-3GQ">
|
||||
<box key="contentView" verticalHuggingPriority="750" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="I0d-r2-ySf">
|
||||
<rect key="frame" x="168" y="138" width="259" height="5"/>
|
||||
</box>
|
||||
</gridCell>
|
||||
<gridCell row="2Of-0A-Vfl" column="1uH-Gp-dwg" id="P4D-Tm-sbJ"/>
|
||||
<gridCell row="L3e-om-Ic8" column="Qql-Lo-f3g" id="kzo-zz-hYh"/>
|
||||
<gridCell row="L3e-om-Ic8" column="PlK-JJ-sPq" id="XXL-yj-FBs">
|
||||
<button key="contentView" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="Hqc-B0-xyz">
|
||||
<rect key="frame" x="166" y="117" width="261" height="18"/>
|
||||
<buttonCell key="cell" type="check" title="Recommend key change" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="CtU-Eq-dgy">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
</button>
|
||||
</gridCell>
|
||||
<gridCell row="L3e-om-Ic8" column="1uH-Gp-dwg" id="xTv-nk-F9D"/>
|
||||
<gridCell row="4hp-Px-ZS4" column="Qql-Lo-f3g" id="ZI0-zQ-gg8">
|
||||
<textField key="contentView" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="OmP-GD-2nA">
|
||||
<rect key="frame" x="7" y="94" width="153" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Recommend key change" id="Xib-Fn-sqx">
|
||||
<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>
|
||||
</gridCell>
|
||||
<gridCell row="4hp-Px-ZS4" column="PlK-JJ-sPq" id="gAl-mU-rhC">
|
||||
<textField key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="19r-LE-7X5">
|
||||
<rect key="frame" x="168" y="91" width="259" height="21"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="Nca-aw-6rR">
|
||||
<customFormatter key="formatter" id="fXZ-RM-4M7" customClass="MPDayCountFormatter"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
</gridCell>
|
||||
<gridCell row="4hp-Px-ZS4" column="1uH-Gp-dwg" id="JeN-68-oQb">
|
||||
<stepper key="contentView" horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="GUO-6H-UI2">
|
||||
<rect key="frame" x="434" y="88" width="19" height="28"/>
|
||||
<stepperCell key="cell" continuous="YES" alignment="left" maxValue="100" id="qQV-3d-GpK"/>
|
||||
</stepper>
|
||||
</gridCell>
|
||||
<gridCell row="FDr-78-Xps" column="Qql-Lo-f3g" id="jFb-MI-vz6"/>
|
||||
<gridCell row="FDr-78-Xps" column="PlK-JJ-sPq" id="EdL-ZX-dSC">
|
||||
<button key="contentView" translatesAutoresizingMaskIntoConstraints="NO" id="upv-b3-vCc">
|
||||
<rect key="frame" x="166" y="68" width="261" height="18"/>
|
||||
<buttonCell key="cell" type="check" title="Force key change" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="z6u-YT-7LE">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
</button>
|
||||
</gridCell>
|
||||
<gridCell row="FDr-78-Xps" column="1uH-Gp-dwg" id="lEW-cO-ZwS"/>
|
||||
<gridCell row="izZ-sN-q4t" column="Qql-Lo-f3g" id="rqh-02-I8g">
|
||||
<textField key="contentView" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="S0c-4E-42z">
|
||||
<rect key="frame" x="37" y="45" width="123" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Enforce key change" id="5QH-N1-FHK">
|
||||
<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>
|
||||
</gridCell>
|
||||
<gridCell row="izZ-sN-q4t" column="PlK-JJ-sPq" id="68v-f4-5wW">
|
||||
<textField key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="VYh-cm-fix">
|
||||
<rect key="frame" x="168" y="42" width="259" height="21"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="M9G-Yy-1s4">
|
||||
<customFormatter key="formatter" id="3Ax-U4-Ofb" customClass="MPDayCountFormatter"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
</gridCell>
|
||||
<gridCell row="izZ-sN-q4t" column="1uH-Gp-dwg" id="DfF-Dc-hEE">
|
||||
<stepper key="contentView" horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="lH4-xp-5QF">
|
||||
<rect key="frame" x="434" y="39" width="19" height="28"/>
|
||||
<stepperCell key="cell" continuous="YES" alignment="left" maxValue="100" id="7Hw-Qf-zWf"/>
|
||||
</stepper>
|
||||
</gridCell>
|
||||
<gridCell row="PKM-81-EQp" column="Qql-Lo-f3g" id="aOP-9Y-xja"/>
|
||||
<gridCell row="PKM-81-EQp" column="PlK-JJ-sPq" id="xtX-MJ-Trd">
|
||||
<button key="contentView" translatesAutoresizingMaskIntoConstraints="NO" id="VMc-Qg-eCr">
|
||||
<rect key="frame" x="166" y="19" width="261" height="18"/>
|
||||
<buttonCell key="cell" type="check" title="Force key change once after unlocking" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="pA1-aL-KjT">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
</button>
|
||||
</gridCell>
|
||||
<gridCell row="PKM-81-EQp" column="1uH-Gp-dwg" id="D60-xt-9Bt"/>
|
||||
<gridCell row="hna-iA-5aC" column="Qql-Lo-f3g" id="zlc-o1-Fvg"/>
|
||||
<gridCell row="hna-iA-5aC" column="PlK-JJ-sPq" id="btx-7k-Xdx">
|
||||
<textField key="contentView" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="vkL-2N-0Hi">
|
||||
<rect key="frame" x="166" y="0.0" width="263" height="14"/>
|
||||
<textFieldCell key="cell" selectable="YES" title="Last key change was at: DATE" id="KL5-Q0-xoF">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="secondaryLabelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
</gridCell>
|
||||
<gridCell row="hna-iA-5aC" column="1uH-Gp-dwg" id="jjM-Wc-cGN"/>
|
||||
</gridCells>
|
||||
</gridView>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="1273" firstAttribute="leading" secondItem="531" secondAttribute="leading" id="1oM-2t-AOv"/>
|
||||
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="535" secondAttribute="trailing" constant="20" symbolic="YES" id="21A-KW-N4v"/>
|
||||
<constraint firstItem="GUO-6H-UI2" firstAttribute="leading" secondItem="19r-LE-7X5" secondAttribute="trailing" constant="8" symbolic="YES" id="2PV-sa-5h6"/>
|
||||
<constraint firstItem="VYh-cm-fix" firstAttribute="leading" secondItem="531" secondAttribute="leading" id="2Xr-j4-fRh"/>
|
||||
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="GUO-6H-UI2" secondAttribute="trailing" constant="20" symbolic="YES" id="3y6-lK-yT4"/>
|
||||
<constraint firstItem="593" firstAttribute="width" secondItem="1273" secondAttribute="width" id="4Ee-i1-ZVV"/>
|
||||
<constraint firstItem="U7M-MH-EFw" firstAttribute="leading" secondItem="369" secondAttribute="leading" constant="20" symbolic="YES" id="4vC-yz-H7O"/>
|
||||
<constraint firstItem="VYh-cm-fix" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="369" secondAttribute="leading" constant="20" symbolic="YES" id="5FH-au-cde"/>
|
||||
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="Hqc-B0-xyz" secondAttribute="trailing" constant="20" symbolic="YES" id="5c0-xg-zUq"/>
|
||||
<constraint firstItem="531" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="369" secondAttribute="leading" constant="181" id="6zN-79-Qnu"/>
|
||||
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="678" secondAttribute="trailing" constant="20" symbolic="YES" id="7i3-v0-KzW"/>
|
||||
<constraint firstItem="1730" firstAttribute="leading" secondItem="531" secondAttribute="leading" id="8U5-xL-RFD"/>
|
||||
<constraint firstItem="1294" firstAttribute="centerY" secondItem="1273" secondAttribute="centerY" id="9N2-YI-gkU"/>
|
||||
<constraint firstItem="upv-b3-vCc" firstAttribute="top" secondItem="19r-LE-7X5" secondAttribute="bottom" constant="8" symbolic="YES" id="9b8-i8-WsG"/>
|
||||
<constraint firstItem="593" firstAttribute="leading" secondItem="1273" secondAttribute="leading" id="BEV-US-Ovh"/>
|
||||
<constraint firstItem="19r-LE-7X5" firstAttribute="leading" secondItem="531" secondAttribute="leading" id="Bxq-DB-Mdf"/>
|
||||
<constraint firstItem="OmP-GD-2nA" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="369" secondAttribute="leading" constant="20" symbolic="YES" id="Bxq-ck-lhy"/>
|
||||
<constraint firstItem="I0d-r2-ySf" firstAttribute="top" secondItem="1738" secondAttribute="bottom" constant="8" symbolic="YES" id="D8h-V2-rF2"/>
|
||||
<constraint firstItem="Hqc-B0-xyz" firstAttribute="leading" secondItem="531" secondAttribute="leading" id="DVO-fh-dB8"/>
|
||||
<constraint firstItem="531" firstAttribute="top" secondItem="369" secondAttribute="top" constant="20" symbolic="YES" id="DZt-k3-wht"/>
|
||||
<constraint firstItem="1294" firstAttribute="leading" secondItem="1273" secondAttribute="trailing" constant="8" symbolic="YES" id="EAc-QN-Zdi"/>
|
||||
<constraint firstItem="678" firstAttribute="top" secondItem="535" secondAttribute="bottom" constant="8" id="EUL-Ub-Kzl"/>
|
||||
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="599" secondAttribute="trailing" constant="20" symbolic="YES" id="Gsp-ax-sWf"/>
|
||||
<constraint firstItem="1273" firstAttribute="leading" secondItem="1268" secondAttribute="trailing" constant="8" symbolic="YES" id="H0a-Pl-w3M"/>
|
||||
<constraint firstItem="lH4-xp-5QF" firstAttribute="leading" secondItem="VYh-cm-fix" secondAttribute="trailing" constant="8" symbolic="YES" id="Ii9-vL-bAG"/>
|
||||
<constraint firstItem="19r-LE-7X5" firstAttribute="top" secondItem="Hqc-B0-xyz" secondAttribute="bottom" constant="8" symbolic="YES" id="KaF-Ep-rjY"/>
|
||||
<constraint firstItem="1584" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="369" secondAttribute="leading" constant="20" symbolic="YES" id="LT1-en-ksN"/>
|
||||
<constraint firstItem="1268" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="369" secondAttribute="leading" constant="20" symbolic="YES" id="MRP-DE-PpY"/>
|
||||
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="1294" secondAttribute="trailing" constant="20" symbolic="YES" id="Mod-SI-3xF"/>
|
||||
<constraint firstItem="1730" firstAttribute="leading" secondItem="1582" secondAttribute="trailing" constant="8" symbolic="YES" id="NFN-Hh-fQu"/>
|
||||
<constraint firstItem="678" firstAttribute="leading" secondItem="531" secondAttribute="leading" id="NKj-ux-wRY"/>
|
||||
<constraint firstItem="VMc-Qg-eCr" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="369" secondAttribute="leading" constant="20" symbolic="YES" id="Nbn-lS-NER"/>
|
||||
<constraint firstAttribute="trailing" secondItem="1730" secondAttribute="trailing" constant="20" symbolic="YES" id="OrK-k9-PSF"/>
|
||||
<constraint firstItem="1273" firstAttribute="baseline" secondItem="1268" secondAttribute="baseline" id="Q5P-hq-kp1"/>
|
||||
<constraint firstItem="1730" firstAttribute="top" secondItem="678" secondAttribute="bottom" constant="20" id="ROp-qW-SeX"/>
|
||||
<constraint firstItem="VMc-Qg-eCr" firstAttribute="leading" secondItem="531" secondAttribute="leading" id="SIP-kd-jaM"/>
|
||||
<constraint firstItem="1273" firstAttribute="top" secondItem="531" secondAttribute="bottom" constant="8" id="SjI-0M-mxU"/>
|
||||
<constraint firstItem="535" firstAttribute="leading" secondItem="531" secondAttribute="leading" id="TB6-AF-4H6"/>
|
||||
<constraint firstItem="S0c-4E-42z" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="369" secondAttribute="leading" constant="20" symbolic="YES" id="Tuc-bZ-dwc"/>
|
||||
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="upv-b3-vCc" secondAttribute="trailing" constant="20" symbolic="YES" id="U7O-Ai-LSM"/>
|
||||
<constraint firstItem="535" firstAttribute="top" secondItem="U7M-MH-EFw" secondAttribute="bottom" constant="8" symbolic="YES" id="Uvh-5Q-ELd"/>
|
||||
<constraint firstAttribute="trailing" secondItem="U7M-MH-EFw" secondAttribute="trailing" constant="20" symbolic="YES" id="V98-nM-gJb"/>
|
||||
<constraint firstItem="599" firstAttribute="centerY" secondItem="593" secondAttribute="centerY" id="Wc5-zI-ZEb"/>
|
||||
<constraint firstAttribute="trailing" secondItem="I0d-r2-ySf" secondAttribute="trailing" constant="20" symbolic="YES" id="YKf-bh-TK9"/>
|
||||
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="lH4-xp-5QF" secondAttribute="trailing" constant="20" symbolic="YES" id="YeE-Vn-DiZ"/>
|
||||
<constraint firstItem="VMc-Qg-eCr" firstAttribute="top" secondItem="VYh-cm-fix" secondAttribute="bottom" constant="8" symbolic="YES" id="abg-f4-KyH"/>
|
||||
<constraint firstItem="Hqc-B0-xyz" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="369" secondAttribute="leading" constant="20" symbolic="YES" id="b0w-yr-yRd"/>
|
||||
<constraint firstItem="599" firstAttribute="leading" secondItem="593" secondAttribute="trailing" constant="8" symbolic="YES" id="bJC-wD-1tr"/>
|
||||
<constraint firstItem="557" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="369" secondAttribute="leading" constant="20" symbolic="YES" id="cS1-DC-wqY"/>
|
||||
<constraint firstItem="1582" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="369" secondAttribute="leading" constant="20" symbolic="YES" id="cwk-hq-VzW"/>
|
||||
<constraint firstItem="VYh-cm-fix" firstAttribute="leading" secondItem="S0c-4E-42z" secondAttribute="trailing" constant="8" symbolic="YES" id="dT6-1H-A6Y"/>
|
||||
<constraint firstItem="NPm-5h-2Mz" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="369" secondAttribute="leading" constant="20" symbolic="YES" id="fET-L3-Q98"/>
|
||||
<constraint firstItem="593" firstAttribute="leading" secondItem="557" secondAttribute="trailing" constant="8" symbolic="YES" id="gRs-a5-bni"/>
|
||||
<constraint firstItem="1738" firstAttribute="baseline" secondItem="1584" secondAttribute="baseline" id="gqn-vB-VZp"/>
|
||||
<constraint firstItem="1738" firstAttribute="leading" secondItem="531" secondAttribute="leading" id="gwj-YC-hxN"/>
|
||||
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="1738" secondAttribute="trailing" constant="20" symbolic="YES" id="hac-jI-arI"/>
|
||||
<constraint firstAttribute="bottom" relation="greaterThanOrEqual" secondItem="VMc-Qg-eCr" secondAttribute="bottom" constant="20" symbolic="YES" id="he9-J0-S1u"/>
|
||||
<constraint firstItem="VYh-cm-fix" firstAttribute="top" secondItem="upv-b3-vCc" secondAttribute="bottom" constant="8" symbolic="YES" id="hjn-Jx-hqk"/>
|
||||
<constraint firstItem="upv-b3-vCc" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="369" secondAttribute="leading" constant="20" symbolic="YES" id="hy0-Dk-mgY"/>
|
||||
<constraint firstItem="lH4-xp-5QF" firstAttribute="centerY" secondItem="VYh-cm-fix" secondAttribute="centerY" id="kBr-F4-JCu"/>
|
||||
<constraint firstItem="678" firstAttribute="baseline" secondItem="NPm-5h-2Mz" secondAttribute="baseline" id="lG3-Ah-hgg"/>
|
||||
<constraint firstItem="19r-LE-7X5" firstAttribute="leading" secondItem="OmP-GD-2nA" secondAttribute="trailing" constant="8" symbolic="YES" id="my4-Br-O00"/>
|
||||
<constraint firstItem="1738" firstAttribute="leading" secondItem="1584" secondAttribute="trailing" constant="8" symbolic="YES" id="p8Q-8i-dgy"/>
|
||||
<constraint firstItem="678" firstAttribute="leading" secondItem="NPm-5h-2Mz" secondAttribute="trailing" constant="8" symbolic="YES" id="pLt-Cf-KAV"/>
|
||||
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="VMc-Qg-eCr" secondAttribute="trailing" constant="20" symbolic="YES" id="qpu-zJ-eEc"/>
|
||||
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="531" secondAttribute="trailing" constant="180" id="rrS-VQ-gvR"/>
|
||||
<constraint firstItem="upv-b3-vCc" firstAttribute="leading" secondItem="531" secondAttribute="leading" id="rsd-1J-hnh"/>
|
||||
<constraint firstItem="I0d-r2-ySf" firstAttribute="leading" secondItem="369" secondAttribute="leading" constant="20" symbolic="YES" id="s3y-lW-Y2J"/>
|
||||
<constraint firstItem="593" firstAttribute="baseline" secondItem="557" secondAttribute="baseline" id="s4p-cI-vbY"/>
|
||||
<constraint firstItem="1738" firstAttribute="top" secondItem="1730" secondAttribute="bottom" constant="20" symbolic="YES" id="sb5-r3-XLt"/>
|
||||
<constraint firstItem="Hqc-B0-xyz" firstAttribute="top" secondItem="I0d-r2-ySf" secondAttribute="bottom" constant="8" symbolic="YES" id="t5k-Eh-ADF"/>
|
||||
<constraint firstItem="U7M-MH-EFw" firstAttribute="top" secondItem="599" secondAttribute="bottom" constant="8" symbolic="YES" id="t7y-8s-Nio"/>
|
||||
<constraint firstItem="VYh-cm-fix" firstAttribute="width" secondItem="19r-LE-7X5" secondAttribute="width" id="tg1-z9-11D"/>
|
||||
<constraint firstItem="19r-LE-7X5" firstAttribute="baseline" secondItem="OmP-GD-2nA" secondAttribute="baseline" id="uXa-9r-cOg"/>
|
||||
<constraint firstItem="VYh-cm-fix" firstAttribute="baseline" secondItem="S0c-4E-42z" secondAttribute="baseline" id="upv-Da-KSz"/>
|
||||
<constraint firstItem="1730" firstAttribute="baseline" secondItem="1582" secondAttribute="baseline" id="wvt-QO-HZ4"/>
|
||||
<constraint firstItem="GUO-6H-UI2" firstAttribute="centerY" secondItem="19r-LE-7X5" secondAttribute="centerY" id="yQu-gw-reJ"/>
|
||||
<constraint firstItem="593" firstAttribute="top" secondItem="1273" secondAttribute="bottom" constant="6" id="yTD-oa-Y1Q"/>
|
||||
<constraint firstItem="9qm-jk-6rC" firstAttribute="top" secondItem="369" secondAttribute="top" constant="20" symbolic="YES" id="5IF-9q-g5e"/>
|
||||
<constraint firstAttribute="trailing" secondItem="9qm-jk-6rC" secondAttribute="trailing" constant="20" symbolic="YES" id="Tgr-FZ-G2x"/>
|
||||
<constraint firstAttribute="bottom" relation="greaterThanOrEqual" secondItem="9qm-jk-6rC" secondAttribute="bottom" constant="20" symbolic="YES" id="rO7-wN-hSW"/>
|
||||
<constraint firstItem="9qm-jk-6rC" firstAttribute="leading" secondItem="369" secondAttribute="leading" constant="20" symbolic="YES" id="vim-At-bJf"/>
|
||||
</constraints>
|
||||
</view>
|
||||
</tabViewItem>
|
||||
@@ -848,7 +878,7 @@ Gw
|
||||
<constraint firstItem="956" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="2" secondAttribute="leading" constant="20" symbolic="YES" id="Yla-YR-bgz"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<point key="canvasLocation" x="-2020.5" y="-860.5"/>
|
||||
<point key="canvasLocation" x="-2114" y="-801"/>
|
||||
</window>
|
||||
</objects>
|
||||
</document>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="15705" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||
<dependencies>
|
||||
<deployment identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="15705"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21701"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
@@ -26,16 +26,16 @@
|
||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||
<customView translatesAutoresizingMaskIntoConstraints="NO" id="1">
|
||||
<rect key="frame" x="0.0" y="0.0" width="406" height="679"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="406" height="693"/>
|
||||
<subviews>
|
||||
<box autoresizesSubviews="NO" verticalHuggingPriority="500" borderType="line" title="Security" translatesAutoresizingMaskIntoConstraints="NO" id="465">
|
||||
<rect key="frame" x="17" y="146" width="372" height="381"/>
|
||||
<rect key="frame" x="17" y="146" width="372" height="389"/>
|
||||
<view key="contentView" id="mNh-3L-Z6E">
|
||||
<rect key="frame" x="3" y="3" width="366" height="363"/>
|
||||
<rect key="frame" x="4" y="5" width="364" height="369"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="431">
|
||||
<rect key="frame" x="14" y="335" width="120" height="17"/>
|
||||
<rect key="frame" x="13" y="341" width="120" height="17"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="17" id="803"/>
|
||||
</constraints>
|
||||
@@ -46,7 +46,7 @@
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="419">
|
||||
<rect key="frame" x="138" y="332" width="143" height="21"/>
|
||||
<rect key="frame" x="136" y="337" width="144" height="22"/>
|
||||
<popUpButtonCell key="cell" type="push" title="Never" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="429" id="420">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="menu"/>
|
||||
@@ -64,7 +64,7 @@
|
||||
</popUpButtonCell>
|
||||
</popUpButton>
|
||||
<button verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="447">
|
||||
<rect key="frame" x="29" y="311" width="164" height="18"/>
|
||||
<rect key="frame" x="28" y="318" width="168" height="16"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="14" id="773"/>
|
||||
</constraints>
|
||||
@@ -74,7 +74,7 @@
|
||||
</buttonCell>
|
||||
</button>
|
||||
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="584">
|
||||
<rect key="frame" x="111" y="192" width="125" height="25"/>
|
||||
<rect key="frame" x="109" y="196" width="125" height="25"/>
|
||||
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="585">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="menu"/>
|
||||
@@ -91,14 +91,14 @@
|
||||
</popUpButtonCell>
|
||||
</popUpButton>
|
||||
<button translatesAutoresizingMaskIntoConstraints="NO" id="630">
|
||||
<rect key="frame" x="29" y="173" width="119" height="18"/>
|
||||
<rect key="frame" x="28" y="177" width="123" height="18"/>
|
||||
<buttonCell key="cell" type="check" title="Lock after sleep" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="631">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
</button>
|
||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="805">
|
||||
<rect key="frame" x="14" y="197" width="93" height="16"/>
|
||||
<rect key="frame" x="13" y="202" width="93" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Lock while idle" id="806">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
@@ -106,14 +106,14 @@
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button verticalHuggingPriority="249" translatesAutoresizingMaskIntoConstraints="NO" id="bSt-Wf-FNZ">
|
||||
<rect key="frame" x="14" y="104" width="220" height="18"/>
|
||||
<rect key="frame" x="13" y="102" width="224" height="18"/>
|
||||
<buttonCell key="cell" type="check" title="Remember Keyfile for Databases" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="r6q-He-nYU">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
</button>
|
||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="5cV-xX-SUU">
|
||||
<rect key="frame" x="18" y="41" width="330" height="56"/>
|
||||
<rect key="frame" x="18" y="38" width="328" height="56"/>
|
||||
<textFieldCell key="cell" sendsActionOnEndEditing="YES" id="ACh-7H-42N">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<string key="title">Enabling this compromises security. If enabled, your preferences will contain mappings from database to keyfile. Key locations for databases without a password will not be saved.</string>
|
||||
@@ -122,7 +122,7 @@
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="oQr-FC-HkN">
|
||||
<rect key="frame" x="166" y="5" width="190" height="32"/>
|
||||
<rect key="frame" x="172" y="3" width="184" height="32"/>
|
||||
<buttonCell key="cell" type="push" title="Clear all stored locations" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="8Ri-2s-c39">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
@@ -132,21 +132,21 @@
|
||||
</connections>
|
||||
</button>
|
||||
<button translatesAutoresizingMaskIntoConstraints="NO" id="5SP-Vi-1sn">
|
||||
<rect key="frame" x="29" y="151" width="129" height="18"/>
|
||||
<rect key="frame" x="28" y="153" width="133" height="18"/>
|
||||
<buttonCell key="cell" type="check" title="Lock after log out" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="Dzn-9R-JjE">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
</button>
|
||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="nqZ-rB-mFS">
|
||||
<rect key="frame" x="14" y="286" width="242" height="18"/>
|
||||
<rect key="frame" x="13" y="291" width="245" height="18"/>
|
||||
<buttonCell key="cell" type="check" title="Prevent Universal Clipboard support" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="fNy-mS-phi">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
</button>
|
||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="hy4-RL-dAa">
|
||||
<rect key="frame" x="18" y="224" width="330" height="56"/>
|
||||
<rect key="frame" x="18" y="228" width="328" height="56"/>
|
||||
<textFieldCell key="cell" sendsActionOnEndEditing="YES" id="JGX-Tp-KJk">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<string key="title">Disabling this compromises security. If enabled, anything copied to the Clipboard in MacPass will be available on your connected iOS devices. You should clear the clipboard on those devices manually.</string>
|
||||
@@ -155,7 +155,7 @@
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="nRe-7S-HwK">
|
||||
<rect key="frame" x="29" y="129" width="164" height="18"/>
|
||||
<rect key="frame" x="28" y="129" width="168" height="18"/>
|
||||
<buttonCell key="cell" type="check" title="Lock after screen sleep" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="l3t-og-mJd">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
@@ -209,27 +209,27 @@
|
||||
</constraints>
|
||||
</box>
|
||||
<box autoresizesSubviews="NO" verticalHuggingPriority="500" borderType="line" title="File Handling" translatesAutoresizingMaskIntoConstraints="NO" id="888">
|
||||
<rect key="frame" x="17" y="531" width="372" height="128"/>
|
||||
<rect key="frame" x="17" y="539" width="372" height="134"/>
|
||||
<view key="contentView" id="cpg-tt-SHE">
|
||||
<rect key="frame" x="3" y="3" width="366" height="110"/>
|
||||
<rect key="frame" x="4" y="5" width="364" height="114"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<button verticalHuggingPriority="252" translatesAutoresizingMaskIntoConstraints="NO" id="530">
|
||||
<rect key="frame" x="14" y="84" width="234" height="18"/>
|
||||
<rect key="frame" x="13" y="87" width="238" height="18"/>
|
||||
<buttonCell key="cell" type="check" title="Reopen last Database after Launch" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="531">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
</button>
|
||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="lz3-4U-UMI">
|
||||
<rect key="frame" x="14" y="64" width="123" height="18"/>
|
||||
<rect key="frame" x="14" y="65" width="126" height="18"/>
|
||||
<buttonCell key="cell" type="check" title="Enable Autosave" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="wG7-bi-2fi">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
</button>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="3Bo-Ml-1KB">
|
||||
<rect key="frame" x="18" y="44" width="330" height="14"/>
|
||||
<rect key="frame" x="18" y="44" width="328" height="14"/>
|
||||
<textFieldCell key="cell" controlSize="small" title="Close and open all documents for changes to take effect" id="ya5-ps-c4W">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
@@ -237,7 +237,7 @@
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="h3w-Ms-ohK">
|
||||
<rect key="frame" x="14" y="20" width="93" height="16"/>
|
||||
<rect key="frame" x="13" y="20" width="93" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="If file changes:" id="QrK-hM-Xt1">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
@@ -245,7 +245,7 @@
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<popUpButton verticalHuggingPriority="750" horizontalCompressionResistancePriority="749" translatesAutoresizingMaskIntoConstraints="NO" id="wIu-Sh-2a2">
|
||||
<rect key="frame" x="111" y="13" width="38" height="25"/>
|
||||
<rect key="frame" x="109" y="13" width="39" height="25"/>
|
||||
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="1R2-5t-LWk">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="menu"/>
|
||||
@@ -277,11 +277,11 @@
|
||||
<box autoresizesSubviews="NO" verticalHuggingPriority="500" borderType="line" title="Network" translatesAutoresizingMaskIntoConstraints="NO" id="wD1-ag-7V5">
|
||||
<rect key="frame" x="17" y="16" width="372" height="126"/>
|
||||
<view key="contentView" id="bQD-ZX-d0i">
|
||||
<rect key="frame" x="3" y="3" width="366" height="108"/>
|
||||
<rect key="frame" x="4" y="5" width="364" height="106"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="fl5-Xu-nZP">
|
||||
<rect key="frame" x="14" y="81" width="113" height="16"/>
|
||||
<rect key="frame" x="14" y="79" width="113" height="16"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="16" id="kK7-bB-zKY"/>
|
||||
</constraints>
|
||||
@@ -292,7 +292,7 @@
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField autoresizesSubviews="NO" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="MWj-9m-uGk">
|
||||
<rect key="frame" x="18" y="13" width="330" height="56"/>
|
||||
<rect key="frame" x="18" y="11" width="329" height="56"/>
|
||||
<textFieldCell key="cell" sendsActionOnEndEditing="YES" id="DaG-1a-SET">
|
||||
<font key="font" metaFont="message" size="11"/>
|
||||
<string key="title">By default web site icon is downloaded directly from entry's host URL. For some websites it doesn't work and you might prefer using 3rdparty APIs. In this case only host from the URL will be used to get the icon from selected service.</string>
|
||||
@@ -301,7 +301,7 @@
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<popUpButton verticalHuggingPriority="750" horizontalCompressionResistancePriority="749" translatesAutoresizingMaskIntoConstraints="NO" id="OfU-6f-oTU">
|
||||
<rect key="frame" x="131" y="76" width="38" height="25"/>
|
||||
<rect key="frame" x="130" y="73" width="39" height="25"/>
|
||||
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="mdi-Go-1bJ">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="menu"/>
|
||||
|
||||
@@ -7,9 +7,45 @@
|
||||
//
|
||||
|
||||
#import "MPAdvancedDatabaseSettingsViewController.h"
|
||||
#import "MPDocument.h"
|
||||
#import "MPDayCountFormatter.h"
|
||||
#import "KPKNode+IconImage.h"
|
||||
|
||||
#import <KeePassKit/KeePassKit.h>
|
||||
#import <HNHUi/HNHUi.h>
|
||||
|
||||
@interface MPAdvancedDatabaseSettingsViewController ()
|
||||
|
||||
@property (strong) IBOutlet NSButton *enableHistoryCheckButton;
|
||||
@property (strong) IBOutlet NSTextField *historyMaximumItemsTextField;
|
||||
@property (strong) IBOutlet NSStepper *historyMaximumItemsStepper;
|
||||
|
||||
@property (strong) IBOutlet NSTextField *historyMaximumSizeTextField;
|
||||
@property (strong) IBOutlet NSStepper *historyMaximumSizeStepper;
|
||||
|
||||
@property (strong) IBOutlet NSButton *enableTrashCheckButton;
|
||||
@property (strong) IBOutlet NSButton *emptyTrashOnQuitCheckButton;
|
||||
@property (strong) IBOutlet NSPopUpButton *selectTrashGoupPopUpButton;
|
||||
@property (strong) IBOutlet NSTextField *defaultUsernameTextField;
|
||||
@property (strong) IBOutlet NSPopUpButton *templateGroupPopUpButton;
|
||||
|
||||
@property (strong) IBOutlet NSButton *recommendKeyChangeCheckButton;
|
||||
@property (strong) IBOutlet NSButton *enforceKeyChangeCheckButton;
|
||||
@property (strong) IBOutlet NSButton *enforceKeyChangeOnceCheckButton;
|
||||
@property (strong) IBOutlet NSTextField *recommendKeyChangeIntervalTextField;
|
||||
@property (strong) IBOutlet NSStepper *recommendKeyChangeIntervalStepper;
|
||||
@property (strong) IBOutlet NSTextField *enforceKeyChangeIntervalTextField;
|
||||
@property (strong) IBOutlet NSStepper *enforceKeyChangeIntervalStepper;
|
||||
|
||||
@property (assign) BOOL enableHistory;
|
||||
@property (assign) NSInteger maxiumHistoryItems;
|
||||
@property (assign) NSInteger maxiumHistorySize;
|
||||
|
||||
@property (assign) BOOL enforceKeyChange;
|
||||
@property (assign) BOOL recommendKeyChange;
|
||||
@property (assign) NSInteger enforceKeyChangeInterval;
|
||||
@property (assign) NSInteger recommendKeyChangeInterval;
|
||||
|
||||
@end
|
||||
|
||||
@implementation MPAdvancedDatabaseSettingsViewController
|
||||
@@ -19,4 +55,140 @@
|
||||
// Do view setup here.
|
||||
}
|
||||
|
||||
- (void)_setupAdvancedTab {
|
||||
/* history */
|
||||
MPDocument *document = (MPDocument*)self.view.window.windowController.document;
|
||||
KPKTree *tree = document.tree;
|
||||
|
||||
self.enableHistory = tree.metaData.isHistoryEnabled;
|
||||
[self.enableHistoryCheckButton bind:NSValueBinding
|
||||
toObject:self
|
||||
withKeyPath:NSStringFromSelector(@selector(enableHistory))
|
||||
options:nil];
|
||||
|
||||
/* history size */
|
||||
self.maxiumHistorySize = tree.metaData.historyMaxSize;
|
||||
self.historyMaximumSizeStepper.minValue = 0;
|
||||
self.historyMaximumSizeStepper.maxValue = NSIntegerMax;
|
||||
self.historyMaximumSizeStepper.increment = 1024*1024; // 1MB
|
||||
[self.historyMaximumSizeStepper bind:NSEnabledBinding toObject:self withKeyPath:NSStringFromSelector(@selector(enableHistory)) options:nil];
|
||||
[self.historyMaximumSizeStepper bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(maxiumHistorySize)) options:nil];
|
||||
[self.historyMaximumSizeTextField bind:NSEnabledBinding toObject:self withKeyPath:NSStringFromSelector(@selector(enableHistory)) options:nil];
|
||||
[self.historyMaximumSizeTextField bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(maxiumHistorySize)) options:nil];
|
||||
|
||||
/* history count */
|
||||
self.maxiumHistoryItems = MAX(0,tree.metaData.historyMaxItems); // prevent -1 form showing up directly
|
||||
self.historyMaximumItemsStepper.minValue = 0;
|
||||
self.historyMaximumItemsStepper.maxValue = NSIntegerMax;
|
||||
self.historyMaximumItemsStepper.increment = 1;
|
||||
[self.historyMaximumItemsStepper bind:NSEnabledBinding toObject:self withKeyPath:NSStringFromSelector(@selector(enableHistory)) options:nil];
|
||||
[self.historyMaximumItemsStepper bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(maxiumHistoryItems)) options:nil];
|
||||
[self.historyMaximumItemsTextField bind:NSEnabledBinding toObject:self withKeyPath:NSStringFromSelector(@selector(enableHistory)) options:nil];
|
||||
[self.historyMaximumItemsTextField bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(maxiumHistoryItems)) options:nil];
|
||||
|
||||
/* trash */
|
||||
HNHUISetStateFromBool(self.enableTrashCheckButton, tree.metaData.useTrash);
|
||||
self.selectTrashGoupPopUpButton.enabled = tree.metaData.useTrash;
|
||||
[self.enableTrashCheckButton bind:NSValueBinding toObject:self.selectTrashGoupPopUpButton withKeyPath:NSEnabledBinding options:nil];
|
||||
[self _updateTrashFolders:tree];
|
||||
|
||||
/* default username */
|
||||
self.defaultUsernameTextField.stringValue = tree.metaData.defaultUserName;
|
||||
self.defaultUsernameTextField.editable = YES;
|
||||
[self _updateTemplateGroup:tree];
|
||||
|
||||
/* key changes */
|
||||
self.enforceKeyChange = tree.metaData.enforceMasterKeyChange;
|
||||
self.recommendKeyChange = tree.metaData.recommendMasterKeyChange;
|
||||
HNHUISetStateFromBool(self.enforceKeyChangeOnceCheckButton, tree.metaData.enforceMasterKeyChangeOnce);
|
||||
|
||||
[self.enforceKeyChangeCheckButton bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(enforceKeyChange)) options:nil];
|
||||
[self.recommendKeyChangeCheckButton bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(recommendKeyChange)) options:nil];
|
||||
|
||||
/* intervals use -1 to encode disabled, do not show this in text fields! */
|
||||
self.enforceKeyChangeInterval = MAX(0,tree.metaData.masterKeyChangeEnforcementInterval);
|
||||
self.enforceKeyChangeIntervalStepper.minValue = 0;
|
||||
self.enforceKeyChangeIntervalStepper.maxValue = NSIntegerMax;
|
||||
self.enforceKeyChangeIntervalStepper.increment = 1; // 1 day steps
|
||||
[self.enforceKeyChangeIntervalStepper bind:NSEnabledBinding toObject:self withKeyPath:NSStringFromSelector(@selector(enforceKeyChange)) options:nil];
|
||||
[self.enforceKeyChangeIntervalStepper bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(enforceKeyChangeInterval)) options:nil];
|
||||
[self.enforceKeyChangeIntervalTextField bind:NSEnabledBinding toObject:self withKeyPath:NSStringFromSelector(@selector(enforceKeyChange)) options:nil];
|
||||
[self.enforceKeyChangeIntervalTextField bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(enforceKeyChangeInterval)) options:nil];
|
||||
|
||||
NSString *valueFormat = NSLocalizedString(@"EVERY_%ld_DAYS", @"Recommend/Enforce key change intervall format");
|
||||
|
||||
((MPDayCountFormatter *)self.enforceKeyChangeIntervalTextField.formatter).valueFormat = valueFormat;
|
||||
|
||||
self.recommendKeyChangeInterval = MAX(0,tree.metaData.masterKeyChangeRecommendationInterval);
|
||||
self.recommendKeyChangeIntervalStepper.minValue = 0;
|
||||
self.recommendKeyChangeIntervalStepper.maxValue = NSIntegerMax;
|
||||
self.recommendKeyChangeIntervalStepper.increment = 1; // 1 day steps
|
||||
[self.recommendKeyChangeIntervalStepper bind:NSEnabledBinding toObject:self withKeyPath:NSStringFromSelector(@selector(recommendKeyChange)) options:nil];
|
||||
[self.recommendKeyChangeIntervalStepper bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(recommendKeyChangeInterval)) options:nil];
|
||||
[self.recommendKeyChangeIntervalTextField bind:NSEnabledBinding toObject:self withKeyPath:NSStringFromSelector(@selector(recommendKeyChange)) options:nil];
|
||||
[self.recommendKeyChangeIntervalTextField bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(recommendKeyChangeInterval)) options:nil];
|
||||
((MPDayCountFormatter *)self.recommendKeyChangeIntervalTextField.formatter).valueFormat = valueFormat;
|
||||
}
|
||||
|
||||
- (void)_updateTrashFolders:(KPKTree *)tree {
|
||||
NSMenu *menu = [self _buildTrashTreeMenu:tree];
|
||||
self.selectTrashGoupPopUpButton.menu = menu;
|
||||
}
|
||||
|
||||
- (void)_updateTemplateGroup:(KPKTree *)tree {
|
||||
NSMenu *menu = [self _buildTemplateTreeMenu:tree];
|
||||
self.templateGroupPopUpButton.menu = menu;
|
||||
}
|
||||
|
||||
- (NSMenu *)_buildTrashTreeMenu:(KPKTree *)tree {
|
||||
NSMenu *menu = [self _buildTreeMenu:tree preselect:tree.metaData.trashUuid];
|
||||
|
||||
NSMenuItem *selectItem = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"AUTOCREATE_TRASH_FOLDER", @"Menu item for automatic trash creation")
|
||||
action:NULL
|
||||
keyEquivalent:@""];
|
||||
selectItem.enabled = YES;
|
||||
[menu insertItem:selectItem atIndex:0];
|
||||
|
||||
return menu;
|
||||
}
|
||||
|
||||
- (NSMenu *)_buildTemplateTreeMenu:(KPKTree *)tree {
|
||||
NSMenu *menu = [self _buildTreeMenu:tree preselect:tree.metaData.entryTemplatesGroupUuid];
|
||||
|
||||
NSMenuItem *selectItem = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"NO_TEMPLATE_GROUP", @"Menu item to reset the template groups")
|
||||
action:NULL
|
||||
keyEquivalent:@""];
|
||||
selectItem.enabled = YES;
|
||||
[menu insertItem:selectItem atIndex:0];
|
||||
|
||||
return menu;
|
||||
}
|
||||
|
||||
|
||||
- (NSMenu *)_buildTreeMenu:(KPKTree *)tree preselect:(NSUUID *)uuid {
|
||||
NSMenu *menu = [[NSMenu alloc] init];
|
||||
menu.autoenablesItems = NO;
|
||||
for(KPKGroup *group in tree.root.groups) {
|
||||
[self _insertMenuItemsForGroup:group atLevel:0 inMenu:menu preselect:uuid];
|
||||
}
|
||||
return menu;
|
||||
}
|
||||
|
||||
- (void)_insertMenuItemsForGroup:(KPKGroup *)group atLevel:(NSUInteger)level inMenu:(NSMenu *)menu preselect:(NSUUID *)uuid{
|
||||
NSMenuItem *groupItem = [[NSMenuItem alloc] init];
|
||||
groupItem.image = group.iconImage;
|
||||
groupItem.title = group.title;
|
||||
groupItem.representedObject = group;
|
||||
groupItem.enabled = YES;
|
||||
if(uuid && [group.uuid isEqual:uuid]) {
|
||||
groupItem.state = NSOnState;
|
||||
}
|
||||
groupItem.indentationLevel = level;
|
||||
[menu addItem:groupItem];
|
||||
for(KPKGroup *childGroup in group.groups) {
|
||||
[self _insertMenuItemsForGroup:childGroup atLevel:level + 1 inMenu:menu preselect:uuid];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@end
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="19529" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||
<dependencies>
|
||||
<deployment identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="19529"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21701"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
@@ -16,7 +16,7 @@
|
||||
<customView id="Hz6-mo-xeY">
|
||||
<rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<point key="canvasLocation" x="-229" y="178"/>
|
||||
<point key="canvasLocation" x="260" y="-61"/>
|
||||
</customView>
|
||||
</objects>
|
||||
</document>
|
||||
|
||||
@@ -83,6 +83,7 @@ typedef NS_ENUM(NSUInteger, MPDatabaseSettingsTab) {
|
||||
@property (weak) IBOutlet NSStepper *recommendKeyChangeIntervalStepper;
|
||||
@property (weak) IBOutlet NSTextField *enforceKeyChangeIntervalTextField;
|
||||
@property (weak) IBOutlet NSStepper *enforceKeyChangeIntervalStepper;
|
||||
@property (strong) IBOutlet NSTextField *lastKeyChangeTextField;
|
||||
|
||||
- (void)showSettingsTab:(MPDatabaseSettingsTab)tab;
|
||||
|
||||
|
||||
@@ -417,6 +417,20 @@
|
||||
[self.recommendKeyChangeIntervalTextField bind:NSEnabledBinding toObject:self withKeyPath:NSStringFromSelector(@selector(recommendKeyChange)) options:nil];
|
||||
[self.recommendKeyChangeIntervalTextField bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(recommendKeyChangeInterval)) options:nil];
|
||||
((MPDayCountFormatter *)self.recommendKeyChangeIntervalTextField.formatter).valueFormat = valueFormat;
|
||||
|
||||
if(nil != tree.metaData.masterKeyChanged) {
|
||||
NSString *keyChangeTextFormat = NSLocalizedString(@"LAST_DATABASE_KEY_CHANGE_DATE_%@", "Information about last key change date");
|
||||
NSDateFormatter *changeDateFormatter = [[NSDateFormatter alloc] init];
|
||||
changeDateFormatter.timeStyle = NSDateFormatterNoStyle;
|
||||
changeDateFormatter.dateStyle = NSDateFormatterLongStyle;
|
||||
|
||||
NSString *keyChangeDateString = [changeDateFormatter stringFromDate:tree.metaData.masterKeyChanged];
|
||||
|
||||
self.lastKeyChangeTextField.stringValue = [NSString stringWithFormat:keyChangeTextFormat, keyChangeDateString];
|
||||
}
|
||||
else {
|
||||
self.lastKeyChangeTextField.stringValue = NSLocalizedString(@"DATABASE_KEY_NEVER_CHANGED", "Displayed when the databse key was never changed/is not set");
|
||||
}
|
||||
}
|
||||
|
||||
- (void)_updateFirstResponder {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="19455" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||
<dependencies>
|
||||
<deployment identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="19455"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21701"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
@@ -37,7 +37,7 @@
|
||||
</columns>
|
||||
<gridCells>
|
||||
<gridCell row="xmM-rD-5oB" column="7Ct-m6-g6y" id="am5-3Y-3j8">
|
||||
<textField key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="JAh-R7-pLA">
|
||||
<textField key="contentView" verticalHuggingPriority="750" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="JAh-R7-pLA">
|
||||
<rect key="frame" x="-2" y="188" width="102" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Database name:" id="03Y-Lj-rRN">
|
||||
<font key="font" metaFont="system"/>
|
||||
@@ -47,7 +47,7 @@
|
||||
</textField>
|
||||
</gridCell>
|
||||
<gridCell row="xmM-rD-5oB" column="eQs-KV-hxL" id="IfW-cA-EoE">
|
||||
<textField key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ufI-vz-Iga">
|
||||
<textField key="contentView" verticalHuggingPriority="750" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="ufI-vz-Iga">
|
||||
<rect key="frame" x="106" y="188" width="280" height="16"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="280" id="FXj-7O-RqC"/>
|
||||
@@ -60,7 +60,7 @@
|
||||
</textField>
|
||||
</gridCell>
|
||||
<gridCell row="EPS-PJ-wZn" column="7Ct-m6-g6y" id="uqN-Dk-NnR">
|
||||
<textField key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="WIS-Jx-S9I">
|
||||
<textField key="contentView" verticalHuggingPriority="750" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="WIS-Jx-S9I">
|
||||
<rect key="frame" x="22" y="164" width="78" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Description:" id="p9U-Kw-bI5">
|
||||
<font key="font" metaFont="system"/>
|
||||
@@ -70,7 +70,7 @@
|
||||
</textField>
|
||||
</gridCell>
|
||||
<gridCell row="EPS-PJ-wZn" column="eQs-KV-hxL" id="Gb7-AY-QQA">
|
||||
<scrollView key="contentView" horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="10" verticalPageScroll="10" hasHorizontalScroller="NO" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="nST-Dm-Qr7">
|
||||
<scrollView key="contentView" ambiguous="YES" horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="10" verticalPageScroll="10" hasHorizontalScroller="NO" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="nST-Dm-Qr7">
|
||||
<rect key="frame" x="106" y="80" width="280" height="100"/>
|
||||
<clipView key="contentView" drawsBackground="NO" id="Is2-5k-gGr">
|
||||
<rect key="frame" x="1" y="1" width="278" height="98"/>
|
||||
@@ -102,7 +102,7 @@
|
||||
</scrollView>
|
||||
</gridCell>
|
||||
<gridCell row="6vV-rV-ITV" column="7Ct-m6-g6y" id="EZb-Cx-iTX">
|
||||
<textField key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="8Dj-om-Zoe">
|
||||
<textField key="contentView" verticalHuggingPriority="750" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="8Dj-om-Zoe">
|
||||
<rect key="frame" x="12" y="56" width="88" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Compression:" id="5Bm-Nl-53q">
|
||||
<font key="font" metaFont="system"/>
|
||||
@@ -112,7 +112,7 @@
|
||||
</textField>
|
||||
</gridCell>
|
||||
<gridCell row="6vV-rV-ITV" column="eQs-KV-hxL" id="T5V-Av-aBB">
|
||||
<popUpButton key="contentView" verticalHuggingPriority="750" verticalCompressionResistancePriority="749" translatesAutoresizingMaskIntoConstraints="NO" id="Dq5-lP-zsS">
|
||||
<popUpButton key="contentView" verticalHuggingPriority="750" verticalCompressionResistancePriority="749" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Dq5-lP-zsS">
|
||||
<rect key="frame" x="103" y="52" width="72" height="21"/>
|
||||
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="GdG-Qp-e8U">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
@@ -127,7 +127,7 @@
|
||||
</popUpButton>
|
||||
</gridCell>
|
||||
<gridCell row="zYk-Ml-HAt" column="7Ct-m6-g6y" id="DAB-yY-fno">
|
||||
<textField key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="jgn-WC-9Qs">
|
||||
<textField key="contentView" verticalHuggingPriority="750" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="jgn-WC-9Qs">
|
||||
<rect key="frame" x="59" y="24" width="41" height="24"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Color:" id="shK-cG-3dL">
|
||||
<font key="font" metaFont="system"/>
|
||||
@@ -137,13 +137,13 @@
|
||||
</textField>
|
||||
</gridCell>
|
||||
<gridCell row="zYk-Ml-HAt" column="eQs-KV-hxL" id="3lH-bt-QOB">
|
||||
<colorWell key="contentView" translatesAutoresizingMaskIntoConstraints="NO" id="mT4-DP-GXO" customClass="HNHUIColorWell">
|
||||
<rect key="frame" x="106" y="24" width="100" height="24"/>
|
||||
<colorWell key="contentView" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="mT4-DP-GXO" customClass="HNHUIColorWell">
|
||||
<rect key="frame" x="103" y="22" width="44" height="28"/>
|
||||
<color key="color" red="0.05813049898" green="0.055541899059999997" blue="1" alpha="1" colorSpace="calibratedRGB"/>
|
||||
</colorWell>
|
||||
</gridCell>
|
||||
<gridCell row="kzN-Ch-gfi" column="7Ct-m6-g6y" id="SII-3r-mjn">
|
||||
<textField key="contentView" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="IX3-zX-Jvu">
|
||||
<textField key="contentView" horizontalHuggingPriority="251" verticalHuggingPriority="750" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="IX3-zX-Jvu">
|
||||
<rect key="frame" x="27" y="0.0" width="73" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="File format:" id="FgL-0B-JE9">
|
||||
<font key="font" metaFont="system"/>
|
||||
@@ -153,7 +153,7 @@
|
||||
</textField>
|
||||
</gridCell>
|
||||
<gridCell row="kzN-Ch-gfi" column="eQs-KV-hxL" id="3Hz-QZ-yB0">
|
||||
<textField key="contentView" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="7hG-5O-ghC">
|
||||
<textField key="contentView" horizontalHuggingPriority="251" verticalHuggingPriority="750" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="7hG-5O-ghC">
|
||||
<rect key="frame" x="104" y="0.0" width="72" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="VersionInfo" id="C2T-fi-WiV">
|
||||
<font key="font" metaFont="system"/>
|
||||
|
||||
@@ -7,9 +7,33 @@
|
||||
//
|
||||
|
||||
#import "MPSecurityDatabaseSettingsViewController.h"
|
||||
#import "MPDocument.h"
|
||||
#import <KeePassKit/KeePassKit.h>
|
||||
|
||||
|
||||
@interface MPSecurityDatabaseSettingsViewController ()
|
||||
|
||||
@property (assign) NSInteger argon2dMemory;
|
||||
@property (assign) NSInteger argon2idMemory;
|
||||
|
||||
@property (strong) IBOutlet NSButton *createKeyDerivationParametersButton;
|
||||
@property (strong) IBOutlet NSPopUpButton *cipherPopupButton;
|
||||
@property (strong) IBOutlet NSPopUpButton *keyDerivationPopupButton;
|
||||
@property (strong) IBOutlet NSTabView *keyDerivationSettingsTabView;
|
||||
|
||||
/* AES */
|
||||
@property (strong) IBOutlet NSTextField *aesEncryptionRoundsTextField;
|
||||
/* Argon2d */
|
||||
@property (strong) IBOutlet NSTextField *argon2dThreadsTextField;
|
||||
@property (strong) IBOutlet NSTextField *argon2dIterationsTextField;
|
||||
@property (strong) IBOutlet NSTextField *argon2dMemoryTextField;
|
||||
@property (strong) IBOutlet NSStepper *argon2dMemoryStepper;
|
||||
/* Argon2id */
|
||||
@property (strong) IBOutlet NSTextField *argon2idThreadsTextField;
|
||||
@property (strong) IBOutlet NSTextField *argon2idIterationsTextField;
|
||||
@property (strong) IBOutlet NSTextField *argon2idMemoryTextField;
|
||||
@property (strong) IBOutlet NSStepper *argon2idMemoryStepper;
|
||||
|
||||
@end
|
||||
|
||||
@implementation MPSecurityDatabaseSettingsViewController
|
||||
@@ -19,4 +43,75 @@
|
||||
// Do view setup here.
|
||||
}
|
||||
|
||||
- (void)_setupSecurityTab {
|
||||
|
||||
MPDocument *document = (MPDocument *)self.view.window.windowController.document;
|
||||
KPKTree *tree = document.tree;
|
||||
KPKMetaData *metaData = tree.metaData;
|
||||
|
||||
/*
|
||||
If kdf or cipher is not found, exceptions are thrown.
|
||||
This should not happen since we should not be able to load a file with unknown cipher/kdf
|
||||
*/
|
||||
KPKKeyDerivation *keyDerivation = [KPKKeyDerivation keyDerivationWithParameters:metaData.keyDerivationParameters];
|
||||
NSUInteger kdfIndex = [self.keyDerivationPopupButton.menu indexOfItemWithRepresentedObject:keyDerivation.uuid];
|
||||
[self.keyDerivationPopupButton selectItemAtIndex:kdfIndex];
|
||||
[self.keyDerivationSettingsTabView selectTabViewItemWithIdentifier:keyDerivation.uuid];
|
||||
|
||||
/* fill defaults for AES */
|
||||
KPKAESKeyDerivation *aesKdf = [[KPKAESKeyDerivation alloc] initWithParameters:[KPKAESKeyDerivation defaultParameters]];
|
||||
self.aesEncryptionRoundsTextField.integerValue = aesKdf.rounds;
|
||||
|
||||
/* fill defaults for Argon2d */
|
||||
KPKArgon2DKeyDerivation *argon2dKdf = [[KPKArgon2DKeyDerivation alloc] initWithParameters:[KPKArgon2DKeyDerivation defaultParameters]];
|
||||
self.argon2dIterationsTextField.integerValue = argon2dKdf.iterations;
|
||||
self.argon2dMemory = argon2dKdf.memory;
|
||||
self.argon2dThreadsTextField.integerValue = argon2dKdf.threads;
|
||||
|
||||
/* fill defaults for Argon2id */
|
||||
KPKArgon2IDKeyDerivation *argon2idKdf = [[KPKArgon2IDKeyDerivation alloc] initWithParameters:[KPKArgon2IDKeyDerivation defaultParameters]];
|
||||
self.argon2idIterationsTextField.integerValue = argon2idKdf.iterations;
|
||||
self.argon2idMemory = argon2idKdf.memory;
|
||||
self.argon2idThreadsTextField.integerValue = argon2idKdf.threads;
|
||||
|
||||
if([keyDerivation isMemberOfClass:KPKAESKeyDerivation.class]) {
|
||||
/* set to database values */
|
||||
KPKAESKeyDerivation *aesKdf = (KPKAESKeyDerivation *)keyDerivation;
|
||||
self.aesEncryptionRoundsTextField.integerValue = aesKdf.rounds;
|
||||
self.createKeyDerivationParametersButton.enabled = YES;
|
||||
}
|
||||
else if([keyDerivation isMemberOfClass:KPKArgon2DKeyDerivation.class]) {
|
||||
/* set to database value */
|
||||
KPKArgon2DKeyDerivation *argon2dKdf = (KPKArgon2DKeyDerivation *)keyDerivation;
|
||||
self.argon2dMemory = argon2dKdf.memory;
|
||||
self.argon2dThreadsTextField.integerValue = argon2dKdf.threads;
|
||||
self.argon2dIterationsTextField.integerValue = argon2dKdf.iterations;
|
||||
}
|
||||
else if([keyDerivation isMemberOfClass:KPKArgon2IDKeyDerivation.class]) {
|
||||
/* set to database value */
|
||||
KPKArgon2IDKeyDerivation *argon2idKdf = (KPKArgon2IDKeyDerivation *)keyDerivation;
|
||||
self.argon2idMemory = argon2idKdf.memory;
|
||||
self.argon2idThreadsTextField.integerValue = argon2idKdf.threads;
|
||||
self.argon2idIterationsTextField.integerValue = argon2idKdf.iterations;
|
||||
}
|
||||
else {
|
||||
NSAssert(NO, @"Unkown key derivation");
|
||||
}
|
||||
|
||||
self.argon2dMemoryStepper.minValue = 8*1024; // 8KB minimum
|
||||
self.argon2dMemoryStepper.maxValue = NSIntegerMax;
|
||||
self.argon2dMemoryStepper.increment = 1024*1024; // 1 megabytes steps
|
||||
[self.argon2dMemoryTextField bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(argon2dMemory)) options:nil];
|
||||
[self.argon2dMemoryStepper bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(argon2dMemory)) options:nil];
|
||||
|
||||
self.argon2idMemoryStepper.minValue = 8*1024; // 8KB minimum
|
||||
self.argon2idMemoryStepper.maxValue = NSIntegerMax;
|
||||
self.argon2idMemoryStepper.increment = 1024*1024; // 1 megabytes steps
|
||||
[self.argon2idMemoryTextField bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(argon2idMemory)) options:nil];
|
||||
[self.argon2idMemoryStepper bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(argon2idMemory)) options:nil];
|
||||
|
||||
NSUInteger cipherIndex = [self.cipherPopupButton.menu indexOfItemWithRepresentedObject:metaData.cipherUUID];
|
||||
[self.cipherPopupButton selectItemAtIndex:cipherIndex];
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@@ -1,19 +1,348 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="11134" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||
<dependencies>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="11134"/>
|
||||
<deployment identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21701"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<customObject id="-2" userLabel="File's Owner" customClass="MPSecurityDatabaseSettingsViewController">
|
||||
<connections>
|
||||
<outlet property="argon2idThreadsTextField" destination="dgK-W7-6ko" id="Kx2-bh-Re9"/>
|
||||
<outlet property="createKeyDerivationParametersButton" destination="NQD-8z-yEk" id="Xyq-Q2-xfh"/>
|
||||
<outlet property="keyDerivationPopupButton" destination="HXH-FA-g4K" id="gGN-Py-oOX"/>
|
||||
<outlet property="keyDerivationSettingsTabView" destination="2Rh-L6-aPE" id="2lx-QL-81N"/>
|
||||
<outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
|
||||
</connections>
|
||||
</customObject>
|
||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||
<customView id="Hz6-mo-xeY">
|
||||
<rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="575" height="742"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<subviews>
|
||||
<box misplaced="YES" title="Key derivation" translatesAutoresizingMaskIntoConstraints="NO" id="qbM-un-eXz">
|
||||
<rect key="frame" x="17" y="407" width="554" height="253"/>
|
||||
<view key="contentView" id="MOf-XP-Xg8">
|
||||
<rect key="frame" x="4" y="5" width="546" height="233"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<tabView drawsBackground="NO" type="noTabsNoBorder" translatesAutoresizingMaskIntoConstraints="NO" id="2Rh-L6-aPE">
|
||||
<rect key="frame" x="11" y="-321" width="511" height="61"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
<tabViewItems>
|
||||
<tabViewItem label="Aes" identifier="1" id="l3r-tx-ISG">
|
||||
<view key="view" id="Oyh-DQ-bFG">
|
||||
<rect key="frame" x="0.0" y="0.0" width="511" height="61"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="R5P-C9-Xmn">
|
||||
<rect key="frame" x="125" y="23" width="50" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Rounds" id="omn-YS-0WC">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="g3a-6m-F6j">
|
||||
<rect key="frame" x="181" y="20" width="150" height="21"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="150" id="twe-aC-Qcz"/>
|
||||
</constraints>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="90A-3m-BSM">
|
||||
<numberFormatter key="formatter" formatterBehavior="default10_4" usesGroupingSeparator="NO" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="42" id="t2G-Ll-zVi">
|
||||
<real key="minimum" value="0.0"/>
|
||||
</numberFormatter>
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="g3a-6m-F6j" firstAttribute="leading" secondItem="R5P-C9-Xmn" secondAttribute="trailing" constant="8" symbolic="YES" id="4sR-8G-Opb"/>
|
||||
<constraint firstAttribute="bottom" secondItem="g3a-6m-F6j" secondAttribute="bottom" constant="20" symbolic="YES" id="Dk2-RT-gvD"/>
|
||||
<constraint firstItem="g3a-6m-F6j" firstAttribute="top" secondItem="Oyh-DQ-bFG" secondAttribute="top" constant="20" symbolic="YES" id="Qhm-CQ-VXO"/>
|
||||
<constraint firstItem="g3a-6m-F6j" firstAttribute="baseline" secondItem="R5P-C9-Xmn" secondAttribute="baseline" id="Shi-kn-njN"/>
|
||||
<constraint firstItem="g3a-6m-F6j" firstAttribute="centerX" secondItem="Oyh-DQ-bFG" secondAttribute="centerX" id="cZz-4G-1hC"/>
|
||||
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="g3a-6m-F6j" secondAttribute="trailing" constant="20" symbolic="YES" id="hm6-A3-LZb"/>
|
||||
<constraint firstItem="R5P-C9-Xmn" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="Oyh-DQ-bFG" secondAttribute="leading" constant="20" symbolic="YES" id="y90-Ic-UYu"/>
|
||||
</constraints>
|
||||
</view>
|
||||
</tabViewItem>
|
||||
<tabViewItem label="Argon2d" identifier="2" id="d7E-Ya-Yth">
|
||||
<view key="view" id="Oea-xa-gEP">
|
||||
<rect key="frame" x="0.0" y="0.0" width="348" height="111"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="751" translatesAutoresizingMaskIntoConstraints="NO" id="K9Z-pu-LP1">
|
||||
<rect key="frame" x="39" y="85" width="54" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Threads" id="GCY-Ko-bqW">
|
||||
<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" horizontalCompressionResistancePriority="751" translatesAutoresizingMaskIntoConstraints="NO" id="X7R-6X-7ux">
|
||||
<rect key="frame" x="32" y="54" width="61" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Iterations" id="9E9-4k-nGZ">
|
||||
<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="iuw-vj-gSN">
|
||||
<rect key="frame" x="99" y="82" width="150" height="21"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="150" id="3ys-Jf-vWj"/>
|
||||
</constraints>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="Ye1-WJ-9cl">
|
||||
<numberFormatter key="formatter" formatterBehavior="default10_4" usesGroupingSeparator="NO" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="42" id="lDw-xh-DkE">
|
||||
<real key="minimum" value="1"/>
|
||||
<real key="maximum" value="16777215"/>
|
||||
</numberFormatter>
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="WP2-cF-8Yn">
|
||||
<rect key="frame" x="99" y="51" width="150" height="21"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="l17-gL-4s1">
|
||||
<numberFormatter key="formatter" formatterBehavior="default10_4" usesGroupingSeparator="NO" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="42" id="7Pp-o2-CVo">
|
||||
<real key="minimum" value="1"/>
|
||||
<real key="maximum" value="4294967295"/>
|
||||
</numberFormatter>
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="hTL-dO-6q2">
|
||||
<rect key="frame" x="99" y="20" width="129" height="21"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="Plq-0Q-Nbz">
|
||||
<byteCountFormatter key="formatter" countStyle="binary" allowsNonnumericFormatting="NO" id="hNA-or-VKI"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="751" translatesAutoresizingMaskIntoConstraints="NO" id="nMa-If-DlK">
|
||||
<rect key="frame" x="39" y="23" width="54" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Memory" id="a6j-l4-cht">
|
||||
<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>
|
||||
<stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="vWY-lB-Pf8">
|
||||
<rect key="frame" x="233" y="17" width="19" height="28"/>
|
||||
<stepperCell key="cell" continuous="YES" alignment="left" maxValue="100" id="yCT-QG-peR"/>
|
||||
</stepper>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="iuw-vj-gSN" firstAttribute="top" secondItem="Oea-xa-gEP" secondAttribute="top" constant="8" id="4DQ-Fu-kf6"/>
|
||||
<constraint firstItem="hTL-dO-6q2" firstAttribute="leading" secondItem="nMa-If-DlK" secondAttribute="trailing" constant="8" symbolic="YES" id="4u7-DH-3St"/>
|
||||
<constraint firstItem="K9Z-pu-LP1" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="Oea-xa-gEP" secondAttribute="leading" constant="20" symbolic="YES" id="6P1-K1-ipG"/>
|
||||
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="WP2-cF-8Yn" secondAttribute="trailing" constant="20" symbolic="YES" id="JQO-qt-7VW"/>
|
||||
<constraint firstItem="hTL-dO-6q2" firstAttribute="top" secondItem="WP2-cF-8Yn" secondAttribute="bottom" constant="10" symbolic="YES" id="JnE-zB-3YJ"/>
|
||||
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="iuw-vj-gSN" secondAttribute="trailing" constant="20" symbolic="YES" id="PvS-IB-aU2"/>
|
||||
<constraint firstItem="iuw-vj-gSN" firstAttribute="centerX" secondItem="Oea-xa-gEP" secondAttribute="centerX" id="R6j-pK-Khq"/>
|
||||
<constraint firstItem="X7R-6X-7ux" firstAttribute="baseline" secondItem="WP2-cF-8Yn" secondAttribute="baseline" id="RFo-ve-65t"/>
|
||||
<constraint firstItem="nMa-If-DlK" firstAttribute="baseline" secondItem="hTL-dO-6q2" secondAttribute="baseline" id="Sh8-Kc-8uL"/>
|
||||
<constraint firstItem="WP2-cF-8Yn" firstAttribute="leading" secondItem="X7R-6X-7ux" secondAttribute="trailing" constant="8" symbolic="YES" id="Sok-5z-4Rt"/>
|
||||
<constraint firstItem="X7R-6X-7ux" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="Oea-xa-gEP" secondAttribute="leading" constant="20" symbolic="YES" id="VDL-cE-lO7"/>
|
||||
<constraint firstItem="WP2-cF-8Yn" firstAttribute="top" secondItem="iuw-vj-gSN" secondAttribute="bottom" constant="10" symbolic="YES" id="VqL-Fm-RoJ"/>
|
||||
<constraint firstItem="hTL-dO-6q2" firstAttribute="leading" secondItem="WP2-cF-8Yn" secondAttribute="leading" id="Y82-oB-ai8"/>
|
||||
<constraint firstItem="vWY-lB-Pf8" firstAttribute="centerY" secondItem="hTL-dO-6q2" secondAttribute="centerY" id="Ym9-WO-PnN"/>
|
||||
<constraint firstAttribute="trailing" secondItem="vWY-lB-Pf8" secondAttribute="trailing" constant="99" id="bDw-4Y-Hru"/>
|
||||
<constraint firstItem="vWY-lB-Pf8" firstAttribute="trailing" secondItem="WP2-cF-8Yn" secondAttribute="trailing" id="dx7-Wo-Hr8"/>
|
||||
<constraint firstAttribute="bottom" secondItem="hTL-dO-6q2" secondAttribute="bottom" constant="20" symbolic="YES" id="fIW-6w-dpK"/>
|
||||
<constraint firstItem="K9Z-pu-LP1" firstAttribute="baseline" secondItem="iuw-vj-gSN" secondAttribute="baseline" id="fzO-7A-W1B"/>
|
||||
<constraint firstItem="iuw-vj-gSN" firstAttribute="leading" secondItem="K9Z-pu-LP1" secondAttribute="trailing" constant="8" symbolic="YES" id="j1q-XB-Jkc"/>
|
||||
<constraint firstItem="WP2-cF-8Yn" firstAttribute="width" secondItem="iuw-vj-gSN" secondAttribute="width" id="leV-SQ-7vq"/>
|
||||
<constraint firstItem="vWY-lB-Pf8" firstAttribute="leading" secondItem="hTL-dO-6q2" secondAttribute="trailing" constant="8" symbolic="YES" id="olK-06-N4n"/>
|
||||
<constraint firstItem="nMa-If-DlK" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="Oea-xa-gEP" secondAttribute="leading" constant="20" symbolic="YES" id="qhd-Nh-CeC"/>
|
||||
<constraint firstItem="WP2-cF-8Yn" firstAttribute="leading" secondItem="iuw-vj-gSN" secondAttribute="leading" id="rwu-Ec-cw0"/>
|
||||
</constraints>
|
||||
</view>
|
||||
</tabViewItem>
|
||||
<tabViewItem label="Argon2id" identifier="" id="MhV-4d-F0N">
|
||||
<view key="view" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Wf3-hl-5Ha">
|
||||
<rect key="frame" x="0.0" y="0.0" width="348" height="99"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<gridView fixedFrame="YES" xPlacement="leading" yPlacement="bottom" rowAlignment="none" translatesAutoresizingMaskIntoConstraints="NO" id="Dnd-lw-Lx6">
|
||||
<rect key="frame" x="103" y="500" width="232" height="75"/>
|
||||
<rows>
|
||||
<gridRow id="2qd-uz-DjI"/>
|
||||
<gridRow id="RIb-pL-iNf"/>
|
||||
<gridRow id="Ybl-pj-Fs8"/>
|
||||
</rows>
|
||||
<columns>
|
||||
<gridColumn id="EfG-Js-yib"/>
|
||||
<gridColumn id="el0-jc-con"/>
|
||||
<gridColumn id="16p-uR-CXf"/>
|
||||
</columns>
|
||||
<gridCells>
|
||||
<gridCell row="2qd-uz-DjI" column="EfG-Js-yib" id="t31-0C-rh6">
|
||||
<textField key="contentView" horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="751" translatesAutoresizingMaskIntoConstraints="NO" id="qhy-8k-yt4">
|
||||
<rect key="frame" x="-2" y="54" width="54" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Threads" id="ybN-m9-18o">
|
||||
<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>
|
||||
</gridCell>
|
||||
<gridCell row="2qd-uz-DjI" column="el0-jc-con" id="8rz-Vs-ySs">
|
||||
<textField key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="dgK-W7-6ko">
|
||||
<rect key="frame" x="63" y="54" width="100" height="21"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="qPh-kc-YzV">
|
||||
<numberFormatter key="formatter" formatterBehavior="default10_4" usesGroupingSeparator="NO" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="42" id="AHg-i0-PTD">
|
||||
<real key="minimum" value="1"/>
|
||||
<real key="maximum" value="4294967295"/>
|
||||
</numberFormatter>
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
</gridCell>
|
||||
<gridCell row="2qd-uz-DjI" column="16p-uR-CXf" id="gv4-Si-lhF"/>
|
||||
<gridCell row="RIb-pL-iNf" column="EfG-Js-yib" id="2ej-xN-lBd">
|
||||
<textField key="contentView" horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="751" translatesAutoresizingMaskIntoConstraints="NO" id="8tk-pV-4UO">
|
||||
<rect key="frame" x="-2" y="27" width="61" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Iterations" id="gF6-zY-Xuy">
|
||||
<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>
|
||||
</gridCell>
|
||||
<gridCell row="RIb-pL-iNf" column="el0-jc-con" id="2Ut-37-UFd">
|
||||
<textField key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="OhS-sE-xSm">
|
||||
<rect key="frame" x="63" y="27" width="150" height="21"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="150" id="33t-3W-BPt"/>
|
||||
</constraints>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="mPi-fp-fb8">
|
||||
<numberFormatter key="formatter" formatterBehavior="default10_4" usesGroupingSeparator="NO" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="42" id="Rir-3T-bXT">
|
||||
<real key="minimum" value="1"/>
|
||||
<real key="maximum" value="16777215"/>
|
||||
</numberFormatter>
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
</gridCell>
|
||||
<gridCell row="RIb-pL-iNf" column="16p-uR-CXf" id="iFd-Ab-Mvj"/>
|
||||
<gridCell row="Ybl-pj-Fs8" column="EfG-Js-yib" id="CCV-Ry-qvC">
|
||||
<textField key="contentView" horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="751" translatesAutoresizingMaskIntoConstraints="NO" id="Df5-tn-zkM">
|
||||
<rect key="frame" x="-2" y="0.0" width="54" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Memory" id="WCw-aH-Voy">
|
||||
<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>
|
||||
</gridCell>
|
||||
<gridCell row="Ybl-pj-Fs8" column="el0-jc-con" id="4Ob-2O-VTc">
|
||||
<textField key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="lYa-BF-Fpc">
|
||||
<rect key="frame" x="63" y="0.0" width="8" height="21"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="ekf-A7-iLV">
|
||||
<byteCountFormatter key="formatter" countStyle="binary" allowsNonnumericFormatting="NO" id="Z6U-IX-x3y"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
</gridCell>
|
||||
<gridCell row="Ybl-pj-Fs8" column="16p-uR-CXf" id="Qwf-XF-JAV">
|
||||
<stepper key="contentView" horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="WFx-rw-uRy">
|
||||
<rect key="frame" x="216" y="-4" width="19" height="28"/>
|
||||
<stepperCell key="cell" continuous="YES" alignment="left" maxValue="100" id="dgn-LC-ooe"/>
|
||||
</stepper>
|
||||
</gridCell>
|
||||
</gridCells>
|
||||
</gridView>
|
||||
</subviews>
|
||||
</view>
|
||||
</tabViewItem>
|
||||
</tabViewItems>
|
||||
</tabView>
|
||||
<popUpButton verticalHuggingPriority="750" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="HXH-FA-g4K">
|
||||
<rect key="frame" x="84" y="-256" width="39" height="25"/>
|
||||
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="D2Q-aS-Tbz">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="menu"/>
|
||||
<menu key="menu" id="Yee-Ks-qOT"/>
|
||||
</popUpButtonCell>
|
||||
</popUpButton>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="oN5-tL-jIX">
|
||||
<rect key="frame" x="18" y="-249" width="63" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Algorithm" id="W8b-3A-xUr">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button verticalHuggingPriority="750" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="NQD-8z-yEk">
|
||||
<rect key="frame" x="368" y="-351" width="146" height="23"/>
|
||||
<buttonCell key="cell" type="roundTextured" title="Generate Parameters" bezelStyle="texturedRounded" alignment="center" lineBreakMode="truncatingTail" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="z3n-Ae-2ux">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
</button>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="NQD-8z-yEk" firstAttribute="top" secondItem="2Rh-L6-aPE" secondAttribute="bottom" constant="8" symbolic="YES" id="KLH-Ou-Og5"/>
|
||||
<constraint firstItem="oN5-tL-jIX" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="MOf-XP-Xg8" secondAttribute="leading" constant="20" symbolic="YES" id="Ljd-Cw-pVl"/>
|
||||
<constraint firstItem="2Rh-L6-aPE" firstAttribute="top" secondItem="MOf-XP-Xg8" secondAttribute="top" constant="260" id="Nh1-Rv-Rxv"/>
|
||||
<constraint firstItem="oN5-tL-jIX" firstAttribute="leading" secondItem="NQD-8z-yEk" secondAttribute="leading" id="NrR-fv-6yG"/>
|
||||
<constraint firstItem="HXH-FA-g4K" firstAttribute="baseline" secondItem="oN5-tL-jIX" secondAttribute="baseline" id="XG7-bI-SID"/>
|
||||
<constraint firstItem="2Rh-L6-aPE" firstAttribute="top" secondItem="HXH-FA-g4K" secondAttribute="bottom" constant="8" symbolic="YES" id="b7X-jT-nEl"/>
|
||||
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="HXH-FA-g4K" secondAttribute="trailing" constant="20" symbolic="YES" id="p0r-Ic-d1g"/>
|
||||
<constraint firstItem="HXH-FA-g4K" firstAttribute="leading" secondItem="oN5-tL-jIX" secondAttribute="trailing" constant="8" symbolic="YES" id="qnP-XS-PSy"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<constraints>
|
||||
<constraint firstAttribute="trailing" secondItem="2Rh-L6-aPE" secondAttribute="trailing" constant="12" id="1Yw-41-N7m"/>
|
||||
<constraint firstItem="2Rh-L6-aPE" firstAttribute="leading" secondItem="qbM-un-eXz" secondAttribute="leading" constant="12" id="Xdy-aA-9ZJ"/>
|
||||
</constraints>
|
||||
</box>
|
||||
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="CTT-PN-6DU">
|
||||
<rect key="frame" x="210" y="664" width="157" height="25"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="150" id="5bR-qy-CJq"/>
|
||||
</constraints>
|
||||
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="6ag-x0-Lnq">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="menu"/>
|
||||
<menu key="menu" id="KmQ-ga-ebr"/>
|
||||
</popUpButtonCell>
|
||||
</popUpButton>
|
||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Eyc-KQ-nb8">
|
||||
<rect key="frame" x="134" y="671" width="73" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Encryption:" id="9wc-gg-Sye">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="Eyc-KQ-nb8" firstAttribute="baseline" secondItem="CTT-PN-6DU" secondAttribute="baseline" id="6Bk-f8-KKB"/>
|
||||
<constraint firstAttribute="trailing" secondItem="qbM-un-eXz" secondAttribute="trailing" constant="20" symbolic="YES" id="BQp-8w-cbw"/>
|
||||
<constraint firstItem="qbM-un-eXz" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" constant="20" symbolic="YES" id="Ceg-Qo-hZ0"/>
|
||||
<constraint firstItem="CTT-PN-6DU" firstAttribute="leading" secondItem="Eyc-KQ-nb8" secondAttribute="trailing" constant="8" symbolic="YES" id="Piw-Jc-Caq"/>
|
||||
<constraint firstItem="qbM-un-eXz" firstAttribute="top" secondItem="CTT-PN-6DU" secondAttribute="bottom" constant="8" symbolic="YES" id="XzC-ml-Ifw"/>
|
||||
<constraint firstItem="CTT-PN-6DU" firstAttribute="centerX" secondItem="Hz6-mo-xeY" secondAttribute="centerX" id="isB-9i-xt3"/>
|
||||
<constraint firstItem="qbM-un-eXz" firstAttribute="top" secondItem="CTT-PN-6DU" secondAttribute="bottom" constant="8" symbolic="YES" id="ivj-bF-foX"/>
|
||||
<constraint firstItem="CTT-PN-6DU" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" constant="54" id="uhS-D4-zny"/>
|
||||
</constraints>
|
||||
<point key="canvasLocation" x="333.5" y="-243"/>
|
||||
</customView>
|
||||
</objects>
|
||||
</document>
|
||||
|
||||
Reference in New Issue
Block a user