diff options
author | Damiano Galassi <[email protected]> | 2019-09-26 10:45:45 +0200 |
---|---|---|
committer | Damiano Galassi <[email protected]> | 2019-09-26 10:45:45 +0200 |
commit | a681474f1652c75bc7660481ad75d6956c7baa97 (patch) | |
tree | cd563923b2d57399864cc1e043f33d4769f7213a /macosx | |
parent | cc03179d4c2c8b75d6f324f41b904585bcd43ccb (diff) |
MacGui: add a popover to edit tracks names.
Diffstat (limited to 'macosx')
-rw-r--r-- | macosx/Base.lproj/Audio.xib | 86 | ||||
-rw-r--r-- | macosx/Base.lproj/Subtitles.xib | 64 | ||||
-rw-r--r-- | macosx/HBAudioController.m | 13 | ||||
-rw-r--r-- | macosx/HBSubtitlesController.m | 14 | ||||
-rw-r--r-- | macosx/HBTrackTitleViewController.h | 18 | ||||
-rw-r--r-- | macosx/HBTrackTitleViewController.m | 16 | ||||
-rw-r--r-- | macosx/HBTrackTitleViewController.xib | 69 | ||||
-rw-r--r-- | macosx/HandBrake.xcodeproj/project.pbxproj | 13 |
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"; |