]> granicus.if.org Git - handbrake/commitdiff
MacGui: do not use NSMatrix for radio buttons, fix some layout issues.
authorDamiano Galassi <damiog@gmail.com>
Mon, 11 Jun 2018 09:54:49 +0000 (11:54 +0200)
committerDamiano Galassi <damiog@gmail.com>
Mon, 11 Jun 2018 09:55:42 +0000 (11:55 +0200)
macosx/Base.lproj/HBSummaryViewController.xib
macosx/Base.lproj/Video.xib
macosx/HBVideoController.m

index 007a5d136ac66e717735c7f97008628f1e4ed867..7c58c36afd27e2cd63bb79d57078ea26a03789ad 100644 (file)
@@ -23,7 +23,7 @@
             <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
             <subviews>
                 <popUpButton toolTip="Container format. Video, audio, and other tracks are combined into a single file of this type. Affects compatibility." verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="txV-1R-WoD">
-                    <rect key="frame" x="66" y="332" width="136" height="22"/>
+                    <rect key="frame" x="66" y="330" width="136" height="22"/>
                     <constraints>
                         <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="130" id="JWl-qc-DOw"/>
                     </constraints>
@@ -52,7 +52,7 @@
                     </connections>
                 </popUpButton>
                 <textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" preferredMaxLayoutWidth="100" translatesAutoresizingMaskIntoConstraints="NO" id="bpr-UY-4al" userLabel="Format">
-                    <rect key="frame" x="18" y="336" width="45" height="14"/>
+                    <rect key="frame" x="18" y="334" width="45" height="14"/>
                     <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="right" title="Format:" id="RXJ-DZ-4mh">
                         <font key="font" metaFont="smallSystem"/>
                         <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
@@ -63,7 +63,7 @@
                     </connections>
                 </textField>
                 <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" preferredMaxLayoutWidth="100" translatesAutoresizingMaskIntoConstraints="NO" id="GCn-2c-Fql" userLabel="Tracks">
-                    <rect key="frame" x="18" y="251" width="45" height="14"/>
+                    <rect key="frame" x="18" y="249" width="45" height="14"/>
                     <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Tracks:" id="3mF-Bb-Gon">
                         <font key="font" metaFont="smallSystem"/>
                         <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -74,7 +74,7 @@
                     </connections>
                 </textField>
                 <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" preferredMaxLayoutWidth="100" translatesAutoresizingMaskIntoConstraints="NO" id="0kh-Uy-Yo3" userLabel="Filters">
-                    <rect key="frame" x="18" y="221" width="45" height="14"/>
+                    <rect key="frame" x="18" y="219" width="45" height="14"/>
                     <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Filters:" id="OCw-f6-uA0">
                         <font key="font" metaFont="smallSystem"/>
                         <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -85,7 +85,7 @@
                     </connections>
                 </textField>
                 <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" preferredMaxLayoutWidth="170" translatesAutoresizingMaskIntoConstraints="NO" id="yRE-5c-FhX">
-                    <rect key="frame" x="67" y="251" width="214" height="14"/>
+                    <rect key="frame" x="67" y="249" width="214" height="14"/>
                     <constraints>
                         <constraint firstAttribute="width" constant="210" id="I7F-Rh-oaP"/>
                     </constraints>
                     </connections>
                 </textField>
                 <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" preferredMaxLayoutWidth="170" translatesAutoresizingMaskIntoConstraints="NO" id="BHq-Mt-3eA">
-                    <rect key="frame" x="67" y="221" width="214" height="14"/>
+                    <rect key="frame" x="67" y="219" width="214" height="14"/>
                     <textFieldCell key="cell" controlSize="mini" selectable="YES" sendsActionOnEndEditing="YES" title="None" id="RIB-ME-Yhh">
                         <font key="font" metaFont="smallSystem"/>
                         <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
                     <accessibility description="Preview"/>
                 </customView>
                 <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" preferredMaxLayoutWidth="100" translatesAutoresizingMaskIntoConstraints="NO" id="Jgq-K8-z3W" userLabel="Size">
-                    <rect key="frame" x="18" y="191" width="45" height="14"/>
+                    <rect key="frame" x="18" y="189" width="45" height="14"/>
                     <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Size:" id="B4a-co-0ly">
                         <font key="font" metaFont="smallSystem"/>
                         <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
                     </connections>
                 </textField>
                 <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" preferredMaxLayoutWidth="170" translatesAutoresizingMaskIntoConstraints="NO" id="Jaw-pH-rhf">
-                    <rect key="frame" x="67" y="191" width="214" height="14"/>
+                    <rect key="frame" x="67" y="189" width="214" height="14"/>
                     <textFieldCell key="cell" controlSize="mini" selectable="YES" sendsActionOnEndEditing="YES" title="None" id="xmy-Jl-mR4">
                         <font key="font" metaFont="smallSystem"/>
                         <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
                     </connections>
                 </textField>
                 <customView translatesAutoresizingMaskIntoConstraints="NO" id="9OK-03-grs">
-                    <rect key="frame" x="69" y="281" width="210" height="48"/>
+                    <rect key="frame" x="69" y="279" width="210" height="48"/>
                     <subviews>
                         <button translatesAutoresizingMaskIntoConstraints="NO" id="lUi-Oc-208">
                             <rect key="frame" x="-3" y="33" width="205" height="18"/>
                 <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="Jaw-pH-rhf" secondAttribute="trailing" constant="20" symbolic="YES" id="Ndp-Pa-1Wq"/>
                 <constraint firstItem="yRE-5c-FhX" firstAttribute="leading" secondItem="GCn-2c-Fql" secondAttribute="trailing" constant="8" id="Ok2-zj-HHS"/>
                 <constraint firstAttribute="bottom" relation="greaterThanOrEqual" secondItem="Jaw-pH-rhf" secondAttribute="bottom" constant="8" id="U19-5y-ann"/>
-                <constraint firstItem="bpr-UY-4al" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" constant="16" id="VFQ-Vg-ESJ"/>
+                <constraint firstItem="bpr-UY-4al" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" constant="18" id="VFQ-Vg-ESJ"/>
                 <constraint firstItem="0kh-Uy-Yo3" firstAttribute="leading" secondItem="bpr-UY-4al" secondAttribute="leading" id="ZSW-w5-hfn"/>
                 <constraint firstItem="Jaw-pH-rhf" firstAttribute="leading" secondItem="Jgq-K8-z3W" secondAttribute="trailing" constant="8" id="beE-wT-2DH"/>
                 <constraint firstItem="BHq-Mt-3eA" firstAttribute="leading" secondItem="0kh-Uy-Yo3" secondAttribute="trailing" constant="8" id="dZN-9S-z89"/>
index 5a3de6f80be1241ebf499a7dcc90e4ef773e7cdc..4fc9f01f50e51691d20ce099fbd918aabe8a53a6 100644 (file)
@@ -11,7 +11,7 @@
                 <outlet property="fDisplayX264PresetsUnparseTextField" destination="wk1-2U-z4i" id="aIk-h1-bOP"/>
                 <outlet property="fDividerLine" destination="FHY-Ih-1rd" id="sc2-Iw-XH1"/>
                 <outlet property="fEncoderOptionsLabel" destination="mkM-81-g3d" id="eWq-95-kTO"/>
-                <outlet property="fFramerateVfrPfrCell" destination="DD4-13-4gw" id="Cwu-GV-AKd"/>
+                <outlet property="fFramerateVfrPfrButton" destination="Fc1-EX-DWd" id="0Jj-Pc-4iW"/>
                 <outlet property="fPresetView" destination="2dX-Hf-Hxl" id="OEP-rM-gGp"/>
                 <outlet property="fPresetsBox" destination="A4U-3F-pYq" id="m5l-h9-Ak8"/>
                 <outlet property="fPresetsSlider" destination="Biw-5K-pPD" id="so9-VX-eit"/>
         <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
         <customObject id="-3" userLabel="Application" customClass="NSObject"/>
         <view id="wAC-5p-nXb">
-            <rect key="frame" x="0.0" y="0.0" width="912" height="315"/>
+            <rect key="frame" x="0.0" y="0.0" width="912" height="314"/>
             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
             <subviews>
                 <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="1000" allowsCharacterPickerTouchBarItem="YES" preferredMaxLayoutWidth="150" translatesAutoresizingMaskIntoConstraints="NO" id="gfa-Hb-cDP">
-                    <rect key="frame" x="307" y="282" width="45" height="14"/>
+                    <rect key="frame" x="294" y="282" width="45" height="14"/>
                     <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="right" title="Quality:" id="F3s-qR-qeE">
                         <font key="font" metaFont="smallSystem"/>
                         <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
@@ -39,7 +39,7 @@
                     </connections>
                 </textField>
                 <textField toolTip="Average Bitrate varies quality to ensure the data rate remains relatively consistent throughout the video." verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="A3o-Zx-OfM">
-                    <rect key="frame" x="511" y="237" width="78" height="19"/>
+                    <rect key="frame" x="498" y="232" width="78" height="19"/>
                     <constraints>
                         <constraint firstAttribute="width" constant="78" id="EZ2-qD-5pb"/>
                     </constraints>
@@ -52,7 +52,6 @@
                         <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                     </textFieldCell>
                     <connections>
-                        <accessibilityConnection property="title" destination="6tI-Qz-3bJ" id="kcJ-ei-joL"/>
                         <binding destination="-2" name="enabled2" keyPath="self.video" previousBinding="mjs-X8-KV8" id="VTs-xH-tZg">
                             <dictionary key="options">
                                 <integer key="NSMultipleValuesPlaceholder" value="-1"/>
@@ -79,7 +78,7 @@
                     </connections>
                 </textField>
                 <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" allowsCharacterPickerTouchBarItem="YES" preferredMaxLayoutWidth="50" translatesAutoresizingMaskIntoConstraints="NO" id="Pai-3Q-Gs3">
-                    <rect key="frame" x="534" y="282" width="11" height="14"/>
+                    <rect key="frame" x="521" y="282" width="11" height="14"/>
                     <textFieldCell key="cell" controlSize="small" sendsActionOnEndEditing="YES" alignment="left" title="0" id="bvD-W7-O0N">
                         <numberFormatter key="formatter" formatterBehavior="default10_4" localizesFormat="NO" numberStyle="decimal" minimumIntegerDigits="1" maximumIntegerDigits="309" maximumFractionDigits="3" id="efn-Vj-Jp7"/>
                         <font key="font" metaFont="smallSystem"/>
                     </connections>
                 </popUpButton>
                 <button translatesAutoresizingMaskIntoConstraints="NO" id="bnV-aE-FVh">
-                    <rect key="frame" x="383" y="216" width="111" height="18"/>
+                    <rect key="frame" x="358" y="209" width="111" height="18"/>
                     <string key="toolTip">2-pass encoding analyzes the entire source video before encoding. The information gathered enables the encoder to make more informed decisions about quality and data rate in Average Bitrate mode.</string>
                     <buttonCell key="cell" type="check" title="2-pass encoding" bezelStyle="regularSquare" imagePosition="left" alignment="left" controlSize="small" inset="2" id="nPA-nO-Eik">
                         <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
                     </connections>
                 </button>
                 <button toolTip="Turbo first pass speeds up the first pass of a 2-pass encode for a slight penalty to analysis." translatesAutoresizingMaskIntoConstraints="NO" id="olm-zg-k9Y">
-                    <rect key="frame" x="508" y="216" width="104" height="18"/>
+                    <rect key="frame" x="495" y="209" width="104" height="18"/>
                     <buttonCell key="cell" type="check" title="Turbo first pass" bezelStyle="regularSquare" imagePosition="left" alignment="left" controlSize="small" inset="2" id="vSc-VB-NEv">
                         <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
                         <font key="font" metaFont="smallSystem"/>
                         <binding destination="-2" name="content" keyPath="self.video.encoders" id="PbS-nr-Hjk"/>
                     </connections>
                 </popUpButton>
-                <textField horizontalHuggingPriority="249" verticalHuggingPriority="750" horizontalCompressionResistancePriority="1000" allowsCharacterPickerTouchBarItem="YES" preferredMaxLayoutWidth="200" translatesAutoresizingMaskIntoConstraints="NO" id="bAn-iZ-ieF">
+                <textField horizontalHuggingPriority="249" verticalHuggingPriority="750" horizontalCompressionResistancePriority="1000" allowsCharacterPickerTouchBarItem="YES" preferredMaxLayoutWidth="300" translatesAutoresizingMaskIntoConstraints="NO" id="bAn-iZ-ieF">
                     <rect key="frame" x="18" y="256" width="93" height="14"/>
                     <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="right" title="Framerate (FPS):" id="SJc-tv-AMH">
                         <font key="font" metaFont="smallSystem"/>
                         <binding destination="-2" name="textColor" keyPath="self.labelColor" id="2Sr-Kw-dnE"/>
                     </connections>
                 </textField>
-                <matrix verticalHuggingPriority="750" allowsEmptySelection="NO" autosizesCells="NO" translatesAutoresizingMaskIntoConstraints="NO" id="lsD-0N-H8k">
-                    <rect key="frame" x="358" y="237" width="145" height="62"/>
-                    <string key="toolTip">Constant Quality varies bitrate to ensure visual quality remains relatively consistent throughout the video. Recommended.
-
-Average Bitrate varies quality to ensure the data rate remains relatively consistent throughout the video.</string>
-                    <constraints>
-                        <constraint firstAttribute="height" constant="62" id="GpZ-ub-AIa"/>
-                    </constraints>
-                    <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
-                    <size key="cellSize" width="145" height="18"/>
-                    <size key="intercellSpacing" width="2" height="26"/>
-                    <buttonCell key="prototype" type="radio" title="Radio" imagePosition="left" alignment="left" inset="2" id="ISq-P4-S73">
-                        <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
-                        <font key="font" metaFont="system"/>
-                    </buttonCell>
-                    <cells>
-                        <column>
-                            <buttonCell type="radio" title="Constant Quality" imagePosition="left" alignment="left" controlSize="small" state="on" tag="1" inset="2" id="au3-pU-KX6">
-                                <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
-                                <font key="font" metaFont="smallSystem"/>
-                            </buttonCell>
-                            <buttonCell type="radio" title="Average Bitrate (kbps):" imagePosition="left" alignment="left" controlSize="small" inset="2" id="6tI-Qz-3bJ">
-                                <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
-                                <font key="font" metaFont="smallSystem"/>
-                            </buttonCell>
-                        </column>
-                    </cells>
-                    <connections>
-                        <binding destination="-2" name="enabled" keyPath="self.video" id="Bhn-TM-mbV">
-                            <dictionary key="options">
-                                <string key="NSValueTransformerName">NSIsNotNil</string>
-                            </dictionary>
-                        </binding>
-                        <binding destination="-2" name="selectedTag" keyPath="self.video.qualityType" id="Bpj-MC-Zf7"/>
-                    </connections>
-                </matrix>
-                <matrix verticalHuggingPriority="750" allowsEmptySelection="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Xe2-d5-nEH">
-                    <rect key="frame" x="117" y="209" width="180" height="38"/>
-                    <string key="toolTip">Variable Framerate allows each frame to have its own duration, matching the source.
-
-Peak Framerate is the same as Variable Framerate and limited to the maximum set by Framerate (FPS). Useful for ensuring frame rate compatibility, regardless of the source.
-
-Constant Framerate forces all frames to be exactly the same duration, set by Framerate (FPS).</string>
-                    <constraints>
-                        <constraint firstAttribute="height" constant="38" id="9tE-25-ADr"/>
-                    </constraints>
-                    <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
-                    <size key="cellSize" width="180" height="18"/>
-                    <size key="intercellSpacing" width="4" height="2"/>
-                    <buttonCell key="prototype" type="radio" title="Radio" imagePosition="left" alignment="left" inset="2" id="M9p-y9-GDo">
-                        <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
-                        <font key="font" metaFont="system"/>
-                    </buttonCell>
-                    <cells>
-                        <column>
-                            <buttonCell type="radio" title="Variable Framerate" imagePosition="left" alignment="left" controlSize="small" state="on" tag="1" inset="2" id="DD4-13-4gw">
-                                <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
-                                <font key="font" metaFont="smallSystem"/>
-                            </buttonCell>
-                            <buttonCell type="radio" title="Constant Framerate" imagePosition="left" alignment="left" controlSize="small" inset="2" id="ZRE-Ig-mhJ">
-                                <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
-                                <font key="font" metaFont="smallSystem"/>
-                            </buttonCell>
-                        </column>
-                    </cells>
-                    <connections>
-                        <binding destination="-2" name="enabled" keyPath="self.video" id="RUB-wC-Q0A">
-                            <dictionary key="options">
-                                <string key="NSValueTransformerName">NSIsNotNil</string>
-                            </dictionary>
-                        </binding>
-                        <binding destination="-2" name="selectedIndex" keyPath="self.video.frameRateMode" id="tJr-26-Y2P"/>
-                    </connections>
-                </matrix>
                 <slider horizontalHuggingPriority="1000" verticalHuggingPriority="749" horizontalCompressionResistancePriority="200" translatesAutoresizingMaskIntoConstraints="NO" id="GPu-Ht-bKg">
-                    <rect key="frame" x="386" y="261" width="506" height="15"/>
+                    <rect key="frame" x="361" y="259" width="531" height="15"/>
                     <string key="toolTip">Constant Quality varies bitrate to ensure visual quality remains relatively consistent throughout the video.
 
 Adjust the quality slider to the right to increase quality or to the left to decrease quality, in small increments of plus or minus 1-2.
@@ -320,7 +245,6 @@ x264 is lossless at RF 0.</string>
                         <font key="font" metaFont="miniSystem"/>
                     </sliderCell>
                     <connections>
-                        <accessibilityConnection property="title" destination="au3-pU-KX6" id="tqT-R9-Pvn"/>
                         <binding destination="-2" name="enabled2" keyPath="self.video" previousBinding="wCA-ag-GHJ" id="ywk-WQ-GNY">
                             <dictionary key="options">
                                 <integer key="NSMultipleValuesPlaceholder" value="-1"/>
@@ -341,7 +265,7 @@ x264 is lossless at RF 0.</string>
                     </connections>
                 </slider>
                 <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" allowsCharacterPickerTouchBarItem="YES" preferredMaxLayoutWidth="60" translatesAutoresizingMaskIntoConstraints="NO" id="1au-ZO-l1i">
-                    <rect key="frame" x="509" y="282" width="21" height="14"/>
+                    <rect key="frame" x="496" y="282" width="21" height="14"/>
                     <textFieldCell key="cell" controlSize="small" sendsActionOnEndEditing="YES" alignment="left" title="RF:" id="rRB-9F-pHn">
                         <font key="font" metaFont="smallSystem"/>
                         <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
@@ -359,48 +283,104 @@ x264 is lossless at RF 0.</string>
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                     </view>
                 </box>
+                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Vae-sv-7Up">
+                    <rect key="frame" x="343" y="280" width="110" height="18"/>
+                    <buttonCell key="cell" type="radio" title="Constant Quality" bezelStyle="regularSquare" imagePosition="left" alignment="left" controlSize="small" inset="2" id="ZjL-cY-O5f">
+                        <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
+                        <font key="font" metaFont="smallSystem"/>
+                    </buttonCell>
+                    <connections>
+                        <binding destination="-2" name="value" keyPath="self.video.qualityType" id="X1H-PE-sRI"/>
+                    </connections>
+                </button>
+                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="brN-9J-qa1">
+                    <rect key="frame" x="343" y="233" width="143" height="18"/>
+                    <buttonCell key="cell" type="radio" title="Average Bitrate (kbps):" bezelStyle="regularSquare" imagePosition="left" alignment="left" controlSize="small" inset="2" id="VQe-CK-YDR">
+                        <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
+                        <font key="font" metaFont="smallSystem"/>
+                    </buttonCell>
+                    <connections>
+                        <binding destination="-2" name="value" keyPath="self.video.qualityType" id="SE7-YP-gRu">
+                            <dictionary key="options">
+                                <string key="NSValueTransformerName">NSNegateBoolean</string>
+                            </dictionary>
+                        </binding>
+                    </connections>
+                </button>
+                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Fc1-EX-DWd">
+                    <rect key="frame" x="115" y="233" width="121" height="18"/>
+                    <buttonCell key="cell" type="radio" title="Variable Framerate" bezelStyle="regularSquare" imagePosition="left" alignment="left" controlSize="small" inset="2" id="zZo-75-1WG">
+                        <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
+                        <font key="font" metaFont="smallSystem"/>
+                    </buttonCell>
+                    <connections>
+                        <binding destination="-2" name="value" keyPath="self.video.frameRateMode" id="Jy2-df-VQy">
+                            <dictionary key="options">
+                                <string key="NSValueTransformerName">NSNegateBoolean</string>
+                            </dictionary>
+                        </binding>
+                    </connections>
+                </button>
+                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Y3k-tv-pIb">
+                    <rect key="frame" x="115" y="211" width="127" height="18"/>
+                    <buttonCell key="cell" type="radio" title="Constant Framerate" bezelStyle="regularSquare" imagePosition="left" alignment="left" controlSize="small" inset="2" id="6Dd-IP-Pwt">
+                        <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
+                        <font key="font" metaFont="smallSystem"/>
+                    </buttonCell>
+                    <connections>
+                        <binding destination="-2" name="value" keyPath="self.video.frameRateMode" id="aEW-Di-Bkn"/>
+                    </connections>
+                </button>
             </subviews>
             <constraints>
+                <constraint firstItem="gfa-Hb-cDP" firstAttribute="firstBaseline" secondItem="Vae-sv-7Up" secondAttribute="firstBaseline" id="0kX-Ab-X5K"/>
                 <constraint firstItem="bAn-iZ-ieF" firstAttribute="leading" secondItem="rOd-nt-22T" secondAttribute="leading" id="1Ef-t6-WNM"/>
-                <constraint firstItem="1au-ZO-l1i" firstAttribute="leading" secondItem="lsD-0N-H8k" secondAttribute="trailing" constant="8" id="3ga-ff-cu6"/>
+                <constraint firstItem="gfa-Hb-cDP" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="9tc-EO-QMd" secondAttribute="trailing" constant="8" symbolic="YES" id="4cy-QR-OG6"/>
+                <constraint firstItem="Y3k-tv-pIb" firstAttribute="leading" secondItem="9tc-EO-QMd" secondAttribute="leading" id="5PE-fo-oii"/>
                 <constraint firstItem="9tc-EO-QMd" firstAttribute="width" secondItem="xwK-Yu-a1e" secondAttribute="width" id="7GS-Rj-bPM"/>
                 <constraint firstItem="9tc-EO-QMd" firstAttribute="baseline" secondItem="bAn-iZ-ieF" secondAttribute="baseline" id="7ME-g9-qFa"/>
                 <constraint firstItem="bAn-iZ-ieF" firstAttribute="width" secondItem="rOd-nt-22T" secondAttribute="width" id="7bO-dm-xB0"/>
-                <constraint firstItem="Xe2-d5-nEH" firstAttribute="top" secondItem="9tc-EO-QMd" secondAttribute="bottom" constant="8" id="883-2F-hs6"/>
-                <constraint firstItem="lsD-0N-H8k" firstAttribute="leading" secondItem="gfa-Hb-cDP" secondAttribute="trailing" constant="8" id="9mN-Bk-FUt"/>
-                <constraint firstItem="gfa-Hb-cDP" firstAttribute="leading" secondItem="Xe2-d5-nEH" secondAttribute="trailing" constant="12" id="Af6-mG-j8Z"/>
+                <constraint firstItem="bnV-aE-FVh" firstAttribute="top" secondItem="brN-9J-qa1" secondAttribute="bottom" constant="11" id="7kD-fN-uKP"/>
+                <constraint firstItem="GPu-Ht-bKg" firstAttribute="leading" secondItem="Vae-sv-7Up" secondAttribute="leading" constant="16" id="8oT-Pe-dhL"/>
+                <constraint firstItem="brN-9J-qa1" firstAttribute="firstBaseline" secondItem="A3o-Zx-OfM" secondAttribute="firstBaseline" id="Aaw-iQ-f0a"/>
                 <constraint firstItem="1au-ZO-l1i" firstAttribute="baseline" secondItem="gfa-Hb-cDP" secondAttribute="baseline" id="BfH-Qs-3mV"/>
-                <constraint firstItem="GPu-Ht-bKg" firstAttribute="leading" secondItem="gfa-Hb-cDP" secondAttribute="trailing" constant="36" id="D92-Pk-Eb2"/>
+                <constraint firstItem="bnV-aE-FVh" firstAttribute="leading" secondItem="brN-9J-qa1" secondAttribute="leading" constant="16" id="D6T-CW-ala"/>
                 <constraint firstItem="A3o-Zx-OfM" firstAttribute="leading" secondItem="1au-ZO-l1i" secondAttribute="leading" id="F0a-Kc-s3X"/>
                 <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="olm-zg-k9Y" secondAttribute="trailing" constant="20" id="Fsh-Kh-XyK"/>
-                <constraint firstItem="xwK-Yu-a1e" firstAttribute="top" secondItem="wAC-5p-nXb" secondAttribute="top" constant="16" id="GPM-Pg-rMW"/>
                 <constraint firstItem="Pai-3Q-Gs3" firstAttribute="leading" secondItem="1au-ZO-l1i" secondAttribute="trailing" constant="8" symbolic="YES" id="GPO-LT-xtY"/>
                 <constraint firstItem="9tc-EO-QMd" firstAttribute="top" secondItem="xwK-Yu-a1e" secondAttribute="bottom" constant="8" id="GeU-VZ-YTd"/>
-                <constraint firstItem="GPu-Ht-bKg" firstAttribute="top" secondItem="1au-ZO-l1i" secondAttribute="bottom" constant="6" id="IGa-cf-1Ye"/>
+                <constraint firstItem="olm-zg-k9Y" firstAttribute="leading" secondItem="bnV-aE-FVh" secondAttribute="trailing" constant="31" id="HWr-FL-VKu"/>
                 <constraint firstItem="xwK-Yu-a1e" firstAttribute="baseline" secondItem="gfa-Hb-cDP" secondAttribute="baseline" id="KMY-23-CNr"/>
-                <constraint firstItem="lsD-0N-H8k" firstAttribute="top" secondItem="xwK-Yu-a1e" secondAttribute="top" id="Kp4-hZ-x22"/>
                 <constraint firstItem="9tc-EO-QMd" firstAttribute="leading" secondItem="bAn-iZ-ieF" secondAttribute="trailing" constant="8" id="LOL-Rd-Xdp"/>
+                <constraint firstItem="GPu-Ht-bKg" firstAttribute="top" secondItem="Vae-sv-7Up" secondAttribute="bottom" constant="8" id="PIy-tb-2VH"/>
+                <constraint firstItem="Vae-sv-7Up" firstAttribute="leading" secondItem="brN-9J-qa1" secondAttribute="leading" id="SDC-yH-bYi"/>
                 <constraint firstItem="rOd-nt-22T" firstAttribute="leading" secondItem="wAC-5p-nXb" secondAttribute="leading" constant="20" id="U8S-gG-od4"/>
                 <constraint firstAttribute="trailing" secondItem="A4U-3F-pYq" secondAttribute="trailing" id="UAi-Rf-EqT"/>
-                <constraint firstItem="gfa-Hb-cDP" firstAttribute="leading" secondItem="xwK-Yu-a1e" secondAttribute="trailing" constant="49" id="X7s-4B-e33"/>
-                <constraint firstItem="olm-zg-k9Y" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="bnV-aE-FVh" secondAttribute="trailing" constant="8" symbolic="YES" id="YJg-we-bt0"/>
-                <constraint firstItem="bnV-aE-FVh" firstAttribute="leading" secondItem="gfa-Hb-cDP" secondAttribute="trailing" constant="36" id="Ylj-iY-XDW"/>
-                <constraint firstItem="A4U-3F-pYq" firstAttribute="top" secondItem="Xe2-d5-nEH" secondAttribute="bottom" constant="13" id="aqt-QN-1oT"/>
+                <constraint firstItem="Y3k-tv-pIb" firstAttribute="top" secondItem="Fc1-EX-DWd" secondAttribute="bottom" constant="8" id="V4I-Zk-x8R"/>
+                <constraint firstItem="gfa-Hb-cDP" firstAttribute="leading" secondItem="xwK-Yu-a1e" secondAttribute="trailing" constant="36" id="X7s-4B-e33"/>
+                <constraint firstItem="gfa-Hb-cDP" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="Fc1-EX-DWd" secondAttribute="trailing" constant="8" symbolic="YES" id="XpL-gA-cOo"/>
+                <constraint firstItem="1au-ZO-l1i" firstAttribute="leading" secondItem="Vae-sv-7Up" secondAttribute="trailing" constant="46" id="Za9-Lu-OUj"/>
+                <constraint firstItem="brN-9J-qa1" firstAttribute="top" secondItem="GPu-Ht-bKg" secondAttribute="bottom" constant="10" id="bQV-DG-M7N"/>
                 <constraint firstItem="xwK-Yu-a1e" firstAttribute="leading" secondItem="rOd-nt-22T" secondAttribute="trailing" constant="8" id="bV5-2x-8ji"/>
-                <constraint firstItem="A3o-Zx-OfM" firstAttribute="top" secondItem="GPu-Ht-bKg" secondAttribute="bottom" constant="5" id="dNx-VE-ucU"/>
                 <constraint firstItem="bnV-aE-FVh" firstAttribute="baseline" secondItem="olm-zg-k9Y" secondAttribute="baseline" id="gA6-nQ-o4p"/>
                 <constraint firstItem="rOd-nt-22T" firstAttribute="baseline" secondItem="xwK-Yu-a1e" secondAttribute="baseline" id="gSI-9O-c0a"/>
+                <constraint firstItem="Fc1-EX-DWd" firstAttribute="top" secondItem="9tc-EO-QMd" secondAttribute="bottom" constant="6" id="h8H-lD-5AW"/>
+                <constraint firstItem="A3o-Zx-OfM" firstAttribute="leading" secondItem="brN-9J-qa1" secondAttribute="trailing" constant="13" id="hDQ-FZ-M9G"/>
                 <constraint firstAttribute="bottom" secondItem="A4U-3F-pYq" secondAttribute="bottom" constant="20" symbolic="YES" id="hwA-f3-WWM"/>
-                <constraint firstItem="lsD-0N-H8k" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="9tc-EO-QMd" secondAttribute="trailing" constant="8" symbolic="YES" id="k1s-PG-fmj"/>
-                <constraint firstItem="olm-zg-k9Y" firstAttribute="top" secondItem="A3o-Zx-OfM" secondAttribute="bottom" constant="6" id="mJ5-rh-5HC"/>
+                <constraint firstItem="Fc1-EX-DWd" firstAttribute="leading" secondItem="9tc-EO-QMd" secondAttribute="leading" id="ich-lj-Kpj"/>
+                <constraint firstItem="A4U-3F-pYq" firstAttribute="top" secondItem="bnV-aE-FVh" secondAttribute="bottom" constant="16" id="ilD-Us-GwD"/>
+                <constraint firstItem="gfa-Hb-cDP" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="Y3k-tv-pIb" secondAttribute="trailing" constant="8" symbolic="YES" id="kXy-RO-xGg"/>
+                <constraint firstItem="rOd-nt-22T" firstAttribute="top" secondItem="wAC-5p-nXb" secondAttribute="top" constant="18" id="lZs-Yt-3BK"/>
+                <constraint firstItem="Vae-sv-7Up" firstAttribute="firstBaseline" secondItem="1au-ZO-l1i" secondAttribute="firstBaseline" id="m6s-yk-F1V"/>
+                <constraint firstItem="orG-bd-6do" firstAttribute="top" secondItem="Y3k-tv-pIb" secondAttribute="bottom" constant="17" id="rcf-2a-ePX"/>
                 <constraint firstAttribute="trailing" secondItem="GPu-Ht-bKg" secondAttribute="trailing" constant="20" id="sL1-if-zZ9"/>
                 <constraint firstItem="Pai-3Q-Gs3" firstAttribute="baseline" secondItem="1au-ZO-l1i" secondAttribute="baseline" id="sVB-mt-wYZ"/>
-                <constraint firstItem="Xe2-d5-nEH" firstAttribute="leading" secondItem="9tc-EO-QMd" secondAttribute="leading" id="vI1-l7-kWA"/>
                 <constraint firstItem="A4U-3F-pYq" firstAttribute="leading" secondItem="wAC-5p-nXb" secondAttribute="leading" id="xFf-rj-qaL"/>
                 <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="Pai-3Q-Gs3" secondAttribute="trailing" constant="20" symbolic="YES" id="yJK-FI-8b5"/>
                 <constraint firstItem="A3o-Zx-OfM" firstAttribute="leading" secondItem="olm-zg-k9Y" secondAttribute="leading" id="ydG-Lc-8Ru"/>
+                <constraint firstItem="Vae-sv-7Up" firstAttribute="leading" secondItem="gfa-Hb-cDP" secondAttribute="trailing" constant="8" id="zxZ-dZ-W0N"/>
             </constraints>
-            <point key="canvasLocation" x="225" y="71"/>
+            <point key="canvasLocation" x="-37" y="174"/>
         </view>
         <customView id="2dX-Hf-Hxl" userLabel="x264/x264 presets view">
             <rect key="frame" x="0.0" y="0.0" width="920" height="204"/>
@@ -523,7 +503,7 @@ x264 is lossless at RF 0.</string>
                         </binding>
                     </connections>
                 </button>
-                <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" allowsCharacterPickerTouchBarItem="YES" preferredMaxLayoutWidth="200" translatesAutoresizingMaskIntoConstraints="NO" id="ijg-ux-uvb">
+                <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" allowsCharacterPickerTouchBarItem="YES" preferredMaxLayoutWidth="300" translatesAutoresizingMaskIntoConstraints="NO" id="ijg-ux-uvb">
                     <rect key="frame" x="248" y="105" width="104" height="14"/>
                     <textFieldCell key="cell" controlSize="small" sendsActionOnEndEditing="YES" alignment="right" title="Additional Options:" id="ZSm-03-g0B">
                         <font key="font" metaFont="smallSystem"/>
@@ -673,7 +653,7 @@ This setting is no longer supported and may be removed in a future version. Use
                 <constraint firstItem="0sa-ep-yfr" firstAttribute="width" secondItem="dY9-5D-mXX" secondAttribute="width" id="xvU-on-9bJ"/>
                 <constraint firstItem="ijg-ux-uvb" firstAttribute="leading" secondItem="P7c-Zk-G99" secondAttribute="trailing" constant="20" id="zKk-dV-w0d"/>
             </constraints>
-            <point key="canvasLocation" x="51" y="477"/>
+            <point key="canvasLocation" x="166" y="479"/>
         </customView>
         <customView id="aRi-vN-oR0" userLabel="ffmpeg presets view">
             <rect key="frame" x="0.0" y="0.0" width="920" height="34"/>
index 5e43e3e748c65721f9901b28f7adc9a0417e5b46..baca2b0c13d27b31a33de480a71a54e8b11daf86 100644 (file)
@@ -13,7 +13,7 @@ static void *HBVideoControllerContext = &HBVideoControllerContext;
 
 @interface HBVideoController () {
     // Framerate Radio Button Framerate Controls
-    IBOutlet NSButtonCell *fFramerateVfrPfrCell;
+    IBOutlet NSButton *fFramerateVfrPfrButton;
 
     // Video Encoder
     IBOutlet NSSlider *fVidQualitySlider;
@@ -119,11 +119,11 @@ static void *HBVideoControllerContext = &HBVideoControllerContext;
             // fFramerateVfrPfrCell
             if (self.video.frameRate == 0) // We are Same as Source
             {
-                [fFramerateVfrPfrCell setTitle:NSLocalizedString(@"Variable Framerate", @"Video -> Framerate")];
+                [fFramerateVfrPfrButton setTitle:NSLocalizedString(@"Variable Framerate", @"Video -> Framerate")];
             }
             else
             {
-                [fFramerateVfrPfrCell setTitle:NSLocalizedString(@"Peak Framerate (VFR)", @"Video -> Framerate")];
+                [fFramerateVfrPfrButton setTitle:NSLocalizedString(@"Peak Framerate (VFR)", @"Video -> Framerate")];
             }
         }
         else if ([keyPath isEqualToString:@"video.quality"])