diff options
author | Damiano Galassi <[email protected]> | 2020-10-05 17:45:47 +0200 |
---|---|---|
committer | Damiano Galassi <[email protected]> | 2020-10-05 17:45:47 +0200 |
commit | a03ef31cf5e25942c36c3f27a3100dbb2468c631 (patch) | |
tree | ada511733896045415691cbb7f4f63e7ce3bf3dd /macosx | |
parent | 680f58d109e536317ad8bffdf5eb4a6af80107bd (diff) |
MacGui: replace the floating dimensions window with a popover with only cropping settings.
Diffstat (limited to 'macosx')
16 files changed, 344 insertions, 797 deletions
diff --git a/macosx/Base.lproj/HBCroppingView.xib b/macosx/Base.lproj/HBCroppingView.xib new file mode 100644 index 000000000..19c9fb1ce --- /dev/null +++ b/macosx/Base.lproj/HBCroppingView.xib @@ -0,0 +1,251 @@ +<?xml version="1.0" encoding="UTF-8"?> +<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="17505" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES"> + <dependencies> + <deployment identifier="macosx"/> + <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="17505"/> + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> + </dependencies> + <objects> + <customObject id="-2" userLabel="File's Owner" customClass="HBCroppingController"> + <connections> + <outlet property="view" destination="G0m-eh-cUI" id="suz-o9-DS9"/> + </connections> + </customObject> + <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/> + <customObject id="-3" userLabel="Application" customClass="NSObject"/> + <userDefaultsController representsSharedInstance="YES" id="vUw-ux-GVV"/> + <view wantsLayer="YES" id="G0m-eh-cUI"> + <rect key="frame" x="0.0" y="0.0" width="198" height="144"/> + <autoresizingMask key="autoresizingMask"/> + <subviews> + <stackView distribution="fill" orientation="vertical" alignment="leading" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="RXb-dd-41D"> + <rect key="frame" x="20" y="20" width="158" height="104"/> + <subviews> + <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="aMe-kd-fWG"> + <rect key="frame" x="-1" y="89.5" width="75" height="15"/> + <buttonCell key="cell" type="radio" title="Automatic" bezelStyle="regularSquare" imagePosition="left" alignment="left" controlSize="small" inset="2" id="TpA-LI-v0t"> + <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> + <font key="font" metaFont="smallSystem"/> + </buttonCell> + <connections> + <binding destination="-2" name="value" keyPath="self.picture.autocrop" id="fLv-q1-RI0"/> + </connections> + </button> + <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="aAm-nF-ebh"> + <rect key="frame" x="-1" y="67.5" width="65" height="15"/> + <buttonCell key="cell" type="radio" title="Custom:" bezelStyle="regularSquare" imagePosition="left" alignment="left" controlSize="small" inset="2" id="auT-Ic-0JB"> + <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> + <font key="font" metaFont="smallSystem"/> + </buttonCell> + <connections> + <binding destination="-2" name="value" keyPath="self.picture.autocrop" id="WhW-H5-lUN"> + <dictionary key="options"> + <string key="NSValueTransformerName">NSNegateBoolean</string> + </dictionary> + </binding> + </connections> + </button> + <customView translatesAutoresizingMaskIntoConstraints="NO" id="3IY-Qm-KMJ"> + <rect key="frame" x="0.0" y="0.0" width="158" height="60"/> + <subviews> + <textField toolTip="Left edge cropping amount in pixels." verticalHuggingPriority="750" preferredMaxLayoutWidth="36" textCompletion="NO" id="Td7-sa-0TV"> + <rect key="frame" x="-3" y="21" width="36" height="19"/> + <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/> + <textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="left" drawsBackground="YES" id="iF7-Kp-18L"> + <numberFormatter key="formatter" formatterBehavior="default10_4" usesGroupingSeparator="NO" formatWidth="-1" groupingSize="0" minimumIntegerDigits="1" maximumIntegerDigits="42" id="4eK-Cz-G5y"/> + <font key="font" metaFont="smallSystem"/> + <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> + <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> + </textFieldCell> + <accessibility description="Crop left"/> + <connections> + <binding destination="-2" name="enabled" keyPath="self.picture.autocrop" id="U91-Ic-kfk"> + <dictionary key="options"> + <string key="NSValueTransformerName">NSNegateBoolean</string> + </dictionary> + </binding> + <binding destination="-2" name="value" keyPath="self.picture.cropLeft" id="yDf-4g-FLl"> + <dictionary key="options"> + <bool key="NSValidatesImmediately" value="YES"/> + </dictionary> + </binding> + </connections> + </textField> + <textField toolTip="Bottom edge cropping amount in pixels." verticalHuggingPriority="750" preferredMaxLayoutWidth="36" textCompletion="NO" id="6Gj-ZU-E1E"> + <rect key="frame" x="51" y="2" width="36" height="19"/> + <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/> + <textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="left" drawsBackground="YES" id="XSa-sK-bkZ"> + <numberFormatter key="formatter" formatterBehavior="default10_4" usesGroupingSeparator="NO" formatWidth="-1" groupingSize="0" minimumIntegerDigits="1" maximumIntegerDigits="42" id="Ob3-hm-TP9"/> + <font key="font" metaFont="smallSystem"/> + <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> + <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> + </textFieldCell> + <accessibility description="Crop bottom"/> + <connections> + <binding destination="-2" name="enabled" keyPath="self.picture.autocrop" id="ePK-Un-qQM"> + <dictionary key="options"> + <string key="NSValueTransformerName">NSNegateBoolean</string> + </dictionary> + </binding> + <binding destination="-2" name="value" keyPath="self.picture.cropBottom" id="oN8-74-lk0"> + <dictionary key="options"> + <bool key="NSValidatesImmediately" value="YES"/> + </dictionary> + </binding> + </connections> + </textField> + <textField toolTip="Right edge cropping amount in pixels." verticalHuggingPriority="750" preferredMaxLayoutWidth="36" textCompletion="NO" id="php-p6-Nz6"> + <rect key="frame" x="105" y="21" width="36" height="19"/> + <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/> + <textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="left" drawsBackground="YES" id="XLL-Lm-ivc"> + <numberFormatter key="formatter" formatterBehavior="default10_4" usesGroupingSeparator="NO" formatWidth="-1" groupingSize="0" minimumIntegerDigits="1" maximumIntegerDigits="42" id="KaO-A4-kXq"/> + <font key="font" metaFont="smallSystem"/> + <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> + <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> + </textFieldCell> + <accessibility description="Crop right"/> + <connections> + <binding destination="-2" name="enabled" keyPath="self.picture.autocrop" id="oW8-mk-KIe"> + <dictionary key="options"> + <string key="NSValueTransformerName">NSNegateBoolean</string> + </dictionary> + </binding> + <binding destination="-2" name="value" keyPath="self.picture.cropRight" id="Pbe-2e-W29"> + <dictionary key="options"> + <bool key="NSValidatesImmediately" value="YES"/> + </dictionary> + </binding> + </connections> + </textField> + <stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" id="y7P-yk-q46"> + <rect key="frame" x="140" y="18" width="15" height="23"/> + <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/> + <stepperCell key="cell" controlSize="small" continuous="YES" alignment="left" increment="2" maxValue="59" id="SA2-eh-4Jb"> + <font key="font" metaFont="smallSystem"/> + </stepperCell> + <accessibility description="Crop right"/> + <connections> + <binding destination="-2" name="enabled" keyPath="self.picture.autocrop" id="2YV-hD-H5I"> + <dictionary key="options"> + <string key="NSValueTransformerName">NSNegateBoolean</string> + </dictionary> + </binding> + <binding destination="-2" name="value" keyPath="self.picture.cropRight" id="Wsh-SC-RmH"> + <dictionary key="options"> + <bool key="NSValidatesImmediately" value="YES"/> + </dictionary> + </binding> + </connections> + </stepper> + <stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" id="8e5-zI-IBg"> + <rect key="frame" x="86" y="38" width="15" height="22"/> + <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/> + <stepperCell key="cell" controlSize="small" continuous="YES" alignment="left" increment="2" maxValue="59" id="c11-EG-77U"> + <font key="font" metaFont="smallSystem"/> + </stepperCell> + <accessibility description="Crop top"/> + <connections> + <binding destination="-2" name="enabled" keyPath="self.picture.autocrop" id="ZwR-aS-W9R"> + <dictionary key="options"> + <string key="NSValueTransformerName">NSNegateBoolean</string> + </dictionary> + </binding> + <binding destination="-2" name="value" keyPath="self.picture.cropTop" id="bJl-KS-VCU"> + <dictionary key="options"> + <bool key="NSValidatesImmediately" value="YES"/> + </dictionary> + </binding> + </connections> + </stepper> + <stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" id="Yua-R6-mWU"> + <rect key="frame" x="32" y="18" width="15" height="23"/> + <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/> + <stepperCell key="cell" controlSize="small" continuous="YES" alignment="left" increment="2" maxValue="59" id="yPe-lP-KfM"> + <font key="font" metaFont="smallSystem"/> + </stepperCell> + <accessibility description="Crop left"/> + <connections> + <binding destination="-2" name="enabled" keyPath="self.picture.autocrop" id="Bxh-RA-VIi"> + <dictionary key="options"> + <string key="NSValueTransformerName">NSNegateBoolean</string> + </dictionary> + </binding> + <binding destination="-2" name="value" keyPath="self.picture.cropLeft" id="Idt-Df-QOQ"> + <dictionary key="options"> + <bool key="NSValidatesImmediately" value="YES"/> + </dictionary> + </binding> + </connections> + </stepper> + <stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" id="sWf-fq-lvl"> + <rect key="frame" x="86" y="-1" width="15" height="22"/> + <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/> + <stepperCell key="cell" controlSize="small" continuous="YES" alignment="left" increment="2" maxValue="59" id="w45-AO-bJL"> + <font key="font" metaFont="smallSystem"/> + </stepperCell> + <accessibility description="Crop bottom"/> + <connections> + <binding destination="-2" name="enabled" keyPath="self.picture.autocrop" id="KPh-OG-10x"> + <dictionary key="options"> + <string key="NSValueTransformerName">NSNegateBoolean</string> + </dictionary> + </binding> + <binding destination="-2" name="value" keyPath="self.picture.cropBottom" id="kwp-8o-xAt"> + <dictionary key="options"> + <bool key="NSValidatesImmediately" value="YES"/> + </dictionary> + </binding> + </connections> + </stepper> + <textField toolTip="Top edge cropping amount in pixels." verticalHuggingPriority="750" preferredMaxLayoutWidth="36" textCompletion="NO" id="Cp5-xz-x1h"> + <rect key="frame" x="51" y="40" width="36" height="19"/> + <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/> + <textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="left" drawsBackground="YES" id="WKu-TR-fzG"> + <numberFormatter key="formatter" formatterBehavior="default10_4" usesGroupingSeparator="NO" formatWidth="-1" groupingSize="0" minimumIntegerDigits="1" maximumIntegerDigits="42" id="Zhe-d6-XZG"/> + <font key="font" metaFont="smallSystem"/> + <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> + <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> + </textFieldCell> + <accessibility description="Crop top"/> + <connections> + <binding destination="-2" name="enabled" keyPath="self.picture.autocrop" id="vtq-zQ-fuH"> + <dictionary key="options"> + <string key="NSValueTransformerName">NSNegateBoolean</string> + </dictionary> + </binding> + <binding destination="-2" name="value" keyPath="self.picture.cropTop" id="Mfe-8c-gIn"> + <dictionary key="options"> + <bool key="NSValidatesImmediately" value="YES"/> + </dictionary> + </binding> + </connections> + </textField> + </subviews> + <constraints> + <constraint firstAttribute="height" constant="60" id="fwG-bv-NtO"/> + <constraint firstAttribute="width" constant="158" id="ph6-P5-diB"/> + </constraints> + </customView> + </subviews> + <visibilityPriorities> + <integer value="1000"/> + <integer value="1000"/> + <integer value="1000"/> + </visibilityPriorities> + <customSpacing> + <real value="3.4028234663852886e+38"/> + <real value="3.4028234663852886e+38"/> + <real value="3.4028234663852886e+38"/> + </customSpacing> + </stackView> + </subviews> + <constraints> + <constraint firstAttribute="bottom" secondItem="RXb-dd-41D" secondAttribute="bottom" constant="20" symbolic="YES" id="0xo-XX-onz"/> + <constraint firstItem="RXb-dd-41D" firstAttribute="top" secondItem="G0m-eh-cUI" secondAttribute="top" constant="20" symbolic="YES" id="5Hd-UT-PWu"/> + <constraint firstItem="RXb-dd-41D" firstAttribute="leading" secondItem="G0m-eh-cUI" secondAttribute="leading" constant="20" symbolic="YES" id="Y0r-vG-Ppl"/> + <constraint firstAttribute="trailing" secondItem="RXb-dd-41D" secondAttribute="trailing" constant="20" symbolic="YES" id="lql-tL-Lc3"/> + </constraints> + <point key="canvasLocation" x="-641" y="28"/> + </view> + </objects> +</document> diff --git a/macosx/Base.lproj/HBPictureHUDController.xib b/macosx/Base.lproj/HBPictureHUDController.xib index 3770a2b49..3f3b2c438 100644 --- a/macosx/Base.lproj/HBPictureHUDController.xib +++ b/macosx/Base.lproj/HBPictureHUDController.xib @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> -<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14490.59" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES"> +<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="17505" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES"> <dependencies> <deployment identifier="macosx"/> - <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14490.59"/> + <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="17505"/> <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> </dependencies> <objects> @@ -21,11 +21,11 @@ <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/> <customObject id="-3" userLabel="Application" customClass="NSObject"/> <customView id="agq-EJ-miM" userLabel="Picture Controls" customClass="HBHUDView"> - <rect key="frame" x="0.0" y="0.0" width="476" height="100"/> + <rect key="frame" x="0.0" y="0.0" width="476" height="96"/> <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMaxY="YES"/> <subviews> <button toolTip="Encode and play a preview video using current settings." horizontalHuggingPriority="249" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="16b-R9-bBU"> - <rect key="frame" x="16" y="11" width="79" height="16"/> + <rect key="frame" x="15" y="10" width="73" height="16"/> <constraints> <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="50" id="ir9-qd-gak"/> </constraints> @@ -37,21 +37,21 @@ <action selector="createMoviePreview:" target="-2" id="rhf-gy-aMT"/> </connections> </button> - <button toolTip="Show picture settings." verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="mV7-hU-tMt"> - <rect key="frame" x="399" y="11" width="61" height="16"/> + <button toolTip="Show cropping settings" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="mV7-hU-tMt"> + <rect key="frame" x="407" y="10" width="54" height="16"/> <constraints> <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="50" id="xea-W9-xGB"/> </constraints> - <buttonCell key="cell" type="push" title="Settings" bezelStyle="rounded" alignment="center" controlSize="mini" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="NWd-Lq-c1A"> + <buttonCell key="cell" type="push" title="Crop" bezelStyle="rounded" alignment="center" controlSize="mini" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="NWd-Lq-c1A"> <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> <font key="font" metaFont="miniSystem"/> </buttonCell> <connections> - <action selector="showPictureSettings:" target="-2" id="aDd-cp-S1k"/> + <action selector="showCroppingSettings:" target="-2" id="aDd-cp-S1k"/> </connections> </button> <textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="5T3-Vx-mC1"> - <rect key="frame" x="109" y="14" width="48" height="11"/> + <rect key="frame" x="101" y="14" width="48" height="11"/> <constraints> <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="30" id="wtS-2b-Ijm"/> </constraints> @@ -62,7 +62,7 @@ </textFieldCell> </textField> <textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Vrm-He-CjP"> - <rect key="frame" x="211" y="14" width="21" height="11"/> + <rect key="frame" x="203" y="14" width="21" height="11"/> <constraints> <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="17" id="88j-t5-f6t"/> </constraints> @@ -73,7 +73,7 @@ </textFieldCell> </textField> <popUpButton toolTip="Duration to encode in seconds." verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ASA-X8-16P"> - <rect key="frame" x="158" y="11" width="53" height="16"/> + <rect key="frame" x="149" y="10" width="55" height="16"/> <constraints> <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="50" id="JLd-YP-qt1"/> </constraints> @@ -92,7 +92,7 @@ </connections> </popUpButton> <slider toolTip="Starting point for the preview encode." verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="wUk-SQ-GhS"> - <rect key="frame" x="17" y="38" width="442" height="15"/> + <rect key="frame" x="12" y="34" width="452" height="17"/> <sliderCell key="cell" controlSize="mini" continuous="YES" alignment="left" maxValue="9" tickMarkPosition="above" numberOfTickMarks="10" allowsTickMarkValuesOnly="YES" sliderType="linear" id="dPk-jb-w9o"> <font key="font" metaFont="miniSystem"/> </sliderCell> @@ -102,7 +102,7 @@ </connections> </slider> <textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" preferredMaxLayoutWidth="426" translatesAutoresizingMaskIntoConstraints="NO" id="MkW-KN-I1h"> - <rect key="frame" x="15" y="54" width="446" height="20"/> + <rect key="frame" x="15" y="50" width="446" height="20"/> <constraints> <constraint firstAttribute="height" constant="20" id="Wqt-oa-eQj"/> </constraints> @@ -113,7 +113,7 @@ </textFieldCell> </textField> <textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" preferredMaxLayoutWidth="600" translatesAutoresizingMaskIntoConstraints="NO" id="7UR-Zz-7iX"> - <rect key="frame" x="15" y="76" width="446" height="12"/> + <rect key="frame" x="15" y="72" width="446" height="12"/> <textFieldCell key="cell" controlSize="mini" sendsActionOnEndEditing="YES" alignment="left" id="CeL-Pu-NS6"> <font key="font" metaFont="miniSystemBold"/> <color key="textColor" name="secondaryLabelColor" catalog="System" colorSpace="catalog"/> @@ -121,7 +121,7 @@ </textFieldCell> </textField> <button toolTip="Scale preview to fill the display." verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="12K-c3-Z7A"> - <rect key="frame" x="298" y="11" width="95" height="16"/> + <rect key="frame" x="314" y="10" width="89" height="16"/> <constraints> <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="50" id="N0p-GD-cNh"/> </constraints> diff --git a/macosx/Base.lproj/PictureSettings.xib b/macosx/Base.lproj/PictureSettings.xib deleted file mode 100644 index a0e98160a..000000000 --- a/macosx/Base.lproj/PictureSettings.xib +++ /dev/null @@ -1,520 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="17503.1" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES"> - <dependencies> - <deployment identifier="macosx"/> - <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="17503.1"/> - <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> - </dependencies> - <objects> - <customObject id="-2" userLabel="File's Owner" customClass="HBPictureController"> - <connections> - <outlet property="fAnamorphicPopUp" destination="132" id="140"/> - <outlet property="fHeightStepper" destination="46" id="cLy-f3-fot"/> - <outlet property="fPictureCropBox" destination="7" id="242"/> - <outlet property="fPictureSizeBox" destination="436" id="437"/> - <outlet property="fWidthStepper" destination="44" id="z49-FB-Xci"/> - <outlet property="window" destination="5" id="184"/> - </connections> - </customObject> - <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/> - <customObject id="-3" userLabel="Application" customClass="NSObject"/> - <window title="Picture" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" hidesOnDeactivate="YES" releasedWhenClosed="NO" visibleAtLaunch="NO" frameAutosaveName="PictureSizing" animationBehavior="default" id="5" userLabel="PicturePanel" customClass="NSPanel"> - <windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" utility="YES" HUD="YES"/> - <windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/> - <rect key="contentRect" x="152" y="1024" width="648" height="148"/> - <rect key="screenRect" x="0.0" y="0.0" width="1440" height="875"/> - <view key="contentView" wantsLayer="YES" id="6"> - <rect key="frame" x="0.0" y="0.0" width="648" height="148"/> - <autoresizingMask key="autoresizingMask"/> - <userGuides> - <userLayoutGuide affinity="minY"/> - <userLayoutGuide location="116" affinity="minX"/> - </userGuides> - <subviews> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="XmO-LR-1DQ"> - <rect key="frame" x="257" y="61" width="120" height="17"/> - <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Nothing to inspect" id="buq-K6-Wvy"> - <font key="font" metaFont="system"/> - <color key="textColor" name="highlightColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <connections> - <binding destination="-2" name="hidden" keyPath="self.picture" id="00s-D3-JmF"> - <dictionary key="options"> - <string key="NSValueTransformerName">NSIsNotNil</string> - </dictionary> - </binding> - </connections> - </textField> - <box fixedFrame="YES" borderType="none" title="Box" titlePosition="noTitle" translatesAutoresizingMaskIntoConstraints="NO" id="436"> - <rect key="frame" x="17" y="5" width="358" height="126"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <view key="contentView" id="izI-da-gGT"> - <rect key="frame" x="0.0" y="0.0" width="358" height="126"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - <subviews> - <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="402"> - <rect key="frame" x="192" y="106" width="82" height="16"/> - <autoresizingMask key="autoresizingMask"/> - <textFieldCell key="cell" controlSize="small" sendsActionOnEndEditing="YES" alignment="right" title="Display Width:" id="403"> - <font key="font" metaFont="smallSystem"/> - <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <connections> - <binding destination="-2" name="hidden" keyPath="self.picture.customAnamorphicEnabled" id="aUz-kE-qa4"> - <dictionary key="options"> - <string key="NSValueTransformerName">NSNegateBoolean</string> - </dictionary> - </binding> - </connections> - </textField> - <textField verticalHuggingPriority="750" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="440"> - <rect key="frame" x="278" y="81" width="37" height="16"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> - <textFieldCell key="cell" controlSize="mini" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="left" drawsBackground="YES" id="441"> - <numberFormatter key="formatter" formatterBehavior="default10_4" usesGroupingSeparator="NO" minimumIntegerDigits="0" maximumIntegerDigits="42" id="14I-lw-kIN"/> - <font key="font" metaFont="miniSystem"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <connections> - <binding destination="-2" name="hidden" keyPath="self.picture.customAnamorphicEnabled" previousBinding="b7l-Ej-dxa" id="4ER-Vi-m2V"> - <dictionary key="options"> - <string key="NSValueTransformerName">NSNegateBoolean</string> - </dictionary> - </binding> - <binding destination="-2" name="editable" keyPath="self.picture.customAnamorphicEnabled" id="Wvz-jo-lwE"/> - <binding destination="-2" name="enabled" keyPath="self.picture.keepDisplayAspect" previousBinding="Wvz-jo-lwE" id="b7l-Ej-dxa"> - <dictionary key="options"> - <string key="NSValueTransformerName">NSNegateBoolean</string> - </dictionary> - </binding> - <binding destination="-2" name="value" keyPath="self.picture.parWidth" id="PXg-GA-vo6"/> - </connections> - </textField> - <textField verticalHuggingPriority="750" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="442"> - <rect key="frame" x="278" y="56" width="37" height="16"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> - <textFieldCell key="cell" controlSize="mini" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="left" drawsBackground="YES" id="443"> - <numberFormatter key="formatter" formatterBehavior="default10_4" usesGroupingSeparator="NO" minimumIntegerDigits="0" maximumIntegerDigits="42" id="t04-vN-OL7"/> - <font key="font" metaFont="miniSystem"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <connections> - <binding destination="-2" name="hidden" keyPath="self.picture.customAnamorphicEnabled" previousBinding="kG8-EC-OJR" id="6PT-Pz-qs1"> - <dictionary key="options"> - <string key="NSValueTransformerName">NSNegateBoolean</string> - </dictionary> - </binding> - <binding destination="-2" name="editable" keyPath="self.picture.customAnamorphicEnabled" id="Vjg-8L-veN"/> - <binding destination="-2" name="enabled" keyPath="self.picture.keepDisplayAspect" previousBinding="Vjg-8L-veN" id="kG8-EC-OJR"> - <dictionary key="options"> - <string key="NSValueTransformerName">NSNegateBoolean</string> - </dictionary> - </binding> - <binding destination="-2" name="value" keyPath="self.picture.parHeight" id="HrI-5d-evg"/> - </connections> - </textField> - <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="444"> - <rect key="frame" x="207" y="81" width="67" height="16"/> - <autoresizingMask key="autoresizingMask"/> - <textFieldCell key="cell" controlSize="small" sendsActionOnEndEditing="YES" alignment="right" title="PAR Width:" id="445"> - <font key="font" metaFont="smallSystem"/> - <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <connections> - <binding destination="-2" name="hidden" keyPath="self.picture.customAnamorphicEnabled" id="Gp6-pf-QeR"> - <dictionary key="options"> - <string key="NSValueTransformerName">NSNegateBoolean</string> - </dictionary> - </binding> - </connections> - </textField> - <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="446"> - <rect key="frame" x="202" y="56" width="71" height="16"/> - <autoresizingMask key="autoresizingMask"/> - <textFieldCell key="cell" controlSize="small" sendsActionOnEndEditing="YES" alignment="right" title="PAR Height:" id="447"> - <font key="font" metaFont="smallSystem"/> - <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <connections> - <binding destination="-2" name="hidden" keyPath="self.picture.customAnamorphicEnabled" id="IQs-tB-UlR"> - <dictionary key="options"> - <string key="NSValueTransformerName">NSNegateBoolean</string> - </dictionary> - </binding> - </connections> - </textField> - <stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="44"> - <rect key="frame" x="143" y="103" width="15" height="22"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> - <stepperCell key="cell" controlSize="small" continuous="YES" alignment="left" increment="16" minValue="64" maxValue="59" doubleValue="64" id="169"> - <font key="font" metaFont="smallSystem"/> - </stepperCell> - <connections> - <binding destination="-2" name="maxValue" keyPath="self.picture.maxWidth" id="P3g-UC-vRH"/> - <binding destination="-2" name="value" keyPath="self.picture.width" previousBinding="P3g-UC-vRH" id="Ilz-OP-M5c"/> - </connections> - </stepper> - <textField verticalHuggingPriority="750" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="42"> - <rect key="frame" x="76" y="107" width="62" height="16"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> - <textFieldCell key="cell" controlSize="mini" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="left" drawsBackground="YES" id="167"> - <numberFormatter key="formatter" formatterBehavior="default10_4" localizesFormat="NO" usesGroupingSeparator="NO" minimumIntegerDigits="0" maximumIntegerDigits="42" id="le0-iC-NhW"/> - <font key="font" metaFont="miniSystem"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <connections> - <binding destination="-2" name="value" keyPath="self.picture.width" id="Dr6-U5-h7T"> - <dictionary key="options"> - <integer key="NSNullPlaceholder" value="0"/> - <bool key="NSValidatesImmediately" value="YES"/> - </dictionary> - </binding> - </connections> - </textField> - <stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="46"> - <rect key="frame" x="143" y="78" width="15" height="22"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> - <stepperCell key="cell" controlSize="small" continuous="YES" alignment="left" increment="16" minValue="64" maxValue="59" doubleValue="64" id="171"> - <font key="font" metaFont="smallSystem"/> - </stepperCell> - <connections> - <binding destination="-2" name="value" keyPath="self.picture.height" previousBinding="nJk-wN-aaB" id="l4c-7G-SMf"/> - <binding destination="-2" name="maxValue" keyPath="self.picture.maxHeight" id="nJk-wN-aaB"/> - </connections> - </stepper> - <textField verticalHuggingPriority="750" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="138"> - <rect key="frame" x="-1" y="38" width="73" height="14"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> - <textFieldCell key="cell" controlSize="small" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Anamorphic:" id="174"> - <font key="font" metaFont="smallSystem"/> - <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="41"> - <rect key="frame" x="-1" y="82" width="73" height="14"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> - <textFieldCell key="cell" controlSize="small" sendsActionOnEndEditing="YES" alignment="right" title="Height:" id="166"> - <font key="font" metaFont="smallSystem"/> - <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="132"> - <rect key="frame" x="75" y="38" width="80" height="15"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> - <popUpButtonCell key="cell" type="push" title="Off" bezelStyle="rounded" alignment="left" controlSize="mini" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" inset="2" selectedItem="135" id="173"> - <behavior key="behavior" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="miniSystem"/> - <menu key="menu" title="OtherViews" id="134"> - <items> - <menuItem title="Off" state="on" id="135"/> - <menuItem title="Auto" tag="4" id="136"/> - <menuItem title="Loose" tag="2" id="137"/> - <menuItem title="Custom" tag="3" id="Gsa-Ti-xiw"/> - </items> - </menu> - </popUpButtonCell> - <connections> - <binding destination="-2" name="selectedTag" keyPath="self.picture.anamorphicMode" id="edu-WH-uPF"/> - </connections> - </popUpButton> - <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="47"> - <rect key="frame" x="-1" y="108" width="71" height="14"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> - <textFieldCell key="cell" controlSize="small" sendsActionOnEndEditing="YES" alignment="right" title="Width:" id="172"> - <font key="font" metaFont="smallSystem"/> - <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField verticalHuggingPriority="750" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="43"> - <rect key="frame" x="76" y="81" width="62" height="16"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> - <textFieldCell key="cell" controlSize="mini" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="left" drawsBackground="YES" id="168"> - <numberFormatter key="formatter" formatterBehavior="default10_4" localizesFormat="NO" usesGroupingSeparator="NO" minimumIntegerDigits="0" maximumIntegerDigits="42" id="9iU-HJ-b4u"/> - <font key="font" metaFont="miniSystem"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <connections> - <binding destination="-2" name="value" keyPath="self.picture.height" id="T7h-fp-Qs6"> - <dictionary key="options"> - <integer key="NSNullPlaceholder" value="0"/> - <bool key="NSValidatesImmediately" value="YES"/> - </dictionary> - </binding> - </connections> - </textField> - <button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="45"> - <rect key="frame" x="73" y="57" width="125" height="18"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> - <buttonCell key="cell" type="check" title="Keep Aspect Ratio" bezelStyle="regularSquare" imagePosition="left" alignment="left" controlSize="small" inset="2" id="170"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="smallSystem"/> - </buttonCell> - <connections> - <binding destination="-2" name="value" keyPath="self.picture.keepDisplayAspect" id="8uc-2H-rkz"/> - <binding destination="-2" name="enabled" keyPath="self.picture.keepDisplayAspectEditable" id="DSI-Ra-G0d"/> - </connections> - </button> - <textField verticalHuggingPriority="750" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="396"> - <rect key="frame" x="278" y="106" width="61" height="16"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> - <textFieldCell key="cell" controlSize="mini" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="left" drawsBackground="YES" id="397"> - <numberFormatter key="formatter" formatterBehavior="default10_4" usesGroupingSeparator="NO" minimumIntegerDigits="0" maximumIntegerDigits="42" id="nQn-4z-uRG"/> - <font key="font" metaFont="miniSystem"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <connections> - <binding destination="-2" name="hidden" keyPath="self.picture.customAnamorphicEnabled" previousBinding="gD3-Yl-3au" id="PSj-Fl-3Ni"> - <dictionary key="options"> - <string key="NSValueTransformerName">NSNegateBoolean</string> - </dictionary> - </binding> - <binding destination="-2" name="editable" keyPath="self.picture.customAnamorphicEnabled" id="zMs-ue-T1n"/> - <binding destination="-2" name="value" keyPath="self.picture.displayWidth" id="nMg-v2-Fvg"/> - <binding destination="-2" name="enabled" keyPath="self.picture.keepDisplayAspect" previousBinding="zMs-ue-T1n" id="gD3-Yl-3au"> - <dictionary key="options"> - <string key="NSValueTransformerName">NSNegateBoolean</string> - </dictionary> - </binding> - </connections> - </textField> - </subviews> - </view> - <connections> - <binding destination="-2" name="hidden" keyPath="self.picture" id="KPV-JY-efR"> - <dictionary key="options"> - <string key="NSValueTransformerName">NSIsNil</string> - </dictionary> - </binding> - </connections> - </box> - <box fixedFrame="YES" borderType="none" titlePosition="noTitle" translatesAutoresizingMaskIntoConstraints="NO" id="7"> - <rect key="frame" x="377" y="5" width="254" height="126"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <view key="contentView" id="tBW-2g-t2L"> - <rect key="frame" x="0.0" y="0.0" width="254" height="126"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - <subviews> - <stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="12"> - <rect key="frame" x="169" y="55" width="15" height="22"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <stepperCell key="cell" controlSize="small" continuous="YES" alignment="left" increment="2" maxValue="59" id="152"> - <font key="font" metaFont="smallSystem"/> - </stepperCell> - <connections> - <binding destination="-2" name="enabled" keyPath="self.picture.autocrop" id="Vp0-sU-c5s"> - <dictionary key="options"> - <string key="NSValueTransformerName">NSNegateBoolean</string> - </dictionary> - </binding> - <binding destination="-2" name="value" keyPath="self.picture.cropTop" previousBinding="Kft-ci-UbK" id="Zqw-Pu-qi1"/> - <binding destination="-2" name="maxValue" keyPath="self.picture.maxTopCrop" id="Kft-ci-UbK"/> - </connections> - </stepper> - <stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="15"> - <rect key="frame" x="232" y="45" width="15" height="22"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <stepperCell key="cell" controlSize="small" continuous="YES" alignment="left" increment="2" maxValue="59" id="155"> - <font key="font" metaFont="smallSystem"/> - </stepperCell> - <connections> - <binding destination="-2" name="enabled" keyPath="self.picture.autocrop" id="5QD-Dh-bzl"> - <dictionary key="options"> - <string key="NSValueTransformerName">NSNegateBoolean</string> - </dictionary> - </binding> - <binding destination="-2" name="value" keyPath="self.picture.cropRight" previousBinding="Fyc-RI-h9A" id="L3c-i2-kQY"/> - <binding destination="-2" name="maxValue" keyPath="self.picture.maxRightCrop" id="Fyc-RI-h9A"/> - </connections> - </stepper> - <matrix verticalHuggingPriority="750" fixedFrame="YES" allowsEmptySelection="NO" autosizesCells="NO" translatesAutoresizingMaskIntoConstraints="NO" id="16"> - <rect key="frame" x="64" y="84" width="190" height="43"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - <size key="cellSize" width="190" height="20"/> - <size key="intercellSpacing" width="2" height="3"/> - <buttonCell key="prototype" type="radio" title="Radio" imagePosition="left" alignment="left" controlSize="small" inset="2" id="178"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="smallSystem"/> - </buttonCell> - <cells> - <column> - <buttonCell type="radio" title="Automatic" imagePosition="left" alignment="left" controlSize="small" state="on" inset="2" id="17"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="smallSystem"/> - </buttonCell> - <buttonCell type="radio" title="Custom:" imagePosition="left" alignment="left" controlSize="small" inset="2" id="18"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="smallSystem"/> - </buttonCell> - </column> - </cells> - <connections> - <binding destination="-2" name="selectedIndex" keyPath="self.picture.autocrop" id="9wD-y3-pVM"> - <dictionary key="options"> - <string key="NSValueTransformerName">NSNegateBoolean</string> - </dictionary> - </binding> - </connections> - </matrix> - <textField verticalHuggingPriority="750" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="13"> - <rect key="frame" x="131" y="58" width="36" height="16"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <textFieldCell key="cell" controlSize="mini" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="left" drawsBackground="YES" id="153"> - <font key="font" metaFont="miniSystem"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <connections> - <binding destination="-2" name="enabled" keyPath="self.picture.autocrop" id="DlH-KY-uVi"> - <dictionary key="options"> - <string key="NSValueTransformerName">NSNegateBoolean</string> - </dictionary> - </binding> - <binding destination="-2" name="value" keyPath="self.picture.cropTop" id="ABP-Q9-NDw"> - <dictionary key="options"> - <string key="NSNullPlaceholder">0</string> - <bool key="NSValidatesImmediately" value="YES"/> - </dictionary> - </binding> - </connections> - </textField> - <textField verticalHuggingPriority="750" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="10"> - <rect key="frame" x="131" y="31" width="36" height="16"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <textFieldCell key="cell" controlSize="mini" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="left" drawsBackground="YES" id="150"> - <font key="font" metaFont="miniSystem"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <connections> - <binding destination="-2" name="enabled" keyPath="self.picture.autocrop" id="Hai-0I-6yj"> - <dictionary key="options"> - <string key="NSValueTransformerName">NSNegateBoolean</string> - </dictionary> - </binding> - <binding destination="-2" name="value" keyPath="self.picture.cropBottom" id="nVf-lw-Tr1"> - <dictionary key="options"> - <string key="NSNullPlaceholder">0</string> - <bool key="NSValidatesImmediately" value="YES"/> - </dictionary> - </binding> - </connections> - </textField> - <stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="19"> - <rect key="frame" x="110" y="46" width="15" height="22"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <stepperCell key="cell" controlSize="small" continuous="YES" alignment="left" increment="2" maxValue="59" id="156"> - <font key="font" metaFont="smallSystem"/> - </stepperCell> - <connections> - <binding destination="-2" name="enabled" keyPath="self.picture.autocrop" id="WmV-2A-EDo"> - <dictionary key="options"> - <string key="NSValueTransformerName">NSNegateBoolean</string> - </dictionary> - </binding> - <binding destination="-2" name="value" keyPath="self.picture.cropLeft" previousBinding="CcF-LX-2Wg" id="VtG-0s-YHK"/> - <binding destination="-2" name="maxValue" keyPath="self.picture.maxLeftCrop" id="CcF-LX-2Wg"/> - </connections> - </stepper> - <textField verticalHuggingPriority="750" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="11"> - <rect key="frame" x="72" y="49" width="36" height="16"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <textFieldCell key="cell" controlSize="mini" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="left" drawsBackground="YES" id="151"> - <font key="font" metaFont="miniSystem"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <connections> - <binding destination="-2" name="enabled" keyPath="self.picture.autocrop" id="egn-yP-dYe"> - <dictionary key="options"> - <string key="NSValueTransformerName">NSNegateBoolean</string> - </dictionary> - </binding> - <binding destination="-2" name="value" keyPath="self.picture.cropLeft" id="ste-Ks-OLX"> - <dictionary key="options"> - <string key="NSNullPlaceholder">0</string> - <bool key="NSValidatesImmediately" value="YES"/> - </dictionary> - </binding> - </connections> - </textField> - <stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="14"> - <rect key="frame" x="169" y="28" width="15" height="22"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <stepperCell key="cell" controlSize="small" continuous="YES" alignment="left" increment="2" maxValue="59" id="154"> - <font key="font" metaFont="smallSystem"/> - </stepperCell> - <connections> - <binding destination="-2" name="enabled" keyPath="self.picture.autocrop" id="soK-UE-pde"> - <dictionary key="options"> - <string key="NSValueTransformerName">NSNegateBoolean</string> - </dictionary> - </binding> - <binding destination="-2" name="value" keyPath="self.picture.cropBottom" previousBinding="YKW-no-4sN" id="4AO-dA-bmi"/> - <binding destination="-2" name="maxValue" keyPath="self.picture.maxBottomCrop" id="YKW-no-4sN"/> - </connections> - </stepper> - <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="382"> - <rect key="frame" x="3" y="107" width="59" height="17"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="right" title="Cropping:" id="383"> - <font key="font" metaFont="smallSystem"/> - <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - <textField verticalHuggingPriority="750" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="9"> - <rect key="frame" x="194" y="48" width="36" height="16"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <textFieldCell key="cell" controlSize="mini" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="left" drawsBackground="YES" id="149"> - <font key="font" metaFont="miniSystem"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <connections> - <binding destination="-2" name="enabled" keyPath="self.picture.autocrop" id="yw7-7Q-sse"> - <dictionary key="options"> - <string key="NSValueTransformerName">NSNegateBoolean</string> - </dictionary> - </binding> - <binding destination="-2" name="value" keyPath="self.picture.cropRight" id="lou-1C-A2w"> - <dictionary key="options"> - <string key="NSNullPlaceholder">0</string> - <bool key="NSValidatesImmediately" value="YES"/> - </dictionary> - </binding> - </connections> - </textField> - </subviews> - </view> - <connections> - <binding destination="-2" name="hidden" keyPath="self.picture" id="jts-02-CW1"> - <dictionary key="options"> - <string key="NSValueTransformerName">NSIsNil</string> - </dictionary> - </binding> - </connections> - </box> - </subviews> - </view> - <connections> - <outlet property="delegate" destination="-2" id="hby-dR-NFK"/> - </connections> - <point key="canvasLocation" x="117" y="-28"/> - </window> - <userDefaultsController representsSharedInstance="YES" id="vUw-ux-GVV"/> - </objects> -</document> diff --git a/macosx/HBCroppingController.h b/macosx/HBCroppingController.h new file mode 100644 index 000000000..b68f362b0 --- /dev/null +++ b/macosx/HBCroppingController.h @@ -0,0 +1,20 @@ +/* HBCroppingController.h + + This file is part of the HandBrake source code. + Homepage: <http://handbrake.fr/>. + It may be used under the terms of the GNU General Public License. */ + +#import <Cocoa/Cocoa.h> + +@class HBPicture; + +NS_ASSUME_NONNULL_BEGIN + +@interface HBCroppingController : NSViewController + +- (instancetype)initWithPicture:(HBPicture *)picture; + +@end + +NS_ASSUME_NONNULL_END + diff --git a/macosx/HBCroppingController.m b/macosx/HBCroppingController.m new file mode 100644 index 000000000..f788b6482 --- /dev/null +++ b/macosx/HBCroppingController.m @@ -0,0 +1,27 @@ +/* HBCroppingController.m + + This file is part of the HandBrake source code. + Homepage: <http://handbrake.fr/>. + It may be used under the terms of the GNU General Public License. */ + +#import "HBCroppingController.h" + +@import HandBrakeKit; + +@interface HBCroppingController () +@property (nonatomic, readonly) HBPicture *picture; +@end + +@implementation HBCroppingController + +- (instancetype)initWithPicture:(HBPicture *)picture +{ + self = [super initWithNibName:@"HBCroppingView" bundle:nil]; + if (self) + { + _picture = picture; + } + return self; +} + +@end diff --git a/macosx/HBPictureController.h b/macosx/HBPictureController.h deleted file mode 100644 index 2f03cf68a..000000000 --- a/macosx/HBPictureController.h +++ /dev/null @@ -1,21 +0,0 @@ -/* $Id: PictureController.h,v 1.6 2005/04/14 20:40:05 titer Exp $ - - This file is part of the HandBrake source code. - Homepage: <http://handbrake.fr/>. - It may be used under the terms of the GNU General Public License. */ - -#import <Cocoa/Cocoa.h> - -@class HBPicture; - -NS_ASSUME_NONNULL_BEGIN - -@interface HBPictureController : NSWindowController <NSWindowDelegate> - -@property (nonatomic, readwrite, strong) HBPicture *picture; -@property (nonatomic, readwrite, assign) NSWindowController *previewController; - -@end - -NS_ASSUME_NONNULL_END - diff --git a/macosx/HBPictureController.m b/macosx/HBPictureController.m deleted file mode 100644 index 81dbe017b..000000000 --- a/macosx/HBPictureController.m +++ /dev/null @@ -1,208 +0,0 @@ -/* $Id: PictureController.mm,v 1.11 2005/08/01 15:10:44 titer Exp $ - - This file is part of the HandBrake source code. - Homepage: <http://handbrake.fr/>. - It may be used under the terms of the GNU General Public License. */ - -#import "HBPictureController.h" - -@import HandBrakeKit; - -static void *HBPictureControllerContext = &HBPictureControllerContext; - -@interface HBPictureController () -{ - /* Picture Sizing */ - IBOutlet NSBox * fPictureSizeBox; - IBOutlet NSBox * fPictureCropBox; - - IBOutlet NSPopUpButton * fAnamorphicPopUp; - IBOutlet NSStepper * fWidthStepper; - IBOutlet NSStepper * fHeightStepper; - -} - -@end - -@implementation HBPictureController - -- (instancetype)init -{ - if (self = [super initWithWindowNibName:@"PictureSettings"]) - { - // NSWindowController likes to lazily load its window. However since - // this controller tries to set all sorts of outlets before the window - // is displayed, we need it to load immediately. The correct way to do - // this, according to the documentation, is simply to invoke the window - // getter once. - // - // If/when we switch a lot of this stuff to bindings, this can probably - // go away. - [self window]; - - [self addObserver:self forKeyPath:@"self.picture.anamorphicMode" options:NSKeyValueObservingOptionInitial context:HBPictureControllerContext]; - } - - return self; -} - -- (void)dealloc -{ - NSArray *observerdKeyPaths = @[@"self.picture.anamorphicMode"]; - @try - { - for (NSString *keyPath in observerdKeyPaths) - { - [self removeObserver:self forKeyPath:keyPath context:HBPictureControllerContext]; - } - - } @catch (NSException * __unused exception) {} -} - -- (void)windowDidLoad -{ - [[self window] setExcludedFromWindowsMenu:YES]; - - [self resizeInspectorForTab:nil]; - [self adjustSizingDisplay:nil]; -} - -- (NSUndoManager *)windowWillReturnUndoManager:(NSWindow *)window -{ - return self.previewController.window.undoManager; -} - -#pragma mark - KVO - -- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context -{ - if (context == HBPictureControllerContext) - { - // We use KVO to update the panel - // and notify the main controller of the changes - // in the filters and picture settings. - - if ([keyPath isEqualToString:@"self.picture.anamorphicMode"]) - { - [self adjustSizingDisplay:nil]; - } - } - else - { - [super observeValueForKeyPath:keyPath ofObject:object change:change context:context]; - } -} - -#pragma mark - -#pragma mark Interface Resize - -/** - * This method is used to detect clicking on a tab in fSizeFilterView - */ -- (void)tabView:(NSTabView *)tabView didSelectTabViewItem:(NSTabViewItem *)tabViewItem -{ - [self resizeInspectorForTab:nil]; -} - -/** - * resizeInspectorForTab is called at launch, and each time either the - * Size or Filters tab is clicked. Size gives a horizontally oriented - * inspector and Filters is a vertically aligned inspector. - */ -- (void)resizeInspectorForTab:(id)sender -{ - NSRect frame = self.window.frame; - NSSize screenSize = self.window.screen.frame.size; - NSPoint screenOrigin = self.window.screen.frame.origin; - - frame.size.width = 30.0 + fPictureSizeBox.frame.size.width + fPictureCropBox.frame.size.width; - - /* get delta's for the change in window size */ - CGFloat deltaX = frame.size.width - [[self window] frame].size.width; - CGFloat deltaY = frame.size.height - [[self window] frame].size.height; - - /* change the inspector origin via the deltaY */ - frame.origin.y -= deltaY; - /* keep the inspector centered so the tabs stay in place */ - frame.origin.x -= deltaX / 2.0; - - /* we make sure we are not horizontally off of our screen. - * this would be the case if we are on the vertical filter tab - * and we hit the size tab and the inspector grows horizontally - * off the screen to the right - */ - if ((frame.origin.x + frame.size.width) > (screenOrigin.x + screenSize.width)) - { - /* the right side of the preview is off the screen, so shift to the left */ - frame.origin.x = (screenOrigin.x + screenSize.width) - frame.size.width; - } - - [[self window] setFrame:frame display:YES animate:YES]; -} - -- (void)adjustSizingDisplay:(id)sender -{ - NSSize pictureSizingBoxSize = [fPictureSizeBox frame].size; - - NSPoint fPictureSizeBoxOrigin = [fPictureSizeBox frame].origin; - NSSize pictureCropBoxSize = [fPictureCropBox frame].size; - NSPoint fPictureCropBoxOrigin = [fPictureCropBox frame].origin; - - if ([fAnamorphicPopUp indexOfSelectedItem] == 3) - { // custom / power user jamboree - pictureSizingBoxSize.width = 350; - } - else - { - pictureSizingBoxSize.width = 200; - } - - /* Check to see if we have changed the size from current */ - if (pictureSizingBoxSize.height != [fPictureSizeBox frame].size.height || - pictureSizingBoxSize.width != [fPictureSizeBox frame].size.width) - { - /* Get our delta for the change in picture size box height */ - CGFloat deltaYSizeBoxShift = pictureSizingBoxSize.height - - [fPictureSizeBox frame].size.height; - fPictureSizeBoxOrigin.y -= deltaYSizeBoxShift; - /* Get our delta for the change in picture size box width */ - CGFloat deltaXSizeBoxShift = pictureSizingBoxSize.width - - [fPictureSizeBox frame].size.width; - //fPictureSizeBoxOrigin.x += deltaXSizeBoxShift; - /* set our new Picture size box size */ - [fPictureSizeBox setFrameSize:pictureSizingBoxSize]; - [fPictureSizeBox setFrameOrigin:fPictureSizeBoxOrigin]; - - pictureCropBoxSize.height += deltaYSizeBoxShift; - fPictureCropBoxOrigin.y -= deltaYSizeBoxShift; - fPictureCropBoxOrigin.x += deltaXSizeBoxShift; - - [fPictureCropBox setFrameSize:pictureCropBoxSize]; - [[fPictureCropBox animator] setFrameOrigin:fPictureCropBoxOrigin]; - } - - /* now we call to resize the entire inspector window */ - [self resizeInspectorForTab:nil]; -} - -#pragma mark - - -/** - * Displays and brings the picture window to the front - */ -- (void)showWindow:(id)sender -{ - if (self.window.isVisible) - { - [self.window close]; - } - else - { - [super showWindow:self]; - } - - [self resizeInspectorForTab:nil]; - [self adjustSizingDisplay:nil]; -} - -@end diff --git a/macosx/HBPictureHUDController.h b/macosx/HBPictureHUDController.h index 0aa144443..8b2de1159 100644 --- a/macosx/HBPictureHUDController.h +++ b/macosx/HBPictureHUDController.h @@ -17,7 +17,7 @@ NS_ASSUME_NONNULL_BEGIN - (void)displayPreviewAtIndex:(NSUInteger)idx; - (void)toggleScaleToScreen; -- (void)showPictureSettings; +- (void)showCroppingSettings:(id)sender; - (void)createMoviePreviewWithPictureIndex:(NSUInteger)index duration:(NSUInteger)duration; diff --git a/macosx/HBPictureHUDController.m b/macosx/HBPictureHUDController.m index bb3168112..3a77d580d 100644 --- a/macosx/HBPictureHUDController.m +++ b/macosx/HBPictureHUDController.m @@ -154,9 +154,9 @@ self.fitToView = !self.fitToView; } -- (IBAction)showPictureSettings:(id)sender +- (IBAction)showCroppingSettings:(id)sender { - [self.delegate showPictureSettings]; + [self.delegate showCroppingSettings:sender]; } - (IBAction)createMoviePreview:(id)sender diff --git a/macosx/HBPreviewController.m b/macosx/HBPreviewController.m index c7f0a5c0f..06fb4e1ab 100644 --- a/macosx/HBPreviewController.m +++ b/macosx/HBPreviewController.m @@ -6,7 +6,7 @@ #import "HBPreviewController.h" #import "HBPreviewGenerator.h" -#import "HBPictureController.h" +#import "HBCroppingController.h" #import "HBController.h" #import "HBPreviewView.h" @@ -40,7 +40,7 @@ @property (nonatomic) id<HBPlayer> player; -@property (nonatomic) HBPictureController *pictureSettingsWindow; +@property (nonatomic) NSPopover *croppingPopover; @property (nonatomic) NSPoint windowCenterPoint; @property (nonatomic, weak) IBOutlet HBPreviewView *previewView; @@ -143,7 +143,8 @@ - (void)setPicture:(HBPicture *)picture { _picture = picture; - self.pictureSettingsWindow.picture = _picture; + [self.croppingPopover close]; + self.croppingPopover = nil; } - (void)setGenerator:(HBPreviewGenerator *)generator @@ -207,7 +208,6 @@ [self.player pause]; } - [self.pictureSettingsWindow close]; [self.generator purgeImageCache]; } @@ -486,16 +486,14 @@ } } -- (void)showPictureSettings +- (void)showCroppingSettings:(id)sender { - if (self.pictureSettingsWindow == nil) - { - self.pictureSettingsWindow = [[HBPictureController alloc] init]; - self.pictureSettingsWindow.previewController = self; - } - - self.pictureSettingsWindow.picture = self.picture; - [self.pictureSettingsWindow showWindow:self]; + HBCroppingController *croppingController = [[HBCroppingController alloc] initWithPicture:self.picture]; + self.croppingPopover = [[NSPopover alloc] init]; + self.croppingPopover.behavior = NSPopoverBehaviorTransient; + self.croppingPopover.contentViewController = croppingController; + self.croppingPopover.appearance = [NSAppearance appearanceNamed:NSAppearanceNameVibrantDark]; + [self.croppingPopover showRelativeToRect:[sender bounds] ofView:sender preferredEdge:NSMaxYEdge]; } #pragma mark - Encoding mode diff --git a/macosx/HandBrake.xcodeproj/project.pbxproj b/macosx/HandBrake.xcodeproj/project.pbxproj index 046267bfb..4ee6faf47 100644 --- a/macosx/HandBrake.xcodeproj/project.pbxproj +++ b/macosx/HandBrake.xcodeproj/project.pbxproj @@ -49,7 +49,7 @@ 273F20B414ADBE670021BE6D /* HBOutputRedirect.m in Sources */ = {isa = PBXBuildFile; fileRef = 273F209E14ADBE670021BE6D /* HBOutputRedirect.m */; }; 273F20B514ADBE670021BE6D /* HBPreferencesController.m in Sources */ = {isa = PBXBuildFile; fileRef = 273F20A014ADBE670021BE6D /* HBPreferencesController.m */; }; 273F20B714ADBE670021BE6D /* HBPreviewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 273F20A414ADBE670021BE6D /* HBPreviewController.m */; }; - 273F20BA14ADBE670021BE6D /* HBPictureController.m in Sources */ = {isa = PBXBuildFile; fileRef = 273F20AA14ADBE670021BE6D /* HBPictureController.m */; }; + 273F20BA14ADBE670021BE6D /* HBCroppingController.m in Sources */ = {isa = PBXBuildFile; fileRef = 273F20AA14ADBE670021BE6D /* HBCroppingController.m */; }; 273F218B14ADDDA10021BE6D /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 273F217C14ADDDA10021BE6D /* InfoPlist.strings */; }; 27D6C72614B1019100B785E4 /* libhandbrake.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 27D6C72414B1019100B785E4 /* libhandbrake.a */; }; 27D6C74414B102DA00B785E4 /* libass.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 27D6C72814B102DA00B785E4 /* libass.a */; }; @@ -280,7 +280,7 @@ A9A96BCE20CAD61F00A39AFB /* SubtitlesDefaults.xib in Resources */ = {isa = PBXBuildFile; fileRef = A9A96BCC20CAD61F00A39AFB /* SubtitlesDefaults.xib */; }; A9A96BD120CAD62500A39AFB /* ChaptersTitles.xib in Resources */ = {isa = PBXBuildFile; fileRef = A9A96BCF20CAD62500A39AFB /* ChaptersTitles.xib */; }; A9A96BD420CAD63000A39AFB /* Queue.xib in Resources */ = {isa = PBXBuildFile; fileRef = A9A96BD220CAD63000A39AFB /* Queue.xib */; }; - A9A96BD720CAD64300A39AFB /* PictureSettings.xib in Resources */ = {isa = PBXBuildFile; fileRef = A9A96BD520CAD64200A39AFB /* PictureSettings.xib */; }; + A9A96BD720CAD64300A39AFB /* HBCroppingView.xib in Resources */ = {isa = PBXBuildFile; fileRef = A9A96BD520CAD64200A39AFB /* HBCroppingView.xib */; }; A9A96BDA20CAD64B00A39AFB /* PicturePreview.xib in Resources */ = {isa = PBXBuildFile; fileRef = A9A96BD820CAD64B00A39AFB /* PicturePreview.xib */; }; A9A96BDD20CAD66000A39AFB /* OutputPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = A9A96BDB20CAD66000A39AFB /* OutputPanel.xib */; }; A9A96BE020CAD66500A39AFB /* Preferences.xib in Resources */ = {isa = PBXBuildFile; fileRef = A9A96BDE20CAD66500A39AFB /* Preferences.xib */; }; @@ -652,8 +652,8 @@ 273F20A214ADBE670021BE6D /* HBPresetsManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HBPresetsManager.m; sourceTree = "<group>"; }; 273F20A314ADBE670021BE6D /* HBPreviewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HBPreviewController.h; sourceTree = "<group>"; }; 273F20A414ADBE670021BE6D /* HBPreviewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HBPreviewController.m; sourceTree = "<group>"; }; - 273F20A914ADBE670021BE6D /* HBPictureController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HBPictureController.h; sourceTree = "<group>"; }; - 273F20AA14ADBE670021BE6D /* HBPictureController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HBPictureController.m; sourceTree = "<group>"; }; + 273F20A914ADBE670021BE6D /* HBCroppingController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HBCroppingController.h; sourceTree = "<group>"; }; + 273F20AA14ADBE670021BE6D /* HBCroppingController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HBCroppingController.m; sourceTree = "<group>"; }; 273F20BD14ADC09F0021BE6D /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; }; 275916DA14B2AB27007211E9 /* native.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = native.xcconfig; sourceTree = "<group>"; }; 277EFE8D17ED5628001D4A6A /* supplemental.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = supplemental.xcconfig; sourceTree = "<group>"; }; @@ -693,7 +693,7 @@ A90713C72242693B00372AA0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/MainMenu.strings; sourceTree = "<group>"; }; A90713C82242693B00372AA0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Subtitles.strings; sourceTree = "<group>"; }; A90713C92242693B00372AA0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Video.strings; sourceTree = "<group>"; }; - A90713CA2242693B00372AA0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/PictureSettings.strings; sourceTree = "<group>"; }; + A90713CA2242693B00372AA0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/HBCroppingView.strings; sourceTree = "<group>"; }; A90713CB2242693B00372AA0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/HBFiltersViewController.strings; sourceTree = "<group>"; }; A90713CC2242693B00372AA0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/MainWindow.strings; sourceTree = "<group>"; }; A90713CD2242693B00372AA0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Preferences.strings; sourceTree = "<group>"; }; @@ -823,7 +823,7 @@ A9637D9620F7A252001EAE7C /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/MainMenu.strings; sourceTree = "<group>"; }; A9637D9720F7A252001EAE7C /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Subtitles.strings; sourceTree = "<group>"; }; A9637D9820F7A252001EAE7C /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Video.strings; sourceTree = "<group>"; }; - A9637D9920F7A252001EAE7C /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/PictureSettings.strings; sourceTree = "<group>"; }; + A9637D9920F7A252001EAE7C /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/HBCroppingView.strings; sourceTree = "<group>"; }; A9637D9A20F7A252001EAE7C /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/HBFiltersViewController.strings; sourceTree = "<group>"; }; A9637D9B20F7A252001EAE7C /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/MainWindow.strings; sourceTree = "<group>"; }; A9637D9C20F7A252001EAE7C /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Preferences.strings; sourceTree = "<group>"; }; @@ -930,7 +930,7 @@ A9A96BCD20CAD61F00A39AFB /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/SubtitlesDefaults.xib; sourceTree = "<group>"; }; A9A96BD020CAD62500A39AFB /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/ChaptersTitles.xib; sourceTree = "<group>"; }; A9A96BD320CAD63000A39AFB /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/Queue.xib; sourceTree = "<group>"; }; - A9A96BD620CAD64200A39AFB /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/PictureSettings.xib; sourceTree = "<group>"; }; + A9A96BD620CAD64200A39AFB /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/HBCroppingView.xib; sourceTree = "<group>"; }; A9A96BD920CAD64B00A39AFB /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/PicturePreview.xib; sourceTree = "<group>"; }; A9A96BDC20CAD66000A39AFB /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/OutputPanel.xib; sourceTree = "<group>"; }; A9A96BDF20CAD66500A39AFB /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/Preferences.xib; sourceTree = "<group>"; }; @@ -987,7 +987,7 @@ A9D3E300234A119400F39385 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/PicturePreview.strings; sourceTree = "<group>"; }; A9D3E301234A119400F39385 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/AudioDefaults.strings; sourceTree = "<group>"; }; A9D3E302234A119400F39385 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/MainWindow.strings; sourceTree = "<group>"; }; - A9D3E303234A119400F39385 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/PictureSettings.strings; sourceTree = "<group>"; }; + A9D3E303234A119400F39385 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/HBCroppingView.strings; sourceTree = "<group>"; }; A9D3E304234A119400F39385 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/HBTrackTitleViewController.strings; sourceTree = "<group>"; }; A9D3E305234A119400F39385 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Subtitles.strings; sourceTree = "<group>"; }; A9D3E306234A119400F39385 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Queue.strings; sourceTree = "<group>"; }; @@ -1054,7 +1054,7 @@ A9F5E33B2215D85A0046FA4B /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/MainMenu.strings; sourceTree = "<group>"; }; A9F5E33C2215D85A0046FA4B /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Subtitles.strings; sourceTree = "<group>"; }; A9F5E33D2215D85A0046FA4B /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Video.strings; sourceTree = "<group>"; }; - A9F5E33E2215D85A0046FA4B /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/PictureSettings.strings; sourceTree = "<group>"; }; + A9F5E33E2215D85A0046FA4B /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/HBCroppingView.strings; sourceTree = "<group>"; }; A9F5E33F2215D85A0046FA4B /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/HBFiltersViewController.strings; sourceTree = "<group>"; }; A9F5E3402215D85A0046FA4B /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Preferences.strings; sourceTree = "<group>"; }; A9F5E3412215D85A0046FA4B /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/MainWindow.strings; sourceTree = "<group>"; }; @@ -1089,7 +1089,7 @@ D0DA2ABE24B384AD003ACA30 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/HBSummaryViewController.strings"; sourceTree = "<group>"; }; D0DA2ABF24B384AD003ACA30 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/AudioDefaults.strings"; sourceTree = "<group>"; }; D0DA2AC024B384AD003ACA30 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/MainWindow.strings"; sourceTree = "<group>"; }; - D0DA2AC124B384AD003ACA30 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/PictureSettings.strings"; sourceTree = "<group>"; }; + D0DA2AC124B384AD003ACA30 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/HBCroppingView.strings"; sourceTree = "<group>"; }; D0DA2AC224B384AD003ACA30 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/HBTrackTitleViewController.strings"; sourceTree = "<group>"; }; D0DA2AC324B384AD003ACA30 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/Subtitles.strings"; sourceTree = "<group>"; }; D0DA2AC424B384AD003ACA30 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/Queue.strings"; sourceTree = "<group>"; }; @@ -1532,9 +1532,9 @@ A903C55F1CCE78060026B0ED /* NSWindow+HBAdditions.m */, A914BCB11BC441C700157917 /* HBPreviewView.h */, A914BCB21BC441C700157917 /* HBPreviewView.m */, - 273F20A914ADBE670021BE6D /* HBPictureController.h */, - 273F20AA14ADBE670021BE6D /* HBPictureController.m */, - A9A96BD520CAD64200A39AFB /* PictureSettings.xib */, + 273F20A914ADBE670021BE6D /* HBCroppingController.h */, + 273F20AA14ADBE670021BE6D /* HBCroppingController.m */, + A9A96BD520CAD64200A39AFB /* HBCroppingView.xib */, 273F20A314ADBE670021BE6D /* HBPreviewController.h */, 273F20A414ADBE670021BE6D /* HBPreviewController.m */, A9A96BD820CAD64B00A39AFB /* PicturePreview.xib */, @@ -2380,7 +2380,7 @@ A91AD3471FB5D9AA00AEA822 /* AddPreset.xib in Resources */, A9E1468216BC2AD800C307BC /* PlayTemplate.pdf in Resources */, A9A96BAD20CAD5A200A39AFB /* MainMenu.xib in Resources */, - A9A96BD720CAD64300A39AFB /* PictureSettings.xib in Resources */, + A9A96BD720CAD64300A39AFB /* HBCroppingView.xib in Resources */, A9A96BD120CAD62500A39AFB /* ChaptersTitles.xib in Resources */, A91AD3441FB5D9A500AEA822 /* HBAddCategoryController.xib in Resources */, A9AB054D233CC60B00F26894 /* HBTrackTitleViewController.xib in Resources */, @@ -2554,7 +2554,7 @@ A914BCB31BC441C700157917 /* HBPreviewView.m in Sources */, 273F20B714ADBE670021BE6D /* HBPreviewController.m in Sources */, A9D1E41718262364002F6424 /* HBPreviewGenerator.m in Sources */, - 273F20BA14ADBE670021BE6D /* HBPictureController.m in Sources */, + 273F20BA14ADBE670021BE6D /* HBCroppingController.m in Sources */, A9CF25F71990D6820023F727 /* HBPresetsViewController.m in Sources */, A9A5F7D5243DD90100C82EC8 /* HBQueueWorker.m in Sources */, ); @@ -3055,7 +3055,7 @@ name = Queue.xib; sourceTree = "<group>"; }; - A9A96BD520CAD64200A39AFB /* PictureSettings.xib */ = { + A9A96BD520CAD64200A39AFB /* HBCroppingView.xib */ = { isa = PBXVariantGroup; children = ( A9A96BD620CAD64200A39AFB /* Base */, @@ -3065,7 +3065,7 @@ A9D3E303234A119400F39385 /* ru */, D0DA2AC124B384AD003ACA30 /* pt-BR */, ); - name = PictureSettings.xib; + name = HBCroppingView.xib; sourceTree = "<group>"; }; A9A96BD820CAD64B00A39AFB /* PicturePreview.xib */ = { diff --git a/macosx/de.lproj/PictureSettings.strings b/macosx/de.lproj/HBCroppingView.strings index a936d28f3..a936d28f3 100644 --- a/macosx/de.lproj/PictureSettings.strings +++ b/macosx/de.lproj/HBCroppingView.strings diff --git a/macosx/fr.lproj/PictureSettings.strings b/macosx/fr.lproj/HBCroppingView.strings index 1f661d3f4..1f661d3f4 100644 --- a/macosx/fr.lproj/PictureSettings.strings +++ b/macosx/fr.lproj/HBCroppingView.strings diff --git a/macosx/it.lproj/PictureSettings.strings b/macosx/it.lproj/HBCroppingView.strings index c24abe169..c24abe169 100644 --- a/macosx/it.lproj/PictureSettings.strings +++ b/macosx/it.lproj/HBCroppingView.strings diff --git a/macosx/pt-BR.lproj/PictureSettings.strings b/macosx/pt-BR.lproj/HBCroppingView.strings index a5a7a3603..a5a7a3603 100644 --- a/macosx/pt-BR.lproj/PictureSettings.strings +++ b/macosx/pt-BR.lproj/HBCroppingView.strings diff --git a/macosx/ru.lproj/PictureSettings.strings b/macosx/ru.lproj/HBCroppingView.strings index 758406188..758406188 100644 --- a/macosx/ru.lproj/PictureSettings.strings +++ b/macosx/ru.lproj/HBCroppingView.strings |