Use standard control highlight color for password.
This commit is contained in:
		@@ -1,9 +1,10 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 | 
			
		||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="10117" systemVersion="15F34" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14113" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
 | 
			
		||||
    <dependencies>
 | 
			
		||||
        <deployment identifier="macosx"/>
 | 
			
		||||
        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="10117"/>
 | 
			
		||||
        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14113"/>
 | 
			
		||||
        <capability name="box content view" minToolsVersion="7.0"/>
 | 
			
		||||
        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
 | 
			
		||||
        <capability name="stacking Non-gravity area distributions on NSStackView" minToolsVersion="7.0" minSystemVersion="10.11"/>
 | 
			
		||||
    </dependencies>
 | 
			
		||||
    <objects>
 | 
			
		||||
@@ -27,7 +28,7 @@
 | 
			
		||||
        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
 | 
			
		||||
        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
 | 
			
		||||
        <window title="Master Password" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" oneShot="NO" releasedWhenClosed="NO" showsToolbarButton="NO" visibleAtLaunch="NO" animationBehavior="default" id="QvC-M9-y7g" customClass="MPSitesWindow">
 | 
			
		||||
            <windowStyleMask key="styleMask" texturedBackground="YES" unifiedTitleAndToolbar="YES" fullSizeContentView="YES"/>
 | 
			
		||||
            <windowStyleMask key="styleMask" texturedBackground="YES" fullSizeContentView="YES"/>
 | 
			
		||||
            <windowCollectionBehavior key="collectionBehavior" moveToActiveSpace="YES" transient="YES" ignoresCycle="YES" fullScreenAuxiliary="YES"/>
 | 
			
		||||
            <rect key="contentRect" x="0.0" y="0.0" width="640" height="577"/>
 | 
			
		||||
            <rect key="screenRect" x="0.0" y="0.0" width="1440" height="877"/>
 | 
			
		||||
@@ -35,7 +36,7 @@
 | 
			
		||||
                <rect key="frame" x="0.0" y="0.0" width="640" height="577"/>
 | 
			
		||||
                <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
 | 
			
		||||
                <subviews>
 | 
			
		||||
                    <visualEffectView blendingMode="behindWindow" state="followsWindowActiveState" translatesAutoresizingMaskIntoConstraints="NO" id="eRe-Ef-AZx">
 | 
			
		||||
                    <visualEffectView blendingMode="behindWindow" material="appearanceBased" state="followsWindowActiveState" translatesAutoresizingMaskIntoConstraints="NO" id="eRe-Ef-AZx">
 | 
			
		||||
                        <rect key="frame" x="0.0" y="0.0" width="640" height="577"/>
 | 
			
		||||
                    </visualEffectView>
 | 
			
		||||
                    <progressIndicator hidden="YES" wantsLayer="YES" horizontalHuggingPriority="750" verticalHuggingPriority="750" maxValue="100" displayedWhenStopped="NO" bezeled="NO" indeterminate="YES" controlSize="small" style="spinning" translatesAutoresizingMaskIntoConstraints="NO" id="oSh-Ec-8Nf" userLabel="Progress Spinner">
 | 
			
		||||
@@ -45,7 +46,7 @@
 | 
			
		||||
                        <rect key="frame" x="20" y="383" width="600" height="150"/>
 | 
			
		||||
                        <subviews>
 | 
			
		||||
                            <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Ond-dT-x5d" userLabel="Site Password Label">
 | 
			
		||||
                                <rect key="frame" x="157" y="116" width="285" height="14"/>
 | 
			
		||||
                                <rect key="frame" x="157" y="116" width="286" height="14"/>
 | 
			
		||||
                                <shadow key="shadow" blurRadius="0.5">
 | 
			
		||||
                                    <size key="offset" width="0.0" height="1"/>
 | 
			
		||||
                                    <color key="color" name="controlLightHighlightColor" catalog="System" colorSpace="catalog"/>
 | 
			
		||||
@@ -73,7 +74,7 @@
 | 
			
		||||
                                </connections>
 | 
			
		||||
                            </textField>
 | 
			
		||||
                            <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Ia6-7b-dFr">
 | 
			
		||||
                                <rect key="frame" x="115" y="68" width="370" height="14"/>
 | 
			
		||||
                                <rect key="frame" x="127" y="68" width="347" height="14"/>
 | 
			
		||||
                                <shadow key="shadow" blurRadius="0.5">
 | 
			
		||||
                                    <size key="offset" width="0.0" height="1"/>
 | 
			
		||||
                                    <color key="color" name="controlLightHighlightColor" catalog="System" colorSpace="catalog"/>
 | 
			
		||||
@@ -186,7 +187,7 @@
 | 
			
		||||
                                </contentFilters>
 | 
			
		||||
                                <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="center" title="KeljXoleKowi9@" placeholderString="" id="WVV-EE-tkB">
 | 
			
		||||
                                    <font key="font" size="64" name="SourceCodePro-Regular"/>
 | 
			
		||||
                                    <color key="textColor" name="keyboardFocusIndicatorColor" catalog="System" colorSpace="catalog"/>
 | 
			
		||||
                                    <color key="textColor" name="selectedControlColor" catalog="System" colorSpace="catalog"/>
 | 
			
		||||
                                    <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
 | 
			
		||||
                                </textFieldCell>
 | 
			
		||||
                                <connections>
 | 
			
		||||
@@ -223,13 +224,13 @@
 | 
			
		||||
                            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
 | 
			
		||||
                            <subviews>
 | 
			
		||||
                                <tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnReordering="NO" columnResizing="NO" multipleSelection="NO" emptySelection="NO" autosaveColumns="NO" rowHeight="33" rowSizeStyle="automatic" viewBased="YES" floatsGroupRows="NO" id="xvJ-5c-vDp" customClass="MPSitesTableView">
 | 
			
		||||
                                    <rect key="frame" x="0.0" y="0.0" width="515" height="0.0"/>
 | 
			
		||||
                                    <rect key="frame" x="0.0" y="0.0" width="515" height="180"/>
 | 
			
		||||
                                    <autoresizingMask key="autoresizingMask"/>
 | 
			
		||||
                                    <size key="intercellSpacing" width="3" height="2"/>
 | 
			
		||||
                                    <color key="backgroundColor" white="1" alpha="0.0" colorSpace="deviceWhite"/>
 | 
			
		||||
                                    <color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
 | 
			
		||||
                                    <tableColumns>
 | 
			
		||||
                                        <tableColumn editable="NO" width="512" minWidth="512" maxWidth="512" id="S71-gk-yF7">
 | 
			
		||||
                                        <tableColumn identifier="" editable="NO" width="512" minWidth="512" maxWidth="512" id="S71-gk-yF7">
 | 
			
		||||
                                            <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left">
 | 
			
		||||
                                                <font key="font" metaFont="smallSystem"/>
 | 
			
		||||
                                                <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
 | 
			
		||||
@@ -312,7 +313,7 @@
 | 
			
		||||
                        </connections>
 | 
			
		||||
                    </scrollView>
 | 
			
		||||
                    <customView translatesAutoresizingMaskIntoConstraints="NO" id="nM8-O3-spM" customClass="MPGradientView">
 | 
			
		||||
                        <rect key="frame" x="0.0" y="0.0" width="640" height="212"/>
 | 
			
		||||
                        <rect key="frame" x="0.0" y="0.0" width="640" height="214"/>
 | 
			
		||||
                        <userDefinedRuntimeAttributes>
 | 
			
		||||
                            <userDefinedRuntimeAttribute type="color" keyPath="startingColor">
 | 
			
		||||
                                <color key="value" red="0.7019608021" green="0.7019608021" blue="0.7019608021" alpha="0.0" colorSpace="calibratedRGB"/>
 | 
			
		||||
@@ -570,7 +571,7 @@ Use the arrows ⇅ to navigate the list or esc ⎋ to exit.</string>
 | 
			
		||||
                        </connections>
 | 
			
		||||
                    </textField>
 | 
			
		||||
                    <stackView distribution="fill" orientation="horizontal" alignment="bottom" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="pHt-gg-ZNX">
 | 
			
		||||
                        <rect key="frame" x="72" y="20" width="495" height="152"/>
 | 
			
		||||
                        <rect key="frame" x="72" y="20" width="495" height="154"/>
 | 
			
		||||
                        <subviews>
 | 
			
		||||
                            <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1Qo-iG-CQt">
 | 
			
		||||
                                <rect key="frame" x="0.0" y="-1" width="85" height="19"/>
 | 
			
		||||
@@ -593,10 +594,10 @@ Use the arrows ⇅ to navigate the list or esc ⎋ to exit.</string>
 | 
			
		||||
                                </connections>
 | 
			
		||||
                            </button>
 | 
			
		||||
                            <stackView distribution="fill" orientation="vertical" alignment="centerX" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="DT0-RU-3LT">
 | 
			
		||||
                                <rect key="frame" x="93" y="0.0" width="177" height="152"/>
 | 
			
		||||
                                <rect key="frame" x="93" y="0.0" width="177" height="154"/>
 | 
			
		||||
                                <subviews>
 | 
			
		||||
                                    <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="uol-dE-I8H">
 | 
			
		||||
                                        <rect key="frame" x="77" y="138" width="23" height="14"/>
 | 
			
		||||
                                        <rect key="frame" x="77" y="140" width="23" height="14"/>
 | 
			
		||||
                                        <shadow key="shadow" blurRadius="0.5">
 | 
			
		||||
                                            <size key="offset" width="0.0" height="1"/>
 | 
			
		||||
                                            <color key="color" name="controlLightHighlightColor" catalog="System" colorSpace="catalog"/>
 | 
			
		||||
@@ -633,7 +634,7 @@ Use the arrows ⇅ to navigate the list or esc ⎋ to exit.</string>
 | 
			
		||||
                                        </connections>
 | 
			
		||||
                                    </textField>
 | 
			
		||||
                                    <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="brI-fg-Kav">
 | 
			
		||||
                                        <rect key="frame" x="40" y="111" width="96" height="19"/>
 | 
			
		||||
                                        <rect key="frame" x="41" y="113" width="96" height="19"/>
 | 
			
		||||
                                        <shadow key="shadow">
 | 
			
		||||
                                            <color key="color" name="controlLightHighlightColor" catalog="System" colorSpace="catalog"/>
 | 
			
		||||
                                        </shadow>
 | 
			
		||||
@@ -662,7 +663,7 @@ Use the arrows ⇅ to navigate the list or esc ⎋ to exit.</string>
 | 
			
		||||
                                        </connections>
 | 
			
		||||
                                    </button>
 | 
			
		||||
                                    <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="R46-fx-n14">
 | 
			
		||||
                                        <rect key="frame" x="0.0" y="85" width="177" height="19"/>
 | 
			
		||||
                                        <rect key="frame" x="0.0" y="87" width="177" height="19"/>
 | 
			
		||||
                                        <shadow key="shadow">
 | 
			
		||||
                                            <color key="color" name="controlLightHighlightColor" catalog="System" colorSpace="catalog"/>
 | 
			
		||||
                                        </shadow>
 | 
			
		||||
@@ -688,10 +689,10 @@ Use the arrows ⇅ to navigate the list or esc ⎋ to exit.</string>
 | 
			
		||||
                                        </connections>
 | 
			
		||||
                                    </button>
 | 
			
		||||
                                    <stackView distribution="fill" orientation="horizontal" alignment="top" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Bgn-Ne-fQ7" userLabel="Version Container">
 | 
			
		||||
                                        <rect key="frame" x="70" y="56" width="36" height="22"/>
 | 
			
		||||
                                        <rect key="frame" x="71" y="57" width="36" height="23"/>
 | 
			
		||||
                                        <subviews>
 | 
			
		||||
                                            <stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="mcq-qD-yte">
 | 
			
		||||
                                                <rect key="frame" x="-3" y="-3" width="19" height="27"/>
 | 
			
		||||
                                                <rect key="frame" x="-3" y="-2" width="19" height="27"/>
 | 
			
		||||
                                                <shadow key="shadow">
 | 
			
		||||
                                                    <color key="color" name="controlLightHighlightColor" catalog="System" colorSpace="catalog"/>
 | 
			
		||||
                                                </shadow>
 | 
			
		||||
@@ -701,7 +702,7 @@ Use the arrows ⇅ to navigate the list or esc ⎋ to exit.</string>
 | 
			
		||||
                                                </connections>
 | 
			
		||||
                                            </stepper>
 | 
			
		||||
                                            <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="gyg-Fh-yn7">
 | 
			
		||||
                                                <rect key="frame" x="19" y="3" width="19" height="19"/>
 | 
			
		||||
                                                <rect key="frame" x="19" y="4" width="19" height="19"/>
 | 
			
		||||
                                                <shadow key="shadow" blurRadius="0.5">
 | 
			
		||||
                                                    <size key="offset" width="0.0" height="1"/>
 | 
			
		||||
                                                    <color key="color" name="controlLightHighlightColor" catalog="System" colorSpace="catalog"/>
 | 
			
		||||
@@ -742,10 +743,10 @@ Use the arrows ⇅ to navigate the list or esc ⎋ to exit.</string>
 | 
			
		||||
                                        </connections>
 | 
			
		||||
                                    </stackView>
 | 
			
		||||
                                    <stackView distribution="fill" orientation="horizontal" alignment="centerY" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="6II-KA-cNi" userLabel="Counter Container">
 | 
			
		||||
                                        <rect key="frame" x="74" y="26" width="28" height="22"/>
 | 
			
		||||
                                        <rect key="frame" x="75" y="26" width="28" height="23"/>
 | 
			
		||||
                                        <subviews>
 | 
			
		||||
                                            <stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="XgA-Vl-CKh" userLabel="Counter Stepper">
 | 
			
		||||
                                                <rect key="frame" x="-3" y="-3" width="19" height="27"/>
 | 
			
		||||
                                                <rect key="frame" x="-3" y="-2" width="19" height="27"/>
 | 
			
		||||
                                                <shadow key="shadow">
 | 
			
		||||
                                                    <color key="color" name="controlLightHighlightColor" catalog="System" colorSpace="catalog"/>
 | 
			
		||||
                                                </shadow>
 | 
			
		||||
@@ -755,7 +756,7 @@ Use the arrows ⇅ to navigate the list or esc ⎋ to exit.</string>
 | 
			
		||||
                                                </connections>
 | 
			
		||||
                                            </stepper>
 | 
			
		||||
                                            <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="NvO-kt-eZ2" userLabel="Counter Field">
 | 
			
		||||
                                                <rect key="frame" x="19" y="1" width="11" height="19"/>
 | 
			
		||||
                                                <rect key="frame" x="19" y="2" width="11" height="19"/>
 | 
			
		||||
                                                <shadow key="shadow" blurRadius="0.5">
 | 
			
		||||
                                                    <size key="offset" width="0.0" height="1"/>
 | 
			
		||||
                                                    <color key="color" name="controlLightHighlightColor" catalog="System" colorSpace="catalog"/>
 | 
			
		||||
@@ -888,7 +889,7 @@ Use the arrows ⇅ to navigate the list or esc ⎋ to exit.</string>
 | 
			
		||||
                        </customSpacing>
 | 
			
		||||
                    </stackView>
 | 
			
		||||
                    <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="luC-0j-BeV">
 | 
			
		||||
                        <rect key="frame" x="134" y="50" width="103" height="14"/>
 | 
			
		||||
                        <rect key="frame" x="135" y="51" width="103" height="14"/>
 | 
			
		||||
                        <shadow key="shadow" blurRadius="0.5">
 | 
			
		||||
                            <size key="offset" width="0.0" height="1"/>
 | 
			
		||||
                            <color key="color" name="controlLightHighlightColor" catalog="System" colorSpace="catalog"/>
 | 
			
		||||
@@ -925,7 +926,7 @@ Use the arrows ⇅ to navigate the list or esc ⎋ to exit.</string>
 | 
			
		||||
                        </connections>
 | 
			
		||||
                    </textField>
 | 
			
		||||
                    <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="gjx-bt-fKM">
 | 
			
		||||
                        <rect key="frame" x="133" y="80" width="100" height="14"/>
 | 
			
		||||
                        <rect key="frame" x="134" y="82" width="100" height="14"/>
 | 
			
		||||
                        <shadow key="shadow" blurRadius="0.5">
 | 
			
		||||
                            <size key="offset" width="0.0" height="1"/>
 | 
			
		||||
                            <color key="color" name="controlLightHighlightColor" catalog="System" colorSpace="catalog"/>
 | 
			
		||||
@@ -962,7 +963,7 @@ Use the arrows ⇅ to navigate the list or esc ⎋ to exit.</string>
 | 
			
		||||
                        </connections>
 | 
			
		||||
                    </textField>
 | 
			
		||||
                    <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="dbM-ja-dKO" userLabel="Version Tip">
 | 
			
		||||
                        <rect key="frame" x="87" y="106" width="332" height="14"/>
 | 
			
		||||
                        <rect key="frame" x="88" y="108" width="332" height="14"/>
 | 
			
		||||
                        <shadow key="shadow" blurRadius="0.5">
 | 
			
		||||
                            <size key="offset" width="0.0" height="1"/>
 | 
			
		||||
                            <color key="color" name="controlLightHighlightColor" catalog="System" colorSpace="catalog"/>
 | 
			
		||||
@@ -1170,7 +1171,7 @@ Use the arrows ⇅ to navigate the list or esc ⎋ to exit.</string>
 | 
			
		||||
                <binding destination="-2" name="contentArray" keyPath="sites" id="c96-Dv-HK1"/>
 | 
			
		||||
            </connections>
 | 
			
		||||
        </arrayController>
 | 
			
		||||
        <box autoresizesSubviews="NO" title="Choose a password type for apple.com:" borderType="line" id="bZe-7q-i6q">
 | 
			
		||||
        <box autoresizesSubviews="NO" borderType="line" title="Choose a password type for apple.com:" id="bZe-7q-i6q">
 | 
			
		||||
            <rect key="frame" x="0.0" y="0.0" width="416" height="296"/>
 | 
			
		||||
            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
 | 
			
		||||
            <view key="contentView" id="hAc-y9-IMT">
 | 
			
		||||
@@ -1243,11 +1244,9 @@ Use the arrows ⇅ to navigate the list or esc ⎋ to exit.</string>
 | 
			
		||||
                    <constraint firstItem="3fr-Fd-pxx" firstAttribute="top" secondItem="hAc-y9-IMT" secondAttribute="top" constant="8" id="xVT-HC-qsE"/>
 | 
			
		||||
                </constraints>
 | 
			
		||||
            </view>
 | 
			
		||||
            <color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/>
 | 
			
		||||
            <color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
 | 
			
		||||
            <point key="canvasLocation" x="333" y="125"/>
 | 
			
		||||
        </box>
 | 
			
		||||
        <box autoresizesSubviews="NO" title="Answer to security questions for apple.com:" borderType="line" id="hi3-SX-Td3">
 | 
			
		||||
        <box autoresizesSubviews="NO" borderType="line" title="Answer to security questions for apple.com:" id="hi3-SX-Td3">
 | 
			
		||||
            <rect key="frame" x="0.0" y="0.0" width="416" height="180"/>
 | 
			
		||||
            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
 | 
			
		||||
            <view key="contentView" wantsLayer="YES" id="8Ep-zH-Nzv">
 | 
			
		||||
@@ -1321,8 +1320,6 @@ Use the arrows ⇅ to navigate the list or esc ⎋ to exit.</string>
 | 
			
		||||
                <constraint firstAttribute="trailing" secondItem="12d-V9-LDB" secondAttribute="trailing" constant="12" id="Ysu-F5-ukt"/>
 | 
			
		||||
                <constraint firstItem="12d-V9-LDB" firstAttribute="leading" secondItem="hi3-SX-Td3" secondAttribute="leading" constant="12" id="oPv-4N-T9I"/>
 | 
			
		||||
            </constraints>
 | 
			
		||||
            <color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/>
 | 
			
		||||
            <color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
 | 
			
		||||
            <point key="canvasLocation" x="333" y="491"/>
 | 
			
		||||
        </box>
 | 
			
		||||
    </objects>
 | 
			
		||||
 
 | 
			
		||||
@@ -51,6 +51,7 @@ public abstract class Res {
 | 
			
		||||
    private static final Executor                          immediateUiExecutor = new SwingExecutorService( true );
 | 
			
		||||
    private static final Executor                          laterUiExecutor     = new SwingExecutorService( false );
 | 
			
		||||
    private static final Logger                            logger              = Logger.get( Res.class );
 | 
			
		||||
    private static final Fonts                             fonts               = new Fonts();
 | 
			
		||||
    private static final Colors                            colors              = new Colors();
 | 
			
		||||
 | 
			
		||||
    public static Future<?> job(final Runnable job) {
 | 
			
		||||
@@ -112,88 +113,8 @@ public abstract class Res {
 | 
			
		||||
        return AVATAR_COUNT;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static Font emoticonsFont() {
 | 
			
		||||
        return emoticonsRegular();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static Font controlFont() {
 | 
			
		||||
        return arimoRegular();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static Font valueFont() {
 | 
			
		||||
        return sourceSansProRegular();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static Font bigValueFont() {
 | 
			
		||||
        return sourceSansProBlack();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static Font emoticonsRegular() {
 | 
			
		||||
        return font( "fonts/Emoticons-Regular.otf" );
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static Font sourceCodeProRegular() {
 | 
			
		||||
        return font( "fonts/SourceCodePro-Regular.otf" );
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static Font sourceCodeProBlack() {
 | 
			
		||||
        return font( "fonts/SourceCodePro-Bold.otf" );
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static Font sourceSansProRegular() {
 | 
			
		||||
        return font( "fonts/SourceSansPro-Regular.otf" );
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static Font sourceSansProBlack() {
 | 
			
		||||
        return font( "fonts/SourceSansPro-Bold.otf" );
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static Font exoBold() {
 | 
			
		||||
        return font( "fonts/Exo2.0-Bold.otf" );
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static Font exoExtraBold() {
 | 
			
		||||
        return font( "fonts/Exo2.0-ExtraBold.otf" );
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static Font exoRegular() {
 | 
			
		||||
        return font( "fonts/Exo2.0-Regular.otf" );
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static Font exoThin() {
 | 
			
		||||
        return font( "fonts/Exo2.0-Thin.otf" );
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static Font arimoBold() {
 | 
			
		||||
        return font( "fonts/Arimo-Bold.ttf" );
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static Font arimoBoldItalic() {
 | 
			
		||||
        return font( "fonts/Arimo-BoldItalic.ttf" );
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static Font arimoItalic() {
 | 
			
		||||
        return font( "fonts/Arimo-Italic.ttf" );
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static Font arimoRegular() {
 | 
			
		||||
        return font( "fonts/Arimo-Regular.ttf" );
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private static Font font(@NonNls final String fontResourceName) {
 | 
			
		||||
        Map<String, SoftReference<Font>> fontsByResourceName = Maps.newHashMap();
 | 
			
		||||
        SoftReference<Font>              fontRef             = fontsByResourceName.get( fontResourceName );
 | 
			
		||||
        Font                             font                = (fontRef == null)? null: fontRef.get();
 | 
			
		||||
        if (font == null)
 | 
			
		||||
            try {
 | 
			
		||||
                fontsByResourceName.put( fontResourceName, new SoftReference<>(
 | 
			
		||||
                        font = Font.createFont( Font.TRUETYPE_FONT, Resources.getResource( fontResourceName ).openStream() ) ) );
 | 
			
		||||
            }
 | 
			
		||||
            catch (final FontFormatException | IOException e) {
 | 
			
		||||
                throw logger.bug( e );
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
        return font;
 | 
			
		||||
    public static Fonts fonts() {
 | 
			
		||||
        return fonts;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static Colors colors() {
 | 
			
		||||
@@ -257,11 +178,100 @@ public abstract class Res {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    public static class Fonts {
 | 
			
		||||
 | 
			
		||||
        public Font emoticonsFont() {
 | 
			
		||||
            return emoticonsRegular();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public Font controlFont() {
 | 
			
		||||
            return exoRegular();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public Font valueFont() {
 | 
			
		||||
            return sourceSansProRegular();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public Font bigValueFont() {
 | 
			
		||||
            return sourceSansProBlack();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public Font emoticonsRegular() {
 | 
			
		||||
            return font( "fonts/Emoticons-Regular.otf" );
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public Font sourceCodeProRegular() {
 | 
			
		||||
            return font( "fonts/SourceCodePro-Regular.otf" );
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public Font sourceCodeProBlack() {
 | 
			
		||||
            return font( "fonts/SourceCodePro-Bold.otf" );
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public Font sourceSansProRegular() {
 | 
			
		||||
            return font( "fonts/SourceSansPro-Regular.otf" );
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public Font sourceSansProBlack() {
 | 
			
		||||
            return font( "fonts/SourceSansPro-Bold.otf" );
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public Font exoBold() {
 | 
			
		||||
            return font( "fonts/Exo2.0-Bold.otf" );
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public Font exoExtraBold() {
 | 
			
		||||
            return font( "fonts/Exo2.0-ExtraBold.otf" );
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public Font exoRegular() {
 | 
			
		||||
            return font( "fonts/Exo2.0-Regular.otf" );
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public Font exoThin() {
 | 
			
		||||
            return font( "fonts/Exo2.0-Thin.otf" );
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public Font arimoBold() {
 | 
			
		||||
            return font( "fonts/Arimo-Bold.ttf" );
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public Font arimoBoldItalic() {
 | 
			
		||||
            return font( "fonts/Arimo-BoldItalic.ttf" );
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public Font arimoItalic() {
 | 
			
		||||
            return font( "fonts/Arimo-Italic.ttf" );
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public Font arimoRegular() {
 | 
			
		||||
            return font( "fonts/Arimo-Regular.ttf" );
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private static Font font(@NonNls final String fontResourceName) {
 | 
			
		||||
            Map<String, SoftReference<Font>> fontsByResourceName = Maps.newHashMap();
 | 
			
		||||
            SoftReference<Font>              fontRef             = fontsByResourceName.get( fontResourceName );
 | 
			
		||||
            Font                             font                = (fontRef == null)? null: fontRef.get();
 | 
			
		||||
            if (font == null)
 | 
			
		||||
                try {
 | 
			
		||||
                    fontsByResourceName.put( fontResourceName, new SoftReference<>(
 | 
			
		||||
                            font = Font.createFont( Font.TRUETYPE_FONT, Resources.getResource( fontResourceName ).openStream() ) ) );
 | 
			
		||||
                }
 | 
			
		||||
                catch (final FontFormatException | IOException e) {
 | 
			
		||||
                    throw logger.bug( e );
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
            return font;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    public static class Colors {
 | 
			
		||||
 | 
			
		||||
        private final Color frameBg       = Color.decode( "#5A5D6B" );
 | 
			
		||||
        private final Color controlBg     = Color.decode( "#ECECEC" );
 | 
			
		||||
        private final Color controlBg     = SystemColor.window;
 | 
			
		||||
        private final Color controlBorder = Color.decode( "#BFBFBF" );
 | 
			
		||||
        private final Color highlightFg   = SystemColor.controlHighlight;
 | 
			
		||||
        private final Color errorFg       = Color.decode( "#FF3333" );
 | 
			
		||||
 | 
			
		||||
        public Color frameBg() {
 | 
			
		||||
@@ -276,6 +286,10 @@ public abstract class Res {
 | 
			
		||||
            return controlBorder;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public Color highlightFg() {
 | 
			
		||||
            return highlightFg;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public Color errorFg() {
 | 
			
		||||
            return errorFg;
 | 
			
		||||
        }
 | 
			
		||||
 
 | 
			
		||||
@@ -31,8 +31,8 @@ import javax.swing.border.CompoundBorder;
 | 
			
		||||
 */
 | 
			
		||||
public abstract class Components {
 | 
			
		||||
 | 
			
		||||
    private static final float HEADING_TEXT_SIZE = 18f;
 | 
			
		||||
    private static final float CONTROL_TEXT_SIZE = 12f;
 | 
			
		||||
    private static final float HEADING_TEXT_SIZE = 19f;
 | 
			
		||||
    private static final float CONTROL_TEXT_SIZE = 13f;
 | 
			
		||||
 | 
			
		||||
    public static GradientPanel boxLayout(final int axis, final Component... components) {
 | 
			
		||||
        GradientPanel container = gradientPanel( null, null );
 | 
			
		||||
@@ -76,7 +76,7 @@ public abstract class Components {
 | 
			
		||||
            {
 | 
			
		||||
                setBorder( BorderFactory.createCompoundBorder( BorderFactory.createLineBorder( Res.colors().controlBorder(), 1, true ),
 | 
			
		||||
                                                               BorderFactory.createEmptyBorder( 4, 4, 4, 4 ) ) );
 | 
			
		||||
                setFont( Res.valueFont().deriveFont( CONTROL_TEXT_SIZE ) );
 | 
			
		||||
                setFont( Res.fonts().valueFont().deriveFont( CONTROL_TEXT_SIZE ) );
 | 
			
		||||
                setAlignmentX( LEFT_ALIGNMENT );
 | 
			
		||||
                setAlignmentY( BOTTOM_ALIGNMENT );
 | 
			
		||||
            }
 | 
			
		||||
@@ -107,7 +107,7 @@ public abstract class Components {
 | 
			
		||||
    public static JButton button(final String label) {
 | 
			
		||||
        return new JButton( label ) {
 | 
			
		||||
            {
 | 
			
		||||
                setFont( Res.controlFont().deriveFont( CONTROL_TEXT_SIZE ) );
 | 
			
		||||
                setFont( Res.fonts().controlFont().deriveFont( CONTROL_TEXT_SIZE ) );
 | 
			
		||||
                setAlignmentX( LEFT_ALIGNMENT );
 | 
			
		||||
                setAlignmentY( BOTTOM_ALIGNMENT );
 | 
			
		||||
            }
 | 
			
		||||
@@ -167,7 +167,7 @@ public abstract class Components {
 | 
			
		||||
    public static JLabel heading(@Nullable final String heading, final int horizontalAlignment) {
 | 
			
		||||
        return new JLabel( heading, horizontalAlignment ) {
 | 
			
		||||
            {
 | 
			
		||||
                setFont( Res.controlFont().deriveFont( Font.BOLD, HEADING_TEXT_SIZE ) );
 | 
			
		||||
                setFont( Res.fonts().controlFont().deriveFont( Font.BOLD, HEADING_TEXT_SIZE ) );
 | 
			
		||||
                setAlignmentX( LEFT_ALIGNMENT );
 | 
			
		||||
                setAlignmentY( BOTTOM_ALIGNMENT );
 | 
			
		||||
            }
 | 
			
		||||
@@ -195,7 +195,7 @@ public abstract class Components {
 | 
			
		||||
    public static JLabel label(@Nullable final String label, final int horizontalAlignment) {
 | 
			
		||||
        return new JLabel( label, horizontalAlignment ) {
 | 
			
		||||
            {
 | 
			
		||||
                setFont( Res.controlFont().deriveFont( CONTROL_TEXT_SIZE ) );
 | 
			
		||||
                setFont( Res.fonts().controlFont().deriveFont( CONTROL_TEXT_SIZE ) );
 | 
			
		||||
                setAlignmentX( LEFT_ALIGNMENT );
 | 
			
		||||
                setAlignmentY( BOTTOM_ALIGNMENT );
 | 
			
		||||
            }
 | 
			
		||||
@@ -210,7 +210,7 @@ public abstract class Components {
 | 
			
		||||
    public static JCheckBox checkBox(final String label) {
 | 
			
		||||
        return new JCheckBox( label ) {
 | 
			
		||||
            {
 | 
			
		||||
                setFont( Res.controlFont().deriveFont( CONTROL_TEXT_SIZE ) );
 | 
			
		||||
                setFont( Res.fonts().controlFont().deriveFont( CONTROL_TEXT_SIZE ) );
 | 
			
		||||
                setBackground( null );
 | 
			
		||||
                setAlignmentX( LEFT_ALIGNMENT );
 | 
			
		||||
                setAlignmentY( BOTTOM_ALIGNMENT );
 | 
			
		||||
@@ -226,14 +226,9 @@ public abstract class Components {
 | 
			
		||||
    public static <M> JComboBox<M> comboBox(final ComboBoxModel<M> model) {
 | 
			
		||||
        return new JComboBox<M>( model ) {
 | 
			
		||||
            {
 | 
			
		||||
                //                CompoundBorder editorBorder = BorderFactory.createCompoundBorder(
 | 
			
		||||
                //                        BorderFactory.createLineBorder( Res.colors().controlBorder(), 1, true ),
 | 
			
		||||
                //                        BorderFactory.createEmptyBorder( 4, 4, 4, 4 ) );
 | 
			
		||||
                //                ((JComponent) ((BasicComboBoxEditor) getEditor()).getEditorComponent()).setBorder(editorBorder);
 | 
			
		||||
                setFont( Res.controlFont().deriveFont( CONTROL_TEXT_SIZE ) );
 | 
			
		||||
                setFont( Res.fonts().controlFont().deriveFont( CONTROL_TEXT_SIZE ) );
 | 
			
		||||
                setAlignmentX( LEFT_ALIGNMENT );
 | 
			
		||||
                setAlignmentY( BOTTOM_ALIGNMENT );
 | 
			
		||||
                //                setBorder(null);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            @Override
 | 
			
		||||
 
 | 
			
		||||
@@ -43,8 +43,8 @@ public class FilesPanel extends JPanel implements ActionListener {
 | 
			
		||||
 | 
			
		||||
        // User Selection
 | 
			
		||||
        add( userField );
 | 
			
		||||
        userField.setFont( Res.valueFont().deriveFont( userField.getFont().getSize2D() ) );
 | 
			
		||||
        userField.addActionListener( this );
 | 
			
		||||
        userField.setFont( Res.fonts().valueFont().deriveFont( userField.getFont().getSize2D() ) );
 | 
			
		||||
        userField.setRenderer( new DefaultListCellRenderer() {
 | 
			
		||||
            @Override
 | 
			
		||||
            @SuppressWarnings("unchecked")
 | 
			
		||||
 
 | 
			
		||||
@@ -74,9 +74,11 @@ public class UserPanel extends Components.GradientPanel implements MPUser.Listen
 | 
			
		||||
    private static final class NoUserPanel extends JPanel {
 | 
			
		||||
 | 
			
		||||
        private NoUserPanel() {
 | 
			
		||||
            super( new BorderLayout() );
 | 
			
		||||
            setLayout( new BoxLayout( this, BoxLayout.PAGE_AXIS ) );
 | 
			
		||||
 | 
			
		||||
            add( Components.heading( "Select a user to proceed." ), BorderLayout.CENTER );
 | 
			
		||||
            add( Box.createGlue() );
 | 
			
		||||
            add( Components.heading( "Select a user to proceed." ) );
 | 
			
		||||
            add( Box.createGlue() );
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@@ -94,12 +96,11 @@ public class UserPanel extends Components.GradientPanel implements MPUser.Listen
 | 
			
		||||
 | 
			
		||||
            this.user = user;
 | 
			
		||||
 | 
			
		||||
            add( Components.heading( user.getFullName(), SwingConstants.CENTER ) );
 | 
			
		||||
            add( Box.createGlue() );
 | 
			
		||||
 | 
			
		||||
            add( Components.heading( user.getFullName(), SwingConstants.CENTER ) );
 | 
			
		||||
            add( Components.strut() );
 | 
			
		||||
 | 
			
		||||
            add( Components.label( "Master Password:" ) );
 | 
			
		||||
            add( Components.strut() );
 | 
			
		||||
            add( masterPasswordField );
 | 
			
		||||
            masterPasswordField.addActionListener( this );
 | 
			
		||||
            masterPasswordField.getDocument().addDocumentListener( this );
 | 
			
		||||
@@ -107,6 +108,8 @@ public class UserPanel extends Components.GradientPanel implements MPUser.Listen
 | 
			
		||||
            errorLabel.setForeground( Res.colors().errorFg() );
 | 
			
		||||
 | 
			
		||||
            add( Box.createGlue() );
 | 
			
		||||
 | 
			
		||||
            Res.ui( false, masterPasswordField::requestFocusInWindow );
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        @Override
 | 
			
		||||
@@ -147,7 +150,7 @@ public class UserPanel extends Components.GradientPanel implements MPUser.Listen
 | 
			
		||||
        private final MPUser<?>  user;
 | 
			
		||||
        private final JLabel     passwordLabel = Components.label( " ", SwingConstants.CENTER );
 | 
			
		||||
        private final JLabel     passwordField = Components.heading( " ", SwingConstants.CENTER );
 | 
			
		||||
        private final JLabel     queryLabel    = Components.label( " ", SwingConstants.CENTER );
 | 
			
		||||
        private final JLabel     queryLabel    = Components.label( " " );
 | 
			
		||||
        private final JTextField queryField    = Components.textField();
 | 
			
		||||
 | 
			
		||||
        private AuthenticatedUserPanel(@Nonnull final MPUser<?> user) {
 | 
			
		||||
@@ -155,8 +158,13 @@ public class UserPanel extends Components.GradientPanel implements MPUser.Listen
 | 
			
		||||
 | 
			
		||||
            this.user = user;
 | 
			
		||||
 | 
			
		||||
            add( Components.heading( user.getFullName(), SwingConstants.CENTER ) );
 | 
			
		||||
            add( Components.strut() );
 | 
			
		||||
 | 
			
		||||
            add( passwordLabel );
 | 
			
		||||
            add( passwordField );
 | 
			
		||||
            passwordField.setForeground( Res.colors().highlightFg() );
 | 
			
		||||
            passwordField.setFont( Res.fonts().bigValueFont().deriveFont( Font.BOLD, 48 ) );
 | 
			
		||||
            add( Box.createGlue() );
 | 
			
		||||
 | 
			
		||||
            add( queryLabel );
 | 
			
		||||
@@ -165,6 +173,8 @@ public class UserPanel extends Components.GradientPanel implements MPUser.Listen
 | 
			
		||||
            queryField.addActionListener( this );
 | 
			
		||||
            queryField.getDocument().addDocumentListener( this );
 | 
			
		||||
            add( Box.createGlue() );
 | 
			
		||||
 | 
			
		||||
            Res.ui( false, queryField::requestFocusInWindow );
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        @Override
 | 
			
		||||
 
 | 
			
		||||
@@ -42,7 +42,7 @@ class MPJSONAnyObject {
 | 
			
		||||
 | 
			
		||||
        @Override
 | 
			
		||||
        @SuppressWarnings({ "ChainOfInstanceofChecks", "Contract" })
 | 
			
		||||
        @SuppressFBWarnings({"EQ_UNUSUAL","EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS", "HE_EQUALS_USE_HASHCODE"})
 | 
			
		||||
        @SuppressFBWarnings({ "EQ_UNUSUAL", "EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS", "HE_EQUALS_USE_HASHCODE" })
 | 
			
		||||
        public boolean equals(final Object obj) {
 | 
			
		||||
            if (obj instanceof Collection<?>)
 | 
			
		||||
                return ((Collection<?>) obj).isEmpty();
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user