summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott <[email protected]>2015-10-03 14:17:53 +0100
committerScott <[email protected]>2015-10-03 14:17:53 +0100
commitdc988f3d7b7f3595f1d06e9d819a5ff845bc360d (patch)
tree004e093c196c77b71d8b1fc08bedaf66db9091dc
parent613bddd7e85e09e1a8a24e1a4b7c8c5b59ccdd5c (diff)
Adding some additional tooltips to the picture settings and video tabs.
-rw-r--r--win/CS/HandBrakeWPF/Properties/Resources.Designer.cs60
-rw-r--r--win/CS/HandBrakeWPF/Properties/Resources.resx34
-rw-r--r--win/CS/HandBrakeWPF/Properties/ResourcesTooltips.Designer.cs256
-rw-r--r--win/CS/HandBrakeWPF/Properties/ResourcesTooltips.resx115
-rw-r--r--win/CS/HandBrakeWPF/Views/PictureSettingsView.xaml22
-rw-r--r--win/CS/HandBrakeWPF/Views/VideoView.xaml42
6 files changed, 409 insertions, 120 deletions
diff --git a/win/CS/HandBrakeWPF/Properties/Resources.Designer.cs b/win/CS/HandBrakeWPF/Properties/Resources.Designer.cs
index 23cceef50..d245d5dc8 100644
--- a/win/CS/HandBrakeWPF/Properties/Resources.Designer.cs
+++ b/win/CS/HandBrakeWPF/Properties/Resources.Designer.cs
@@ -1497,50 +1497,6 @@ namespace HandBrakeWPF.Properties {
}
/// <summary>
- /// Looks up a localized string similar to Sets and ensures compliance with the specified H.264 Levels. This will override all other settings..
- /// </summary>
- public static string Video_EncoderLevel {
- get {
- return ResourceManager.GetString("Video_EncoderLevel", resourceCulture);
- }
- }
-
- /// <summary>
- /// Looks up a localized string similar to Adjusts settings to trade off compression efficiency against encoding speed.
- ///
- ///This establishes your default settings. Tunes, profiles, levels and advanced options string will be applied to this.
- ///
- ///You should generally set this option to the slowest you can bear since slower settings will result in better quality or smaller files..
- /// </summary>
- public static string Video_EncoderPreset {
- get {
- return ResourceManager.GetString("Video_EncoderPreset", resourceCulture);
- }
- }
-
- /// <summary>
- /// Looks up a localized string similar to Limit the profile of the output stream. This will override all other settings..
- /// </summary>
- public static string Video_EncoderProfile {
- get {
- return ResourceManager.GetString("Video_EncoderProfile", resourceCulture);
- }
- }
-
- /// <summary>
- /// Looks up a localized string similar to Tune settings to optimise for common scenarios
- ///
- ///This can improve efficiency for particular source characteristics or set of characteristics of the output file.
- ///
- ///Changes will be applied after the preset but before all other parameters..
- /// </summary>
- public static string Video_EncoderTune {
- get {
- return ResourceManager.GetString("Video_EncoderTune", resourceCulture);
- }
- }
-
- /// <summary>
/// Looks up a localized string similar to Higher Quality |.
/// </summary>
public static string Video_HigherQuality {
@@ -1591,22 +1547,6 @@ namespace HandBrakeWPF.Properties {
}
/// <summary>
- /// Looks up a localized string similar to Set the desired quality factor. The encoder targets a certain quality.
- ///The scale used by each video encoder is different.
- ///
- ///x264&apos;s scale is logarithmic and lower values correspond to higher quality.
- ///So small changes in value will result in progressively larger increases or decreases in the resulting file size.
- ///A value of 0 means lossless and will result in a file size that is larger than the original source,
- ///unless the source was also lossless.
- ///Suggested values are: 18 to 20 for standard definiti [rest of string was truncated]&quot;;.
- /// </summary>
- public static string Video_QualitySlider {
- get {
- return ResourceManager.GetString("Video_QualitySlider", resourceCulture);
- }
- }
-
- /// <summary>
/// Looks up a localized string similar to QuickSync hardware not detected or enabled!
///
///In order to use the QuickSync encoder, you must:
diff --git a/win/CS/HandBrakeWPF/Properties/Resources.resx b/win/CS/HandBrakeWPF/Properties/Resources.resx
index 7915ff051..41a9e58aa 100644
--- a/win/CS/HandBrakeWPF/Properties/Resources.resx
+++ b/win/CS/HandBrakeWPF/Properties/Resources.resx
@@ -242,40 +242,6 @@ may have problems with Weighted P-frame prediction: the Apple TV is completely i
Set this if your device is struggling to play the output. (i.e. dropped frames)</value>
</data>
- <data name="Video_EncoderLevel" xml:space="preserve">
- <value>Sets and ensures compliance with the specified H.264 Levels. This will override all other settings.</value>
- </data>
- <data name="Video_EncoderPreset" xml:space="preserve">
- <value>Adjusts settings to trade off compression efficiency against encoding speed.
-
-This establishes your default settings. Tunes, profiles, levels and advanced options string will be applied to this.
-
-You should generally set this option to the slowest you can bear since slower settings will result in better quality or smaller files.</value>
- </data>
- <data name="Video_EncoderProfile" xml:space="preserve">
- <value>Limit the profile of the output stream. This will override all other settings.</value>
- </data>
- <data name="Video_EncoderTune" xml:space="preserve">
- <value>Tune settings to optimise for common scenarios
-
-This can improve efficiency for particular source characteristics or set of characteristics of the output file.
-
-Changes will be applied after the preset but before all other parameters.</value>
- </data>
- <data name="Video_QualitySlider" xml:space="preserve">
- <value>Set the desired quality factor. The encoder targets a certain quality.
-The scale used by each video encoder is different.
-
-x264's scale is logarithmic and lower values correspond to higher quality.
-So small changes in value will result in progressively larger increases or decreases in the resulting file size.
-A value of 0 means lossless and will result in a file size that is larger than the original source,
-unless the source was also lossless.
-Suggested values are: 18 to 20 for standard definition sources and 20 to 23 for high definition sources.
-
-x265 is a new encoder, so there are no recommended values yet. You'll have to experiment.
-
-FFMpeg's and Theora's scale is more linear. These encoders do not have a lossless mode.</value>
- </data>
<data name="Video_LosslessWarning" xml:space="preserve">
<value>Warning: RF 0 is Lossless!</value>
</data>
diff --git a/win/CS/HandBrakeWPF/Properties/ResourcesTooltips.Designer.cs b/win/CS/HandBrakeWPF/Properties/ResourcesTooltips.Designer.cs
index c94852f1f..4839b7d42 100644
--- a/win/CS/HandBrakeWPF/Properties/ResourcesTooltips.Designer.cs
+++ b/win/CS/HandBrakeWPF/Properties/ResourcesTooltips.Designer.cs
@@ -186,6 +186,70 @@ namespace HandBrakeWPF.Properties {
}
/// <summary>
+ /// Looks up a localized string similar to Automatically crop black borders around edges of the video..
+ /// </summary>
+ public static string PictureSettingsView_AutoCrop {
+ get {
+ return ResourceManager.GetString("PictureSettingsView_AutoCrop", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Crop the video from the bottom..
+ /// </summary>
+ public static string PictureSettingsView_CropBottom {
+ get {
+ return ResourceManager.GetString("PictureSettingsView_CropBottom", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Crop the video from the left side..
+ /// </summary>
+ public static string PictureSettingsView_CropLeft {
+ get {
+ return ResourceManager.GetString("PictureSettingsView_CropLeft", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Crop the video from the right side..
+ /// </summary>
+ public static string PictureSettingsView_CropRight {
+ get {
+ return ResourceManager.GetString("PictureSettingsView_CropRight", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Crop the video from the top..
+ /// </summary>
+ public static string PictureSettingsView_CropTop {
+ get {
+ return ResourceManager.GetString("PictureSettingsView_CropTop", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to This is the height that the video will be stored at.
+ ///The actual display dimensions will differ if the pixel aspect ratio is not 1:1..
+ /// </summary>
+ public static string PictureSettingsView_Height {
+ get {
+ return ResourceManager.GetString("PictureSettingsView_Height", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Manually crop the video..
+ /// </summary>
+ public static string PictureSettingsView_ManualCrop {
+ get {
+ return ResourceManager.GetString("PictureSettingsView_ManualCrop", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to Align storage dimensions to multiples of this value.
///
///This setting is only necessary for compatibility with some devices.
@@ -209,6 +273,16 @@ namespace HandBrakeWPF.Properties {
}
/// <summary>
+ /// Looks up a localized string similar to This is the width that the video will be stored at.
+ ///The actual display dimensions will differ if the pixel aspect ratio is not 1:1..
+ /// </summary>
+ public static string PictureSettingsView_Width {
+ get {
+ return ResourceManager.GetString("PictureSettingsView_Width", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to Delete the job from the queue..
/// </summary>
public static string QueueView_DeleteJob {
@@ -234,5 +308,187 @@ namespace HandBrakeWPF.Properties {
return ResourceManager.GetString("QueueView_SendJobBack", resourceCulture);
}
}
+
+ /// <summary>
+ /// Looks up a localized string similar to Use advanced options Tab for x264 settings..
+ /// </summary>
+ public static string Video_AdvancedOptions {
+ get {
+ return ResourceManager.GetString("Video_AdvancedOptions", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Set the average bitrate.
+ ///
+ ///The instantaneous bitrate can be much higher or lower at any point in time.
+ ///But the average over a long duration will be the value set here. If you need
+ ///to limit instantaneous bitrate, look into x264&apos;s vbv-bufsize and vbv-maxrate settings..
+ /// </summary>
+ public static string Video_AvgBitrate {
+ get {
+ return ResourceManager.GetString("Video_AvgBitrate", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Enables constant framerate output..
+ /// </summary>
+ public static string Video_ConstantFramerate {
+ get {
+ return ResourceManager.GetString("Video_ConstantFramerate", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Available video encoders..
+ /// </summary>
+ public static string Video_Encoders {
+ get {
+ return ResourceManager.GetString("Video_Encoders", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Tune settings to optimize for common scenarios.
+ ///
+ ///This can improve effeciency for particular source characteristics or set
+ ///characteristics of the output file. Changes will be applied after the
+ ///preset but before all other parameters..
+ /// </summary>
+ public static string Video_EncoderTune {
+ get {
+ return ResourceManager.GetString("Video_EncoderTune", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Additional encoder settings.
+ ///
+ ///Colon separated list of encoder options..
+ /// </summary>
+ public static string Video_ExtraOpts {
+ get {
+ return ResourceManager.GetString("Video_ExtraOpts", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Reduce decoder CPU usage.
+ ///
+ ///Set this if your device is struggling to play the output (dropped frames)..
+ /// </summary>
+ public static string Video_FastDecode {
+ get {
+ return ResourceManager.GetString("Video_FastDecode", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Output framerate.
+ ///
+ ///&apos;Same as source&apos; is recommended. If your source video has a variable framerate, &apos;Same as source&apos; will preserve it..
+ /// </summary>
+ public static string Video_Framerate {
+ get {
+ return ResourceManager.GetString("Video_Framerate", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Sets and ensures compliance with the specified level.
+ ///
+ ///Overrides all other settings..
+ /// </summary>
+ public static string Video_Level {
+ get {
+ return ResourceManager.GetString("Video_Level", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Enables variable framerate output with a peak rate determined by the framerate setting..
+ /// </summary>
+ public static string Video_PeakFramerate {
+ get {
+ return ResourceManager.GetString("Video_PeakFramerate", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Adjusts encoder settings to trade off compression efficiency against encoding speed.
+ ///
+ ///This establishes your default encoder settings.
+ ///Tunes, profiles, levels and advanced option string will be applied to this.
+ ///You should generally set this option to the slowest you can bear since slower
+ ///settings will result in better quality or smaller files..
+ /// </summary>
+ public static string Video_Presets {
+ get {
+ return ResourceManager.GetString("Video_Presets", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Sets and ensures compliance with the specified profile.
+ ///
+ ///Overrides all other settings..
+ /// </summary>
+ public static string Video_Profile {
+ get {
+ return ResourceManager.GetString("Video_Profile", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Set the desired quality factor.
+ ///The encoder targets a certain quality.
+ ///The scale used by each video encoder is different.
+ ///
+ ///x264&apos;s scale is logarithmic and lower values correspond to higher quality.
+ ///So small decreases in value will result in progressively larger increases
+ ///in the resulting file size. A value of 0 means lossless and will result
+ ///in a file size that is larger than the original source, unless the source
+ ///was also lossless.
+ ///Suggested values are: 18 to 20 for standard definition sources an [rest of string was truncated]&quot;;.
+ /// </summary>
+ public static string Video_Quality {
+ get {
+ return ResourceManager.GetString("Video_Quality", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to During the 1st pass of a 2 pass encode, use settings that speed things along..
+ /// </summary>
+ public static string Video_TurboFirstPass {
+ get {
+ return ResourceManager.GetString("Video_TurboFirstPass", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Perform 2 Pass Encoding.
+ ///
+ ///The &apos;Bitrate&apos; option is prerequisite. During the 1st pass, statistics about
+ ///the video are collected. Then in the second pass, those statistics are used
+ ///to make bitrate allocation decisions..
+ /// </summary>
+ public static string Video_TwoPass {
+ get {
+ return ResourceManager.GetString("Video_TwoPass", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Enables variable framerate output.
+ ///
+ ///VFR is not compatible with some players..
+ /// </summary>
+ public static string Video_VariableFramerate {
+ get {
+ return ResourceManager.GetString("Video_VariableFramerate", resourceCulture);
+ }
+ }
}
}
diff --git a/win/CS/HandBrakeWPF/Properties/ResourcesTooltips.resx b/win/CS/HandBrakeWPF/Properties/ResourcesTooltips.resx
index f3a1ab415..536409cae 100644
--- a/win/CS/HandBrakeWPF/Properties/ResourcesTooltips.resx
+++ b/win/CS/HandBrakeWPF/Properties/ResourcesTooltips.resx
@@ -170,6 +170,28 @@ Loose - Align dimensions to chosen 'Alignment' value
original display aspect ratio
Strict - Keep original source dimensions and pixel aspect ratio</value>
</data>
+ <data name="PictureSettingsView_AutoCrop" xml:space="preserve">
+ <value>Automatically crop black borders around edges of the video.</value>
+ </data>
+ <data name="PictureSettingsView_CropBottom" xml:space="preserve">
+ <value>Crop the video from the bottom.</value>
+ </data>
+ <data name="PictureSettingsView_CropLeft" xml:space="preserve">
+ <value>Crop the video from the left side.</value>
+ </data>
+ <data name="PictureSettingsView_CropRight" xml:space="preserve">
+ <value>Crop the video from the right side.</value>
+ </data>
+ <data name="PictureSettingsView_CropTop" xml:space="preserve">
+ <value>Crop the video from the top.</value>
+ </data>
+ <data name="PictureSettingsView_Height" xml:space="preserve">
+ <value>This is the height that the video will be stored at.
+The actual display dimensions will differ if the pixel aspect ratio is not 1:1.</value>
+ </data>
+ <data name="PictureSettingsView_ManualCrop" xml:space="preserve">
+ <value>Manually crop the video.</value>
+ </data>
<data name="PictureSettingsView_Modulus" xml:space="preserve">
<value>Align storage dimensions to multiples of this value.
@@ -181,6 +203,10 @@ You should use 2 unless you experience compatibility issues.</value>
A 1:1 ratio defines a square pixel. Other values define rectangular shapes.
Players will scale the image in order to achieve the specified aspect.</value>
</data>
+ <data name="PictureSettingsView_Width" xml:space="preserve">
+ <value>This is the width that the video will be stored at.
+The actual display dimensions will differ if the pixel aspect ratio is not 1:1.</value>
+ </data>
<data name="QueueView_DeleteJob" xml:space="preserve">
<value>Delete the job from the queue.</value>
</data>
@@ -190,4 +216,93 @@ Players will scale the image in order to achieve the specified aspect.</value>
<data name="QueueView_SendJobBack" xml:space="preserve">
<value>Send the job back to the main window for editing.</value>
</data>
+ <data name="Video_AdvancedOptions" xml:space="preserve">
+ <value>Use advanced options Tab for x264 settings.</value>
+ </data>
+ <data name="Video_AvgBitrate" xml:space="preserve">
+ <value>Set the average bitrate.
+
+The instantaneous bitrate can be much higher or lower at any point in time.
+But the average over a long duration will be the value set here. If you need
+to limit instantaneous bitrate, look into x264's vbv-bufsize and vbv-maxrate settings.</value>
+ </data>
+ <data name="Video_ConstantFramerate" xml:space="preserve">
+ <value>Enables constant framerate output.</value>
+ </data>
+ <data name="Video_Encoders" xml:space="preserve">
+ <value>Available video encoders.</value>
+ </data>
+ <data name="Video_EncoderTune" xml:space="preserve">
+ <value>Tune settings to optimize for common scenarios.
+
+This can improve effeciency for particular source characteristics or set
+characteristics of the output file. Changes will be applied after the
+preset but before all other parameters.</value>
+ </data>
+ <data name="Video_ExtraOpts" xml:space="preserve">
+ <value>Additional encoder settings.
+
+Colon separated list of encoder options.</value>
+ </data>
+ <data name="Video_FastDecode" xml:space="preserve">
+ <value>Reduce decoder CPU usage.
+
+Set this if your device is struggling to play the output (dropped frames).</value>
+ </data>
+ <data name="Video_Framerate" xml:space="preserve">
+ <value>Output framerate.
+
+'Same as source' is recommended. If your source video has a variable framerate, 'Same as source' will preserve it.</value>
+ </data>
+ <data name="Video_Level" xml:space="preserve">
+ <value>Sets and ensures compliance with the specified level.
+
+Overrides all other settings.</value>
+ </data>
+ <data name="Video_PeakFramerate" xml:space="preserve">
+ <value>Enables variable framerate output with a peak rate determined by the framerate setting.</value>
+ </data>
+ <data name="Video_Presets" xml:space="preserve">
+ <value>Adjusts encoder settings to trade off compression efficiency against encoding speed.
+
+This establishes your default encoder settings.
+Tunes, profiles, levels and advanced option string will be applied to this.
+You should generally set this option to the slowest you can bear since slower
+settings will result in better quality or smaller files.</value>
+ </data>
+ <data name="Video_Profile" xml:space="preserve">
+ <value>Sets and ensures compliance with the specified profile.
+
+Overrides all other settings.</value>
+ </data>
+ <data name="Video_Quality" xml:space="preserve">
+ <value>Set the desired quality factor.
+The encoder targets a certain quality.
+The scale used by each video encoder is different.
+
+x264's scale is logarithmic and lower values correspond to higher quality.
+So small decreases in value will result in progressively larger increases
+in the resulting file size. A value of 0 means lossless and will result
+in a file size that is larger than the original source, unless the source
+was also lossless.
+Suggested values are: 18 to 20 for standard definition sources and 20 to 23 for high definition sources.
+
+FFMpeg's and Theora's scale is more linear.
+These encoders do not have a lossless mode.</value>
+ </data>
+ <data name="Video_TurboFirstPass" xml:space="preserve">
+ <value>During the 1st pass of a 2 pass encode, use settings that speed things along.</value>
+ </data>
+ <data name="Video_TwoPass" xml:space="preserve">
+ <value>Perform 2 Pass Encoding.
+
+The 'Bitrate' option is prerequisite. During the 1st pass, statistics about
+the video are collected. Then in the second pass, those statistics are used
+to make bitrate allocation decisions.</value>
+ </data>
+ <data name="Video_VariableFramerate" xml:space="preserve">
+ <value>Enables variable framerate output.
+
+VFR is not compatible with some players.</value>
+ </data>
</root> \ No newline at end of file
diff --git a/win/CS/HandBrakeWPF/Views/PictureSettingsView.xaml b/win/CS/HandBrakeWPF/Views/PictureSettingsView.xaml
index be53554d9..eb9d9eee6 100644
--- a/win/CS/HandBrakeWPF/Views/PictureSettingsView.xaml
+++ b/win/CS/HandBrakeWPF/Views/PictureSettingsView.xaml
@@ -43,11 +43,11 @@
<Label Content="{x:Static Properties:ResourcesUI.PictureSettingsView_Width}" />
<controls:NumberBox Number="{Binding Width, Mode=TwoWay}" UpdateBindingOnTextChange="True" IsEnabled="{Binding WidthControlEnabled}"
Modulus="{Binding SelectedModulus, Mode=OneWay}"
- Minimum="0" Width="60" />
+ ToolTip="{x:Static Properties:ResourcesTooltips.PictureSettingsView_Width}" Minimum="0" Width="60" />
<Label Content="{x:Static Properties:ResourcesUI.PictureSettingsView_Height}" />
<controls:NumberBox Number="{Binding Height, Mode=TwoWay}" IsEnabled="{Binding HeightControlEnabled}" UpdateBindingOnTextChange="True"
Modulus="{Binding SelectedModulus, Mode=OneWay}"
- Minimum="0" Width="60" />
+ ToolTip="{x:Static Properties:ResourcesTooltips.PictureSettingsView_Height}" Minimum="0" Width="60" />
<CheckBox Content="{x:Static Properties:ResourcesUI.PictureSettingsView_KeepAR}" IsChecked="{Binding MaintainAspectRatio}"
Visibility="{Binding ShowKeepAR, Converter={StaticResource boolToVisHiddenConverter}}"
VerticalAlignment="Center" Margin="5,0,0,0" />
@@ -108,8 +108,10 @@
<!-- Crop Panel -->
<StackPanel Name="CropPanel" Margin="15,0,0,0" VerticalAlignment="Top" HorizontalAlignment="Stretch" Grid.Row="0" Grid.RowSpan="2" Grid.Column="1">
<Label Content="{x:Static Properties:ResourcesUI.PictureSettingsView_Cropping}" FontWeight="Bold" />
- <RadioButton Content="{x:Static Properties:ResourcesUI.PictureSettingsView_Automatic}" IsChecked="{Binding IsCustomCrop, Converter={StaticResource boolConverter}, ConverterParameter=true}" Margin="10,0,0,0"/>
- <RadioButton Content="{x:Static Properties:ResourcesUI.PictureSettingsView_Custom}" IsChecked="{Binding IsCustomCrop}" Margin="10,5,0,0" />
+ <RadioButton Content="{x:Static Properties:ResourcesUI.PictureSettingsView_Automatic}" IsChecked="{Binding IsCustomCrop, Converter={StaticResource boolConverter}, ConverterParameter=true}" Margin="10,0,0,0"
+ ToolTip="{x:Static Properties:ResourcesTooltips.PictureSettingsView_AutoCrop}" />
+ <RadioButton Content="{x:Static Properties:ResourcesUI.PictureSettingsView_Custom}" IsChecked="{Binding IsCustomCrop}" Margin="10,5,0,0"
+ ToolTip="{x:Static Properties:ResourcesTooltips.PictureSettingsView_ManualCrop}" />
<Grid Margin="0,10,0,0">
<Grid.RowDefinitions>
@@ -134,16 +136,20 @@
<Label Content="{x:Static Properties:ResourcesUI.PictureSettingsView_Right}" Grid.Row="2" Grid.Column="4" HorizontalAlignment="Center" />
<controls:NumberBox Width="60" HorizontalAlignment="Left" Margin="0,0,0,5" IsEnabled="{Binding IsCustomCrop}" Grid.Row="1" Grid.Column="2"
- Minimum="0" Modulus="2" Number="{Binding CropTop, Mode=TwoWay}" UpdateBindingOnTextChange="True" ShowIncrementButtons="True" AllowEmpty="False" />
+ Minimum="0" Modulus="2" Number="{Binding CropTop, Mode=TwoWay}" UpdateBindingOnTextChange="True" ShowIncrementButtons="True" AllowEmpty="False"
+ ToolTip="{x:Static Properties:ResourcesTooltips.PictureSettingsView_CropTop}" />
<controls:NumberBox Width="60" HorizontalAlignment="Left" Margin="0,0,0,5" IsEnabled="{Binding IsCustomCrop}" Grid.Row="3" Grid.Column="2"
- Minimum="0" Modulus="2" Number="{Binding CropBottom, Mode=TwoWay}" UpdateBindingOnTextChange="True" ShowIncrementButtons="True" AllowEmpty="False" />
+ Minimum="0" Modulus="2" Number="{Binding CropBottom, Mode=TwoWay}" UpdateBindingOnTextChange="True" ShowIncrementButtons="True" AllowEmpty="False"
+ ToolTip="{x:Static Properties:ResourcesTooltips.PictureSettingsView_CropBottom}" />
<controls:NumberBox Width="60" HorizontalAlignment="Left" Margin="0,0,0,5" IsEnabled="{Binding IsCustomCrop}" Grid.Row="2" Grid.Column="1"
- Minimum="0" Modulus="2" Number="{Binding CropLeft, Mode=TwoWay}" UpdateBindingOnTextChange="True" ShowIncrementButtons="True" AllowEmpty="False" />
+ Minimum="0" Modulus="2" Number="{Binding CropLeft, Mode=TwoWay}" UpdateBindingOnTextChange="True" ShowIncrementButtons="True" AllowEmpty="False"
+ ToolTip="{x:Static Properties:ResourcesTooltips.PictureSettingsView_CropLeft}" />
<controls:NumberBox Width="60" HorizontalAlignment="Left" Margin="0,0,0,5" IsEnabled="{Binding IsCustomCrop}" Grid.Row="2" Grid.Column="3"
- Minimum="0" Modulus="2" Number="{Binding CropRight, Mode=TwoWay}" UpdateBindingOnTextChange="True" ShowIncrementButtons="True" AllowEmpty="False" />
+ Minimum="0" Modulus="2" Number="{Binding CropRight, Mode=TwoWay}" UpdateBindingOnTextChange="True" ShowIncrementButtons="True" AllowEmpty="False"
+ ToolTip="{x:Static Properties:ResourcesTooltips.PictureSettingsView_CropRight}" />
</Grid>
diff --git a/win/CS/HandBrakeWPF/Views/VideoView.xaml b/win/CS/HandBrakeWPF/Views/VideoView.xaml
index 878d8a17e..76cd39c98 100644
--- a/win/CS/HandBrakeWPF/Views/VideoView.xaml
+++ b/win/CS/HandBrakeWPF/Views/VideoView.xaml
@@ -42,7 +42,7 @@
<StackPanel Orientation="Horizontal" Margin="0,0,0,10" >
<TextBlock Text="{x:Static Properties:ResourcesUI.VideoView_Codec}" Width="100" />
- <ComboBox Width="120">
+ <ComboBox Width="120" ToolTip="{x:Static Properties:ResourcesTooltips.Video_Encoders}" >
<ComboBox.SelectedItem>
<MultiBinding Converter="{StaticResource videoEncoderConverter}">
<Binding Path="SelectedVideoEncoder" />
@@ -61,17 +61,18 @@
<StackPanel Orientation="Horizontal">
<TextBlock Text="{x:Static Properties:ResourcesUI.VideoView_Framerate}" VerticalAlignment="Top" Margin="0,5,0,0" Width="100"/>
<StackPanel Orientation="Vertical">
- <ComboBox Width="120" ItemsSource="{Binding Framerates}" SelectedItem="{Binding SelectedFramerate}"
+ <ComboBox Width="120" ItemsSource="{Binding Framerates}" SelectedItem="{Binding SelectedFramerate}" ToolTip="{x:Static Properties:ResourcesTooltips.Video_Framerate}"
Visibility="{Binding DisplayNonQSVControls, Converter={StaticResource boolToVisConverter}, ConverterParameter=false}" />
<TextBlock Text="{x:Static Properties:ResourcesUI.VideoView_SameAsSource}" VerticalAlignment="Center" Margin="0,5,0,0"
Visibility="{Binding DisplayNonQSVControls, Converter={StaticResource boolToVisConverter}, ConverterParameter=true}"/>
<StackPanel Orientation="Vertical" Visibility="{Binding DisplayNonQSVControls, Converter={StaticResource boolToVisConverter}}">
- <RadioButton Content="{x:Static Properties:ResourcesUI.VideoView_ConstantFramerate}" IsChecked="{Binding IsConstantFramerate}" Margin="0,5,0,0" />
+ <RadioButton Content="{x:Static Properties:ResourcesUI.VideoView_ConstantFramerate}" IsChecked="{Binding IsConstantFramerate}" Margin="0,5,0,0"
+ ToolTip="{x:Static Properties:ResourcesTooltips.Video_ConstantFramerate}" />
<RadioButton Content="{x:Static Properties:ResourcesUI.VideoView_VariableFramerate}" IsChecked="{Binding IsVariableFramerate}" Margin="0,5,0,0"
- Visibility="{Binding ShowPeakFramerate, Converter={StaticResource boolToVisConverter}, ConverterParameter=true}" />
+ Visibility="{Binding ShowPeakFramerate, Converter={StaticResource boolToVisConverter}, ConverterParameter=true}" ToolTip="{x:Static Properties:ResourcesTooltips.Video_VariableFramerate}" />
<RadioButton Content="{x:Static Properties:ResourcesUI.VideoView_PeakFramerate}" IsChecked="{Binding IsPeakFramerate}" Margin="0,5,0,0"
- Visibility="{Binding ShowPeakFramerate, Converter={StaticResource boolToVisConverter}, ConverterParameter=false}" />
+ Visibility="{Binding ShowPeakFramerate, Converter={StaticResource boolToVisConverter}, ConverterParameter=false}" ToolTip="{x:Static Properties:ResourcesTooltips.Video_PeakFramerate}" />
</StackPanel>
</StackPanel>
</StackPanel>
@@ -82,7 +83,8 @@
<TextBlock Text="Quality" FontWeight="Bold" Margin="0,0,0,10"/>
<StackPanel Orientation="Horizontal" Margin="0,0,0,10" >
- <RadioButton Content="{x:Static Properties:ResourcesUI.VideoView_ConstantQuality}" IsChecked="{Binding IsConstantQuantity}" Margin="0,0,10,0" />
+ <RadioButton Content="{x:Static Properties:ResourcesUI.VideoView_ConstantQuality}" IsChecked="{Binding IsConstantQuantity}" Margin="0,0,10,0"
+ ToolTip="{x:Static Properties:ResourcesTooltips.Video_Quality}" />
<TextBlock Text="{Binding DisplayRF}" MinWidth="30" />
<TextBlock Text="{Binding Rfqp}" FontWeight="Bold" Margin="5,0,0,0" />
@@ -92,7 +94,7 @@
<Slider Width="280" Value="{Binding RF, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Left" Maximum="{Binding QualityMax}" Minimum="{Binding QualityMin}"
IsEnabled="{Binding IsConstantQuantity}" Margin="20,0,0,10"
- ToolTip="{x:Static Properties:Resources.Video_QualitySlider}" Style="{StaticResource LongToolTipHolder}"
+ ToolTip="{x:Static Properties:ResourcesTooltips.Video_Quality}" Style="{StaticResource LongToolTipHolder}"
IsSnapToTickEnabled="True" TickFrequency="1" TickPlacement="BottomRight" />
<Grid Margin="20,0,0,15" Width="280" HorizontalAlignment="Left">
@@ -105,15 +107,18 @@
</Grid>
<StackPanel Orientation="Horizontal" Margin="0,0,0,6">
- <RadioButton Content="{x:Static Properties:ResourcesUI.VideoView_AverageBitrate}" IsChecked="{Binding IsConstantQuantity, Converter={StaticResource boolConverter}, ConverterParameter=true}" Margin="0,0,10,0"/>
- <TextBox Width="75" Text="{Binding Task.VideoBitrate, UpdateSourceTrigger=PropertyChanged}" IsEnabled="{Binding IsConstantQuantity, Converter={StaticResource boolConverter}, ConverterParameter=true}" />
+ <RadioButton Content="{x:Static Properties:ResourcesUI.VideoView_AverageBitrate}" ToolTip="{x:Static Properties:ResourcesTooltips.Video_AvgBitrate}"
+ IsChecked="{Binding IsConstantQuantity, Converter={StaticResource boolConverter}, ConverterParameter=true}" Margin="0,0,10,0"/>
+ <TextBox Width="75" Text="{Binding Task.VideoBitrate, UpdateSourceTrigger=PropertyChanged}" IsEnabled="{Binding IsConstantQuantity, Converter={StaticResource boolConverter}, ConverterParameter=true}"
+ ToolTip="{x:Static Properties:ResourcesTooltips.Video_AvgBitrate}" />
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="30,0,0,0" Visibility="{Binding DisplayNonQSVControls, Converter={StaticResource boolToVisConverter}}">
<CheckBox Content="{x:Static Properties:ResourcesUI.VideoView_2Pass}" IsEnabled="{Binding IsConstantQuantity, Converter={StaticResource boolConverter}, ConverterParameter=true}"
- IsChecked="{Binding TwoPass}" Margin="0,0,10,0" />
+ IsChecked="{Binding TwoPass}" Margin="0,0,10,0" ToolTip="{x:Static Properties:ResourcesTooltips.Video_TwoPass}" />
<CheckBox Content="{x:Static Properties:ResourcesUI.VideoView_TurboFirstPass}" IsEnabled="{Binding IsConstantQuantity, Converter={StaticResource boolConverter}, ConverterParameter=true}"
- IsChecked="{Binding TurboFirstPass}" Visibility="{Binding DisplayTurboFirstPass, Converter={StaticResource boolToVisConverter}}" />
+ IsChecked="{Binding TurboFirstPass}" Visibility="{Binding DisplayTurboFirstPass, Converter={StaticResource boolToVisConverter}}"
+ ToolTip="{x:Static Properties:ResourcesTooltips.Video_TurboFirstPass}" />
</StackPanel>
</StackPanel>
@@ -129,7 +134,8 @@
<TextBlock Text="{x:Static Properties:ResourcesUI.VideoView_OptimiseVideo}" Margin="0,0,0,0" Grid.Row="0" Grid.ColumnSpan="2" FontWeight="Bold" VerticalAlignment="Center" />
<CheckBox Content="{x:Static Properties:ResourcesUI.VideoView_UseAdvancedTab}" Grid.Row="1" IsChecked="{Binding UseAdvancedTab}" Margin="0,5,0,0"
- Visibility="{Binding ShowAdvancedTab, Converter={StaticResource boolToVisConverter}, ConverterParameter=false}" />
+ Visibility="{Binding ShowAdvancedTab, Converter={StaticResource boolToVisConverter}, ConverterParameter=false}"
+ ToolTip="{x:Static Properties:ResourcesTooltips.Video_AdvancedOptions}" />
<Grid Grid.Row="2" Margin="0,8,0,0" IsEnabled="{Binding UseAdvancedTab, Converter={StaticResource inverseConverter}}">
<Grid.RowDefinitions>
@@ -154,8 +160,8 @@
<TextBlock Text="{x:Static Properties:ResourcesUI.VideoView_EncoderPreset}" Grid.Row="1" Grid.Column="0" VerticalAlignment="Center" Visibility="{Binding DisplayOptimiseOptions, Converter={StaticResource boolToVisConverter}}" />
<StackPanel Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="3" Orientation="Horizontal" Visibility="{Binding DisplayOptimiseOptions, Converter={StaticResource boolToVisConverter}}">
<Slider Minimum="0" Maximum="{Binding VideoPresetMaxValue}" Width="150" Value="{Binding VideoPresetValue, Mode=Default, UpdateSourceTrigger=PropertyChanged}"
- IsSnapToTickEnabled="True" TickFrequency="1" TickPlacement="BottomRight" ToolTip="{x:Static Properties:Resources.Video_EncoderPreset}"
- Style="{StaticResource LongToolTipHolder}" />
+ IsSnapToTickEnabled="True" TickFrequency="1" TickPlacement="BottomRight" ToolTip="{x:Static Properties:ResourcesTooltips.Video_Presets}"
+ Style="{StaticResource LongToolTipHolder}" />
<TextBlock Text="{Binding VideoPreset.DisplayName}" Margin="5,0,0,0" />
</StackPanel>
@@ -163,22 +169,22 @@
Visibility="{Binding DisplayTuneControls, Converter={StaticResource boolToVisConverter}}"/>
<ComboBox Width="100" Grid.Row="2" Grid.Column="1" Margin="5,10,5,0" Height="22"
ItemsSource="{Binding VideoTunes}" DisplayMemberPath="DisplayName" SelectedItem="{Binding VideoTune}"
- ToolTip="{x:Static Properties:Resources.Video_EncoderTune}" Visibility="{Binding DisplayTuneControls, Converter={StaticResource boolToVisConverter}}"
+ ToolTip="{x:Static Properties:ResourcesTooltips.Video_EncoderTune}" Visibility="{Binding DisplayTuneControls, Converter={StaticResource boolToVisConverter}}"
Style="{StaticResource LongToolTipHolder}" />
<CheckBox IsChecked="{Binding FastDecode}" Content="{x:Static Properties:ResourcesUI.VideoView_FastDecode}" Grid.Row="2" Grid.Column="2" Margin="10,10,10,0" VerticalAlignment="Center"
- ToolTip="{x:Static Properties:Resources.Video_x264FastDecode}" Visibility="{Binding DisplayTuneControls, Converter={StaticResource boolToVisConverter}}"/>
+ ToolTip="{x:Static Properties:ResourcesTooltips.Video_FastDecode}" Visibility="{Binding DisplayTuneControls, Converter={StaticResource boolToVisConverter}}"/>
<!-- Row 2-->
<TextBlock Text="{x:Static Properties:ResourcesUI.VideoView_EncoderProfile}" Grid.Row="3" Grid.Column="0" Margin="0,10,0,0" VerticalAlignment="Center" Visibility="{Binding DisplayOptimiseOptions, Converter={StaticResource boolToVisConverter}}"/>
<ComboBox Width="100" Grid.Row="3" Grid.Column="1" Margin="5,10,5,0" Height="22" VerticalAlignment="Center" Visibility="{Binding DisplayOptimiseOptions, Converter={StaticResource boolToVisConverter}}"
ItemsSource="{Binding VideoProfiles}" DisplayMemberPath="DisplayName" SelectedItem="{Binding VideoProfile}"
- Style="{StaticResource LongToolTipHolder}" ToolTip="{x:Static Properties:Resources.Video_EncoderProfile}" />
+ Style="{StaticResource LongToolTipHolder}" ToolTip="{x:Static Properties:ResourcesTooltips.Video_Profile}" />
<TextBlock Text="{x:Static Properties:ResourcesUI.VideoView_EncoderLevel}" Grid.Row="3" Grid.Column="2" Margin="10,10,0,0" VerticalAlignment="Center" Visibility="{Binding DisplayLevelControl, Converter={StaticResource boolToVisConverter}}" />
<ComboBox Width="100" Grid.Row="3" Grid.Column="3" Margin="5,10,5,0" Height="22" VerticalAlignment="Center" Visibility="{Binding DisplayLevelControl, Converter={StaticResource boolToVisConverter}}"
ItemsSource="{Binding VideoLevels}" DisplayMemberPath="DisplayName" SelectedItem="{Binding VideoLevel}"
- Style="{StaticResource LongToolTipHolder}" ToolTip="{x:Static Properties:Resources.Video_EncoderLevel}"/>
+ Style="{StaticResource LongToolTipHolder}" ToolTip="{x:Static Properties:ResourcesTooltips.Video_Level}" />
<!-- Row 3 -->
<TextBlock Text="{x:Static Properties:ResourcesUI.VideoView_ExtraOptions}" Grid.Row="4" Grid.Column="0" Margin="0,5,0,0" VerticalAlignment="Center" HorizontalAlignment="Left" />