summaryrefslogtreecommitdiffstats
path: root/macosx
diff options
context:
space:
mode:
authorDamiano Galassi <[email protected]>2020-10-05 17:45:47 +0200
committerDamiano Galassi <[email protected]>2020-10-05 17:45:47 +0200
commita03ef31cf5e25942c36c3f27a3100dbb2468c631 (patch)
treeada511733896045415691cbb7f4f63e7ce3bf3dd /macosx
parent680f58d109e536317ad8bffdf5eb4a6af80107bd (diff)
MacGui: replace the floating dimensions window with a popover with only cropping settings.
Diffstat (limited to 'macosx')
-rw-r--r--macosx/Base.lproj/HBCroppingView.xib251
-rw-r--r--macosx/Base.lproj/HBPictureHUDController.xib30
-rw-r--r--macosx/Base.lproj/PictureSettings.xib520
-rw-r--r--macosx/HBCroppingController.h20
-rw-r--r--macosx/HBCroppingController.m27
-rw-r--r--macosx/HBPictureController.h21
-rw-r--r--macosx/HBPictureController.m208
-rw-r--r--macosx/HBPictureHUDController.h2
-rw-r--r--macosx/HBPictureHUDController.m4
-rw-r--r--macosx/HBPreviewController.m24
-rw-r--r--macosx/HandBrake.xcodeproj/project.pbxproj34
-rw-r--r--macosx/de.lproj/HBCroppingView.strings (renamed from macosx/de.lproj/PictureSettings.strings)0
-rw-r--r--macosx/fr.lproj/HBCroppingView.strings (renamed from macosx/fr.lproj/PictureSettings.strings)0
-rw-r--r--macosx/it.lproj/HBCroppingView.strings (renamed from macosx/it.lproj/PictureSettings.strings)0
-rw-r--r--macosx/pt-BR.lproj/HBCroppingView.strings (renamed from macosx/pt-BR.lproj/PictureSettings.strings)0
-rw-r--r--macosx/ru.lproj/HBCroppingView.strings (renamed from macosx/ru.lproj/PictureSettings.strings)0
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