summaryrefslogtreecommitdiffstats
path: root/macosx
diff options
context:
space:
mode:
authorDamiano Galassi <[email protected]>2019-09-26 10:45:45 +0200
committerDamiano Galassi <[email protected]>2019-09-26 10:45:45 +0200
commita681474f1652c75bc7660481ad75d6956c7baa97 (patch)
treecd563923b2d57399864cc1e043f33d4769f7213a /macosx
parentcc03179d4c2c8b75d6f324f41b904585bcd43ccb (diff)
MacGui: add a popover to edit tracks names.
Diffstat (limited to 'macosx')
-rw-r--r--macosx/Base.lproj/Audio.xib86
-rw-r--r--macosx/Base.lproj/Subtitles.xib64
-rw-r--r--macosx/HBAudioController.m13
-rw-r--r--macosx/HBSubtitlesController.m14
-rw-r--r--macosx/HBTrackTitleViewController.h18
-rw-r--r--macosx/HBTrackTitleViewController.m16
-rw-r--r--macosx/HBTrackTitleViewController.xib69
-rw-r--r--macosx/HandBrake.xcodeproj/project.pbxproj13
8 files changed, 254 insertions, 39 deletions
diff --git a/macosx/Base.lproj/Audio.xib b/macosx/Base.lproj/Audio.xib
index de1f9456f..8839aaa07 100644
--- a/macosx/Base.lproj/Audio.xib
+++ b/macosx/Base.lproj/Audio.xib
@@ -1,13 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="15400" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
<dependencies>
<deployment identifier="macosx"/>
- <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14490.70"/>
+ <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="15400"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="HBAudioController">
<connections>
+ <outlet property="table" destination="yix-PF-sqH" id="3hj-KI-My9"/>
<outlet property="view" destination="LOv-5G-86T" id="qyT-Z6-lCU"/>
</connections>
</customObject>
@@ -94,13 +95,13 @@
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" multipleSelection="NO" autosaveColumns="NO" rowHeight="25" rowSizeStyle="automatic" headerView="jdT-w6-s4n" viewBased="YES" id="yix-PF-sqH">
- <rect key="frame" x="0.0" y="0.0" width="884" height="234"/>
+ <rect key="frame" x="0.0" y="0.0" width="885" height="234"/>
<autoresizingMask key="autoresizingMask"/>
<size key="intercellSpacing" width="3" height="2"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
<tableColumns>
- <tableColumn width="322" minWidth="40" maxWidth="1000" id="7sz-4X-5jA">
+ <tableColumn width="298" minWidth="40" maxWidth="1000" id="7sz-4X-5jA">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="Track">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
@@ -114,11 +115,11 @@
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
<prototypeCellViews>
<tableCellView id="wJH-tU-zL6">
- <rect key="frame" x="1" y="1" width="322" height="25"/>
+ <rect key="frame" x="1" y="1" width="298" height="25"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<popUpButton toolTip="Audio language and type." verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="6iN-2G-JDF">
- <rect key="frame" x="0.0" y="1" width="322" height="22"/>
+ <rect key="frame" x="0.0" y="1" width="298" height="22"/>
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" controlSize="small" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="ExA-Sd-3dO">
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="smallSystem"/>
@@ -139,7 +140,7 @@
</tableCellView>
</prototypeCellViews>
</tableColumn>
- <tableColumn width="143" minWidth="143" maxWidth="1000" id="lnO-sZ-6xv">
+ <tableColumn width="143" minWidth="120" maxWidth="1000" id="lnO-sZ-6xv">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="Codec">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
@@ -153,7 +154,7 @@
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
<prototypeCellViews>
<tableCellView id="8ed-5g-y6e">
- <rect key="frame" x="326" y="1" width="143" height="25"/>
+ <rect key="frame" x="302" y="1" width="143" height="25"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<popUpButton toolTip="Audio encoder." verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="tYY-w7-ZIq">
@@ -186,7 +187,7 @@
</tableCellView>
</prototypeCellViews>
</tableColumn>
- <tableColumn width="128" minWidth="128" maxWidth="3.4028234663852886e+38" id="qS7-Xr-9N8">
+ <tableColumn width="128" minWidth="120" maxWidth="3.4028234663852886e+38" id="qS7-Xr-9N8">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Mixdown">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
@@ -200,7 +201,7 @@
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
<prototypeCellViews>
<tableCellView id="JWs-Gl-4kd">
- <rect key="frame" x="472" y="1" width="128" height="25"/>
+ <rect key="frame" x="448" y="1" width="128" height="25"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="LLW-KN-65P">
@@ -259,7 +260,7 @@ Dolby Surround and Dolby Pro Logic II convert multi-channel audio to stereo and
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
<prototypeCellViews>
<tableCellView id="iQl-Lr-pqe">
- <rect key="frame" x="603" y="1" width="74" height="25"/>
+ <rect key="frame" x="579" y="1" width="74" height="25"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<popUpButton toolTip="Audio sample rate in kilohertz (kHz). Auto is recommended." verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="QA9-1y-Pyj">
@@ -312,7 +313,7 @@ Dolby Surround and Dolby Pro Logic II convert multi-channel audio to stereo and
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
<prototypeCellViews>
<tableCellView id="Acc-Cw-PLD">
- <rect key="frame" x="680" y="1" width="74" height="25"/>
+ <rect key="frame" x="656" y="1" width="74" height="25"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Qg1-iw-07b">
@@ -351,7 +352,7 @@ Dolby Surround and Dolby Pro Logic II convert multi-channel audio to stereo and
</tableCellView>
</prototypeCellViews>
</tableColumn>
- <tableColumn width="61" minWidth="61" maxWidth="3.4028234663852886e+38" id="5xO-DR-4cR">
+ <tableColumn width="58" minWidth="58" maxWidth="100" id="5xO-DR-4cR">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Gain">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
@@ -365,11 +366,11 @@ Dolby Surround and Dolby Pro Logic II convert multi-channel audio to stereo and
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
<prototypeCellViews>
<tableCellView id="wfV-Pi-jHd">
- <rect key="frame" x="757" y="1" width="61" height="25"/>
+ <rect key="frame" x="733" y="1" width="58" height="25"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<textField toolTip="Audio gain in decibels (dB). Increases or decreases audio volume." verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="2c7-G5-4KL">
- <rect key="frame" x="31" y="6" width="29" height="14"/>
+ <rect key="frame" x="25" y="6" width="32" height="14"/>
<textFieldCell key="cell" controlSize="small" lineBreakMode="truncatingTail" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" alignment="center" title="0" id="Q4T-80-wxf">
<numberFormatter key="formatter" formatterBehavior="default10_4" usesGroupingSeparator="NO" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="42" id="uNn-5A-2RM"/>
<font key="font" metaFont="smallSystem"/>
@@ -420,14 +421,14 @@ Dolby Surround and Dolby Pro Logic II convert multi-channel audio to stereo and
<constraints>
<constraint firstItem="2c7-G5-4KL" firstAttribute="centerY" secondItem="wfV-Pi-jHd" secondAttribute="centerY" id="Aqi-sv-l0Q"/>
<constraint firstItem="gtC-MM-esd" firstAttribute="centerY" secondItem="wfV-Pi-jHd" secondAttribute="centerY" id="I15-9m-efr"/>
- <constraint firstItem="2c7-G5-4KL" firstAttribute="leading" secondItem="gtC-MM-esd" secondAttribute="trailing" constant="8" symbolic="YES" id="Rh0-KC-4Ux"/>
+ <constraint firstItem="2c7-G5-4KL" firstAttribute="leading" secondItem="gtC-MM-esd" secondAttribute="trailing" constant="2" id="Rh0-KC-4Ux"/>
<constraint firstAttribute="trailing" secondItem="2c7-G5-4KL" secondAttribute="trailing" constant="3" id="do4-Vx-vJo"/>
<constraint firstItem="gtC-MM-esd" firstAttribute="leading" secondItem="wfV-Pi-jHd" secondAttribute="leading" constant="3" id="e1v-e7-nRQ"/>
</constraints>
</tableCellView>
</prototypeCellViews>
</tableColumn>
- <tableColumn width="61" minWidth="61" maxWidth="3.4028234663852886e+38" id="eAS-E5-fip">
+ <tableColumn width="58" minWidth="58" maxWidth="100" id="eAS-E5-fip">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="DRC">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
@@ -441,7 +442,7 @@ Dolby Surround and Dolby Pro Logic II convert multi-channel audio to stereo and
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
<prototypeCellViews>
<tableCellView id="RMf-U7-5Td">
- <rect key="frame" x="821" y="1" width="61" height="25"/>
+ <rect key="frame" x="794" y="1" width="58" height="25"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<slider horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="o3M-fP-6Ps">
@@ -473,7 +474,7 @@ Values greater than 1 further increase the volume of quiet sounds. Values greate
</connections>
</slider>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="yPh-4R-HRQ">
- <rect key="frame" x="31" y="6" width="29" height="14"/>
+ <rect key="frame" x="25" y="6" width="32" height="14"/>
<string key="toolTip">Dynamic Range Compression. Reduces the volume difference between loud and quiet sounds. Only applies to AC-3 source tracks when encoding to another format.
0: Do not apply DRC.
@@ -507,7 +508,7 @@ Values greater than 1 further increase the volume of quiet sounds. Values greate
</subviews>
<constraints>
<constraint firstItem="o3M-fP-6Ps" firstAttribute="centerY" secondItem="RMf-U7-5Td" secondAttribute="centerY" id="38b-az-JSU"/>
- <constraint firstItem="yPh-4R-HRQ" firstAttribute="leading" secondItem="o3M-fP-6Ps" secondAttribute="trailing" constant="8" symbolic="YES" id="HkV-NP-0CH"/>
+ <constraint firstItem="yPh-4R-HRQ" firstAttribute="leading" secondItem="o3M-fP-6Ps" secondAttribute="trailing" constant="2" id="HkV-NP-0CH"/>
<constraint firstItem="o3M-fP-6Ps" firstAttribute="leading" secondItem="RMf-U7-5Td" secondAttribute="leading" constant="3" id="O6V-mr-bd0"/>
<constraint firstAttribute="trailing" secondItem="yPh-4R-HRQ" secondAttribute="trailing" constant="3" id="Oeg-aX-OK9"/>
<constraint firstItem="yPh-4R-HRQ" firstAttribute="centerY" secondItem="RMf-U7-5Td" secondAttribute="centerY" id="b3F-n0-RkN"/>
@@ -515,6 +516,39 @@ Values greater than 1 further increase the volume of quiet sounds. Values greate
</tableCellView>
</prototypeCellViews>
</tableColumn>
+ <tableColumn width="28" minWidth="28" maxWidth="28" id="WwV-DO-6f9">
+ <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left">
+ <font key="font" metaFont="smallSystem"/>
+ <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
+ <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+ </tableHeaderCell>
+ <textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="left" title="Text Cell" id="U4U-1b-rQF">
+ <font key="font" metaFont="system"/>
+ <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
+ <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
+ </textFieldCell>
+ <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
+ <prototypeCellViews>
+ <tableCellView id="x5p-AD-24B">
+ <rect key="frame" x="855" y="1" width="28" height="25"/>
+ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+ <subviews>
+ <button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="wec-NB-vnQ">
+ <rect key="frame" x="-3" y="-2" width="34" height="27"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+ <buttonCell key="cell" type="push" bezelStyle="rounded" image="NSActionTemplate" imagePosition="only" alignment="center" controlSize="small" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="SiM-VW-aCt">
+ <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+ <font key="font" metaFont="smallSystem"/>
+ </buttonCell>
+ <connections>
+ <action selector="showAdditionalSettingsPopOver:" target="-2" id="eLH-M1-jaq"/>
+ <binding destination="x5p-AD-24B" name="enabled" keyPath="objectValue.isEnabled" id="cS7-W5-HZj"/>
+ </connections>
+ </button>
+ </subviews>
+ </tableCellView>
+ </prototypeCellViews>
+ </tableColumn>
</tableColumns>
<accessibility description="Audio tracks"/>
<connections>
@@ -524,13 +558,14 @@ Values greater than 1 further increase the volume of quiet sounds. Values greate
<string key="NSValueTransformerName">NSIsNotNil</string>
</dictionary>
</binding>
+ <outlet property="delegate" destination="-2" id="fYA-TP-sz7"/>
<outlet property="menu" destination="hyy-qd-qpe" id="4K4-53-mMF"/>
</connections>
</tableView>
</subviews>
</clipView>
- <scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="Pf5-Yq-6oL">
- <rect key="frame" x="1" y="247" width="884" height="16"/>
+ <scroller key="horizontalScroller" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="Pf5-Yq-6oL">
+ <rect key="frame" x="1" y="241" width="884" height="16"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
<scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="NO" id="1ow-7B-J0g">
@@ -538,7 +573,7 @@ Values greater than 1 further increase the volume of quiet sounds. Values greate
<autoresizingMask key="autoresizingMask"/>
</scroller>
<tableHeaderView key="headerView" id="jdT-w6-s4n">
- <rect key="frame" x="0.0" y="0.0" width="884" height="23"/>
+ <rect key="frame" x="0.0" y="0.0" width="885" height="23"/>
<autoresizingMask key="autoresizingMask"/>
</tableHeaderView>
</scrollView>
@@ -556,7 +591,7 @@ Values greater than 1 further increase the volume of quiet sounds. Values greate
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="wcL-rL-aYS" secondAttribute="trailing" constant="20" symbolic="YES" id="vyK-Mq-fbl"/>
<constraint firstItem="jrP-M5-2Rq" firstAttribute="baseline" secondItem="vFP-nq-IQg" secondAttribute="baseline" id="y3i-kl-lge"/>
</constraints>
- <point key="canvasLocation" x="177" y="96"/>
+ <point key="canvasLocation" x="336" y="53"/>
</view>
<menu id="hyy-qd-qpe">
<items>
@@ -586,4 +621,7 @@ Values greater than 1 further increase the volume of quiet sounds. Values greate
</items>
</menu>
</objects>
+ <resources>
+ <image name="NSActionTemplate" width="14" height="14"/>
+ </resources>
</document>
diff --git a/macosx/Base.lproj/Subtitles.xib b/macosx/Base.lproj/Subtitles.xib
index 01766b679..cfa34d1a6 100644
--- a/macosx/Base.lproj/Subtitles.xib
+++ b/macosx/Base.lproj/Subtitles.xib
@@ -1,13 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="15400" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
<dependencies>
<deployment identifier="macosx"/>
- <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14490.70"/>
+ <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="15400"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="HBSubtitlesController">
<connections>
+ <outlet property="table" destination="0yM-wE-D2x" id="YbV-Eu-Sie"/>
<outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
</connections>
</customObject>
@@ -94,13 +95,13 @@
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnReordering="NO" multipleSelection="NO" autosaveColumns="NO" typeSelect="NO" rowHeight="25" rowSizeStyle="automatic" headerView="IiW-3a-Drv" viewBased="YES" id="0yM-wE-D2x">
- <rect key="frame" x="0.0" y="0.0" width="884" height="234"/>
+ <rect key="frame" x="0.0" y="0.0" width="885" height="234"/>
<autoresizingMask key="autoresizingMask"/>
<size key="intercellSpacing" width="3" height="2"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
<tableColumns>
- <tableColumn identifier="track" editable="NO" width="320" minWidth="40" maxWidth="1000" id="N3S-st-yGv">
+ <tableColumn identifier="track" editable="NO" width="290" minWidth="40" maxWidth="1000" id="N3S-st-yGv">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Track">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
@@ -118,11 +119,11 @@
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
<prototypeCellViews>
<tableCellView id="EZp-rc-7mo">
- <rect key="frame" x="1" y="1" width="320" height="25"/>
+ <rect key="frame" x="1" y="1" width="290" height="25"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<popUpButton toolTip="Subtitles language and type." verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Tf3-cP-TGw">
- <rect key="frame" x="0.0" y="1" width="320" height="22"/>
+ <rect key="frame" x="0.0" y="1" width="290" height="22"/>
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" controlSize="small" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="JWk-Ab-hdY">
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="smallSystem"/>
@@ -162,7 +163,7 @@
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
<prototypeCellViews>
<tableCellView id="zKg-by-KFV">
- <rect key="frame" x="324" y="1" width="76" height="25"/>
+ <rect key="frame" x="294" y="1" width="76" height="25"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<button toolTip="Forced Only. Use only subtitles marked as “forced” in the selected source track." translatesAutoresizingMaskIntoConstraints="NO" id="HC5-ql-Vcr">
@@ -200,7 +201,7 @@
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
<prototypeCellViews>
<tableCellView id="gxH-yz-YRK">
- <rect key="frame" x="403" y="1" width="64" height="25"/>
+ <rect key="frame" x="373" y="1" width="64" height="25"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<button toolTip="Burned In. Make the selected subtitles permanent by overlaying them onto the video track." translatesAutoresizingMaskIntoConstraints="NO" id="zpm-9Z-Hsq">
@@ -242,7 +243,7 @@
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
<prototypeCellViews>
<tableCellView id="mQ6-s6-Zm2">
- <rect key="frame" x="470" y="1" width="51" height="25"/>
+ <rect key="frame" x="440" y="1" width="51" height="25"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<button toolTip="Default flag. Mark the selected subtitles track as the default to be displayed on playback." translatesAutoresizingMaskIntoConstraints="NO" id="mdO-Qu-3Pb">
@@ -283,7 +284,7 @@
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
<prototypeCellViews>
<tableCellView id="4bh-my-GeM">
- <rect key="frame" x="524" y="1" width="171" height="25"/>
+ <rect key="frame" x="494" y="1" width="171" height="25"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<popUpButton toolTip="Language of the selected SRT/SSA format source track. Not applicable to other formats." verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Inz-O5-B8g">
@@ -333,7 +334,7 @@
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
<prototypeCellViews>
<tableCellView id="ZBK-cc-m0z">
- <rect key="frame" x="698" y="1" width="113" height="25"/>
+ <rect key="frame" x="668" y="1" width="113" height="25"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<popUpButton toolTip="Character encoding/codeset of the selected SRT/SSA format source track. Not applicable to other formats." verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="QV0-kE-4yR">
@@ -379,7 +380,7 @@
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
<prototypeCellViews>
<tableCellView id="9tV-iL-oaF">
- <rect key="frame" x="814" y="1" width="68" height="17"/>
+ <rect key="frame" x="784" y="1" width="68" height="17"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<textField toolTip="Positive or negative offset in milliseconds (ms) for the selected SRT/SSA format source track. Not applicable to other formats." verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="aJi-zQ-0cg">
@@ -412,6 +413,39 @@
</tableCellView>
</prototypeCellViews>
</tableColumn>
+ <tableColumn width="28" minWidth="28" maxWidth="28" id="9QI-EX-yTT">
+ <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left">
+ <font key="font" metaFont="smallSystem"/>
+ <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
+ <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+ </tableHeaderCell>
+ <textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="left" title="Text Cell" id="gYk-0C-2tR">
+ <font key="font" metaFont="system"/>
+ <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
+ <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
+ </textFieldCell>
+ <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
+ <prototypeCellViews>
+ <tableCellView id="FiE-Us-vj1">
+ <rect key="frame" x="855" y="1" width="28" height="25"/>
+ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+ <subviews>
+ <button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="bFt-wX-C9J">
+ <rect key="frame" x="-3" y="-2" width="34" height="27"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+ <buttonCell key="cell" type="push" bezelStyle="rounded" image="NSActionTemplate" imagePosition="only" alignment="center" controlSize="small" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="A3l-TZ-bBd">
+ <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+ <font key="font" metaFont="smallSystem"/>
+ </buttonCell>
+ <connections>
+ <action selector="showAdditionalSettingsPopOver:" target="-2" id="lYo-do-opD"/>
+ <binding destination="FiE-Us-vj1" name="enabled" keyPath="objectValue.isEnabled" id="ptR-gm-qhm"/>
+ </connections>
+ </button>
+ </subviews>
+ </tableCellView>
+ </prototypeCellViews>
+ </tableColumn>
</tableColumns>
<accessibility description="Subtitles tracks"/>
<connections>
@@ -421,6 +455,7 @@
<string key="NSValueTransformerName">NSIsNotNil</string>
</dictionary>
</binding>
+ <outlet property="delegate" destination="-2" id="qvK-X0-R9e"/>
<outlet property="menu" destination="KgC-dn-Hq2" id="Iff-7t-kdg"/>
</connections>
</tableView>
@@ -434,7 +469,7 @@
<autoresizingMask key="autoresizingMask"/>
</scroller>
<tableHeaderView key="headerView" id="IiW-3a-Drv">
- <rect key="frame" x="0.0" y="0.0" width="884" height="23"/>
+ <rect key="frame" x="0.0" y="0.0" width="885" height="23"/>
<autoresizingMask key="autoresizingMask"/>
</tableHeaderView>
</scrollView>
@@ -493,4 +528,7 @@
<point key="canvasLocation" x="-18" y="437"/>
</menu>
</objects>
+ <resources>
+ <image name="NSActionTemplate" width="14" height="14"/>
+ </resources>
</document>
diff --git a/macosx/HBAudioController.m b/macosx/HBAudioController.m
index 66a8d2a8a..e980251bf 100644
--- a/macosx/HBAudioController.m
+++ b/macosx/HBAudioController.m
@@ -6,12 +6,14 @@
#import "HBAudioController.h"
#import "HBAudioDefaultsController.h"
+#import "HBTrackTitleViewController.h"
@import HandBrakeKit;
@interface HBAudioController ()
@property (nonatomic, readwrite, strong) HBAudioDefaultsController *defaultsController;
+@property (nonatomic, weak) IBOutlet NSTableView *table;
@end
@@ -38,6 +40,17 @@
[self.audio removeAll];
}
+- (IBAction)showAdditionalSettingsPopOver:(id)sender
+{
+ HBTrackTitleViewController *controller = [[HBTrackTitleViewController alloc] init];
+ NSInteger index = [self.table rowForView:sender];
+ if (index != -1)
+ {
+ controller.track = [self.audio objectInTracksAtIndex:index];
+ [self presentViewController:controller asPopoverRelativeToRect:[sender bounds] ofView:sender preferredEdge:NSRectEdgeMinX behavior:NSPopoverBehaviorTransient];
+ }
+}
+
#pragma mark - Defaults
- (IBAction)showSettingsSheet:(id)sender
diff --git a/macosx/HBSubtitlesController.m b/macosx/HBSubtitlesController.m
index 58767d7e3..ea4061f2a 100644
--- a/macosx/HBSubtitlesController.m
+++ b/macosx/HBSubtitlesController.m
@@ -6,13 +6,14 @@
#import "HBSubtitlesController.h"
#import "HBSubtitlesDefaultsController.h"
+#import "HBTrackTitleViewController.h"
@import HandBrakeKit;
@interface HBSubtitlesController ()
-// Defaults
@property (nonatomic, readwrite, strong) HBSubtitlesDefaultsController *defaultsController;
+@property (nonatomic, weak) IBOutlet NSTableView *table;
@end
@@ -70,6 +71,17 @@
}];
}
+- (IBAction)showAdditionalSettingsPopOver:(id)sender
+{
+ HBTrackTitleViewController *controller = [[HBTrackTitleViewController alloc] init];
+ NSInteger index = [self.table rowForView:sender];
+ if (index != -1)
+ {
+ controller.track = [self.subtitles objectInTracksAtIndex:index];
+ [self presentViewController:controller asPopoverRelativeToRect:[sender bounds] ofView:sender preferredEdge:NSRectEdgeMinX behavior:NSPopoverBehaviorTransient];
+ }
+}
+
#pragma mark - External subtitles import
/**
diff --git a/macosx/HBTrackTitleViewController.h b/macosx/HBTrackTitleViewController.h
new file mode 100644
index 000000000..40efee60c
--- /dev/null
+++ b/macosx/HBTrackTitleViewController.h
@@ -0,0 +1,18 @@
+//
+// HBTrackTitleViewController.h
+// HandBrake
+//
+// Created by Damiano Galassi on 26/09/2019.
+//
+
+#import <Cocoa/Cocoa.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface HBTrackTitleViewController : NSViewController
+
+@property (nonatomic) id track;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/macosx/HBTrackTitleViewController.m b/macosx/HBTrackTitleViewController.m
new file mode 100644
index 000000000..e1b19a74f
--- /dev/null
+++ b/macosx/HBTrackTitleViewController.m
@@ -0,0 +1,16 @@
+//
+// HBTrackTitleViewController.m
+// HandBrake
+//
+// Created by Damiano Galassi on 26/09/2019.
+//
+
+#import "HBTrackTitleViewController.h"
+
+@interface HBTrackTitleViewController ()
+
+@end
+
+@implementation HBTrackTitleViewController
+
+@end
diff --git a/macosx/HBTrackTitleViewController.xib b/macosx/HBTrackTitleViewController.xib
new file mode 100644
index 000000000..74b4d53c7
--- /dev/null
+++ b/macosx/HBTrackTitleViewController.xib
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="15400" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+ <dependencies>
+ <deployment identifier="macosx"/>
+ <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="15400"/>
+ <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+ </dependencies>
+ <objects>
+ <customObject id="-2" userLabel="File's Owner" customClass="HBTrackTitleViewController">
+ <connections>
+ <outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
+ </connections>
+ </customObject>
+ <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+ <customObject id="-3" userLabel="Application" customClass="NSObject"/>
+ <customView id="Hz6-mo-xeY">
+ <rect key="frame" x="0.0" y="0.0" width="302" height="63"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+ <subviews>
+ <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="2TT-sX-tpi">
+ <rect key="frame" x="8" y="37" width="38" height="14"/>
+ <textFieldCell key="cell" controlSize="small" lineBreakMode="clipping" title="Name:" id="eBw-qE-Hyb">
+ <font key="font" metaFont="smallSystem"/>
+ <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+ <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+ </textFieldCell>
+ </textField>
+ <textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="FpM-Jx-vLD">
+ <rect key="frame" x="52" y="34" width="240" height="19"/>
+ <constraints>
+ <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="240" id="Jvz-9x-Y8X"/>
+ </constraints>
+ <textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" borderStyle="bezel" drawsBackground="YES" id="KaP-t5-SqW">
+ <font key="font" metaFont="smallSystem"/>
+ <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.track.title" id="Ftg-oB-tDT"/>
+ </connections>
+ </textField>
+ <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="nNR-jx-7j9">
+ <rect key="frame" x="250" y="9" width="42" height="17"/>
+ <buttonCell key="cell" type="roundRect" title="Done" bezelStyle="roundedRect" alignment="center" controlSize="small" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="Vzr-yd-VKe">
+ <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+ <font key="font" metaFont="smallSystem"/>
+ <string key="keyEquivalent" base64-UTF8="YES">
+DQ
+</string>
+ </buttonCell>
+ <connections>
+ <action selector="dismissController:" target="-2" id="RzZ-kU-0HW"/>
+ </connections>
+ </button>
+ </subviews>
+ <constraints>
+ <constraint firstItem="nNR-jx-7j9" firstAttribute="trailing" secondItem="FpM-Jx-vLD" secondAttribute="trailing" id="04h-cf-Fzf"/>
+ <constraint firstItem="nNR-jx-7j9" firstAttribute="top" secondItem="FpM-Jx-vLD" secondAttribute="bottom" constant="8" id="870-SC-JJt"/>
+ <constraint firstItem="FpM-Jx-vLD" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" constant="10" id="BiM-cE-kbQ"/>
+ <constraint firstItem="2TT-sX-tpi" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" constant="10" id="CmB-Dc-3ni"/>
+ <constraint firstAttribute="bottom" secondItem="nNR-jx-7j9" secondAttribute="bottom" constant="10" id="Owq-7k-9Kt"/>
+ <constraint firstAttribute="trailing" secondItem="FpM-Jx-vLD" secondAttribute="trailing" constant="10" id="jWk-Bq-Frh"/>
+ <constraint firstItem="2TT-sX-tpi" firstAttribute="firstBaseline" secondItem="FpM-Jx-vLD" secondAttribute="firstBaseline" id="mZA-T3-A3z"/>
+ <constraint firstItem="FpM-Jx-vLD" firstAttribute="leading" secondItem="2TT-sX-tpi" secondAttribute="trailing" constant="8" id="nF0-ua-5BP"/>
+ </constraints>
+ <point key="canvasLocation" x="-12.5" y="60.5"/>
+ </customView>
+ </objects>
+</document>
diff --git a/macosx/HandBrake.xcodeproj/project.pbxproj b/macosx/HandBrake.xcodeproj/project.pbxproj
index b9ddabf9e..d63f28d12 100644
--- a/macosx/HandBrake.xcodeproj/project.pbxproj
+++ b/macosx/HandBrake.xcodeproj/project.pbxproj
@@ -282,6 +282,8 @@
A9D0FA771C1C284D0003F2A9 /* HBFocusRingView.m in Sources */ = {isa = PBXBuildFile; fileRef = A9D0FA761C1C284D0003F2A9 /* HBFocusRingView.m */; };
A9D1E41718262364002F6424 /* HBPreviewGenerator.m in Sources */ = {isa = PBXBuildFile; fileRef = A9D1E41618262364002F6424 /* HBPreviewGenerator.m */; };
A9D363512209C08600D8EFEA /* HBQueueItemView.m in Sources */ = {isa = PBXBuildFile; fileRef = A9D363502209C08500D8EFEA /* HBQueueItemView.m */; };
+ A9DA024E233C9DBC00DFF1D0 /* HBTrackTitleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A9DA024C233C9DBC00DFF1D0 /* HBTrackTitleViewController.m */; };
+ A9DA024F233C9DBC00DFF1D0 /* HBTrackTitleViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = A9DA024D233C9DBC00DFF1D0 /* HBTrackTitleViewController.xib */; };
A9DC6C52196F04F6002AE6B4 /* HBSubtitlesController.m in Sources */ = {isa = PBXBuildFile; fileRef = A9DC6C50196F04F6002AE6B4 /* HBSubtitlesController.m */; };
A9DF49271C884C4E008AC14A /* HBJobTests.m in Sources */ = {isa = PBXBuildFile; fileRef = A9DF49221C884C4E008AC14A /* HBJobTests.m */; };
A9DF49281C884C4E008AC14A /* HBJobUndoTests.m in Sources */ = {isa = PBXBuildFile; fileRef = A9DF49231C884C4E008AC14A /* HBJobUndoTests.m */; };
@@ -740,6 +742,9 @@
A9D363502209C08500D8EFEA /* HBQueueItemView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HBQueueItemView.m; sourceTree = "<group>"; };
A9D488A31996270300E9B1BA /* HBTreeNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HBTreeNode.h; sourceTree = "<group>"; };
A9D488A41996270300E9B1BA /* HBTreeNode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HBTreeNode.m; sourceTree = "<group>"; };
+ A9DA024B233C9DBC00DFF1D0 /* HBTrackTitleViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HBTrackTitleViewController.h; sourceTree = "<group>"; };
+ A9DA024C233C9DBC00DFF1D0 /* HBTrackTitleViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HBTrackTitleViewController.m; sourceTree = "<group>"; };
+ A9DA024D233C9DBC00DFF1D0 /* HBTrackTitleViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = HBTrackTitleViewController.xib; sourceTree = "<group>"; };
A9DC6C4F196F04F6002AE6B4 /* HBSubtitlesController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HBSubtitlesController.h; sourceTree = SOURCE_ROOT; };
A9DC6C50196F04F6002AE6B4 /* HBSubtitlesController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HBSubtitlesController.m; sourceTree = SOURCE_ROOT; };
A9DEC8721A23C87500C79B48 /* HBCore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HBCore.h; sourceTree = "<group>"; };
@@ -1491,6 +1496,9 @@
A9DC6C50196F04F6002AE6B4 /* HBSubtitlesController.m */,
A9A96BC920CAD61800A39AFB /* Subtitles.xib */,
A9F472851976B7AA0009EC65 /* Subtitles Defaults */,
+ A9DA024B233C9DBC00DFF1D0 /* HBTrackTitleViewController.h */,
+ A9DA024C233C9DBC00DFF1D0 /* HBTrackTitleViewController.m */,
+ A9DA024D233C9DBC00DFF1D0 /* HBTrackTitleViewController.xib */,
A91726E5197291BC00D1AFEF /* HBChapterTitlesController.h */,
A91726E6197291BC00D1AFEF /* HBChapterTitlesController.m */,
A9A96BCF20CAD62500A39AFB /* ChaptersTitles.xib */,
@@ -1716,7 +1724,7 @@
273F1FE014AD9DA40021BE6D /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 1100;
+ LastUpgradeCheck = 1110;
TargetAttributes = {
273F203814ADBC200021BE6D = {
SystemCapabilities = {
@@ -1808,6 +1816,7 @@
A9A96BD720CAD64300A39AFB /* PictureSettings.xib in Resources */,
A9A96BD120CAD62500A39AFB /* ChaptersTitles.xib in Resources */,
A91AD3441FB5D9A500AEA822 /* HBAddCategoryController.xib in Resources */,
+ A9DA024F233C9DBC00DFF1D0 /* HBTrackTitleViewController.xib in Resources */,
A9A96B8520CAD2CC00A39AFB /* HBEncodingProgressHUDController.xib in Resources */,
A9A96BC820CAD61000A39AFB /* AudioDefaults.xib in Resources */,
A9A96BB920CAD5EE00A39AFB /* HBPictureViewController.xib in Resources */,
@@ -1909,6 +1918,7 @@
A916C9931C8449A100C7B560 /* HBAddPresetController.m in Sources */,
A916C9921C84498F00C7B560 /* HBDockTextField.m in Sources */,
A9706CB41AC1436F00BAEAA8 /* HBApplication.m in Sources */,
+ A9DA024E233C9DBC00DFF1D0 /* HBTrackTitleViewController.m in Sources */,
273F20B514ADBE670021BE6D /* HBPreferencesController.m in Sources */,
273F20AC14ADBE670021BE6D /* HBController.m in Sources */,
A93E0ED31972957000FD67FB /* HBVideoController.m in Sources */,
@@ -2573,6 +2583,7 @@
"-filelist",
"$(EXTERNAL_BUILD)/macosx/osl.filelist.txt",
"-lc++",
+ "-w",
);
SDKROOT = macosx;
SHARED_PRECOMPS_DIR = "$(CONFIGURATION_TEMP_DIR)/PrecompiledHeaders";