summaryrefslogtreecommitdiffstats
path: root/win/CS/HandBrakeWPF
diff options
context:
space:
mode:
Diffstat (limited to 'win/CS/HandBrakeWPF')
-rw-r--r--win/CS/HandBrakeWPF/Converters/Options/Mp4BehaviourConverter.cs24
-rw-r--r--win/CS/HandBrakeWPF/Converters/Options/ProcessPriorityConverter.cs24
-rw-r--r--win/CS/HandBrakeWPF/Converters/Options/UpdateCheckConverter.cs19
-rw-r--r--win/CS/HandBrakeWPF/Converters/ResourceConverterBase.cs89
-rw-r--r--win/CS/HandBrakeWPF/HandBrakeWPF.csproj9
-rw-r--r--win/CS/HandBrakeWPF/Helpers/AutoNameHelper.cs8
-rw-r--r--win/CS/HandBrakeWPF/Model/Audio/AudioBehaviourModes.cs8
-rw-r--r--win/CS/HandBrakeWPF/Model/Audio/AudioTrackDefaultsMode.cs6
-rw-r--r--win/CS/HandBrakeWPF/Model/Options/Mp4Behaviour.cs28
-rw-r--r--win/CS/HandBrakeWPF/Model/Options/ProcessPriority.cs33
-rw-r--r--win/CS/HandBrakeWPF/Model/Options/UpdateCheck.cs24
-rw-r--r--win/CS/HandBrakeWPF/Model/OptionsTab.cs16
-rw-r--r--win/CS/HandBrakeWPF/Model/Picture/PresetPictureSettingsMode.cs10
-rw-r--r--win/CS/HandBrakeWPF/Model/Subtitles/SubtitleBehaviourModes.cs8
-rw-r--r--win/CS/HandBrakeWPF/Model/Subtitles/SubtitleBurnInBehaviourModes.cs10
-rw-r--r--win/CS/HandBrakeWPF/Properties/Resources.Designer.cs299
-rw-r--r--win/CS/HandBrakeWPF/Properties/Resources.resx101
-rw-r--r--win/CS/HandBrakeWPF/Services/Encode/Model/Models/PointToPointMode.cs10
-rw-r--r--win/CS/HandBrakeWPF/Services/Scan/Model/Subtitle.cs3
-rw-r--r--win/CS/HandBrakeWPF/UserSettingConstants.cs2
-rw-r--r--win/CS/HandBrakeWPF/ViewModels/ChaptersViewModel.cs2
-rw-r--r--win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs13
-rw-r--r--win/CS/HandBrakeWPF/ViewModels/OptionsViewModel.cs122
-rw-r--r--win/CS/HandBrakeWPF/ViewModels/SubtitlesViewModel.cs2
-rw-r--r--win/CS/HandBrakeWPF/ViewModels/SummaryViewModel.cs9
-rw-r--r--win/CS/HandBrakeWPF/Views/OptionsView.xaml10
-rw-r--r--win/CS/HandBrakeWPF/Views/SummaryView.xaml2
-rw-r--r--win/CS/HandBrakeWPF/defaultsettings.xml6
28 files changed, 748 insertions, 149 deletions
diff --git a/win/CS/HandBrakeWPF/Converters/Options/Mp4BehaviourConverter.cs b/win/CS/HandBrakeWPF/Converters/Options/Mp4BehaviourConverter.cs
new file mode 100644
index 000000000..2ef6ad204
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Converters/Options/Mp4BehaviourConverter.cs
@@ -0,0 +1,24 @@
+// --------------------------------------------------------------------------------------------------------------------
+// <copyright file="Mp4BehaviourConverter.cs" company="HandBrake Project (http://handbrake.fr)">
+// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
+// </copyright>
+// <summary>
+// Process Priority Converter
+// </summary>
+// --------------------------------------------------------------------------------------------------------------------
+
+namespace HandBrakeWPF.Converters.Options
+{
+ using System;
+ using System.ComponentModel;
+ using System.Globalization;
+ using System.Linq;
+ using System.Windows.Data;
+
+ using HandBrakeWPF.Model.Options;
+ using HandBrakeWPF.Utilities;
+
+ public class Mp4BehaviourConverter : ResourceConverterBase<Mp4Behaviour>, IValueConverter
+ {
+ }
+}
diff --git a/win/CS/HandBrakeWPF/Converters/Options/ProcessPriorityConverter.cs b/win/CS/HandBrakeWPF/Converters/Options/ProcessPriorityConverter.cs
new file mode 100644
index 000000000..2ab2bac66
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Converters/Options/ProcessPriorityConverter.cs
@@ -0,0 +1,24 @@
+// --------------------------------------------------------------------------------------------------------------------
+// <copyright file="ProcessPriorityConverter.cs" company="HandBrake Project (http://handbrake.fr)">
+// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
+// </copyright>
+// <summary>
+// Process Priority Converter
+// </summary>
+// --------------------------------------------------------------------------------------------------------------------
+
+namespace HandBrakeWPF.Converters.Options
+{
+ using System;
+ using System.ComponentModel;
+ using System.Globalization;
+ using System.Linq;
+ using System.Windows.Data;
+
+ using HandBrakeWPF.Model.Options;
+ using HandBrakeWPF.Utilities;
+
+ public class ProcessPriorityConverter : ResourceConverterBase<ProcessPriority>, IValueConverter
+ {
+ }
+}
diff --git a/win/CS/HandBrakeWPF/Converters/Options/UpdateCheckConverter.cs b/win/CS/HandBrakeWPF/Converters/Options/UpdateCheckConverter.cs
new file mode 100644
index 000000000..3f4de9df7
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Converters/Options/UpdateCheckConverter.cs
@@ -0,0 +1,19 @@
+// --------------------------------------------------------------------------------------------------------------------
+// <copyright file="UpdateCheckConverter.cs" company="HandBrake Project (http://handbrake.fr)">
+// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
+// </copyright>
+// <summary>
+// Defines the UpdateCheckConverter type.
+// </summary>
+// --------------------------------------------------------------------------------------------------------------------
+
+namespace HandBrakeWPF.Converters.Options
+{
+ using System.Windows.Data;
+
+ using HandBrakeWPF.Model.Options;
+
+ public class UpdateCheckConverter : ResourceConverterBase<UpdateCheck>, IValueConverter
+ {
+ }
+}
diff --git a/win/CS/HandBrakeWPF/Converters/ResourceConverterBase.cs b/win/CS/HandBrakeWPF/Converters/ResourceConverterBase.cs
new file mode 100644
index 000000000..36a588f59
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Converters/ResourceConverterBase.cs
@@ -0,0 +1,89 @@
+// --------------------------------------------------------------------------------------------------------------------
+// <copyright file="ResourceConverterBase.cs" company="HandBrake Project (http://handbrake.fr)">
+// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
+// </copyright>
+// <summary>
+// Defines the ResourceConverterBase type.
+// </summary>
+// --------------------------------------------------------------------------------------------------------------------
+
+namespace HandBrakeWPF.Converters
+{
+ using System;
+ using System.Collections.Generic;
+ using System.ComponentModel;
+ using System.Globalization;
+ using System.Linq;
+ using System.Text;
+ using System.Threading.Tasks;
+
+ using HandBrakeWPF.Model.Options;
+ using HandBrakeWPF.Utilities;
+
+ public class ResourceConverterBase<T>
+ {
+ /// <summary>
+ /// The convert.
+ /// </summary>
+ /// <param name="value">
+ /// The value.
+ /// </param>
+ /// <param name="targetType">
+ /// The target type.
+ /// </param>
+ /// <param name="parameter">
+ /// The parameter.
+ /// </param>
+ /// <param name="culture">
+ /// The culture.
+ /// </param>
+ /// <returns>
+ /// The <see cref="object"/>.
+ /// </returns>
+ public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ if (value != null && value.GetType() == typeof(BindingList<T>))
+ {
+ return
+ new BindingList<string>(
+ EnumHelper<T>.GetEnumDisplayValues(typeof(T)).ToList());
+ }
+
+ if (value != null && value.GetType() == typeof(T))
+ {
+ return EnumHelper<T>.GetDisplay((T)value);
+ }
+
+ return null;
+ }
+
+ /// <summary>
+ /// The convert back.
+ /// </summary>
+ /// <param name="value">
+ /// The value.
+ /// </param>
+ /// <param name="targetType">
+ /// The target type.
+ /// </param>
+ /// <param name="parameter">
+ /// The parameter.
+ /// </param>
+ /// <param name="culture">
+ /// The culture.
+ /// </param>
+ /// <returns>
+ /// The <see cref="object"/>.
+ /// </returns>
+ public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ string name = value as string;
+ if (!string.IsNullOrEmpty(name))
+ {
+ return EnumHelper<T>.GetValue(name);
+ }
+
+ return null;
+ }
+ }
+}
diff --git a/win/CS/HandBrakeWPF/HandBrakeWPF.csproj b/win/CS/HandBrakeWPF/HandBrakeWPF.csproj
index fbb3669ca..de8fd7786 100644
--- a/win/CS/HandBrakeWPF/HandBrakeWPF.csproj
+++ b/win/CS/HandBrakeWPF/HandBrakeWPF.csproj
@@ -136,6 +136,11 @@
<Compile Include="Converters\LongToIntConverter.cs" />
<Compile Include="Converters\Options\FileSizeConverter.cs" />
<Compile Include="Converters\Options\LogLevelConverter.cs" />
+ <Compile Include="Converters\Options\Mp4BehaviourConverter.cs" />
+ <Compile Include="Converters\Options\UpdateCheckConverter.cs" />
+ <Compile Include="Converters\ResourceConverterBase.cs" />
+ <Compile Include="Model\Options\Mp4Behaviour.cs" />
+ <Compile Include="Converters\Options\ProcessPriorityConverter.cs" />
<Compile Include="Converters\OptionTabConverter.cs" />
<Compile Include="Converters\PresetsMenuConverter.cs" />
<Compile Include="Converters\Queue\InlineQueueConverter.cs" />
@@ -173,14 +178,16 @@
<Compile Include="Model\Filters\FilterTune.cs" />
<Compile Include="Model\Filters\FilterPreset.cs" />
<Compile Include="Model\InterfaceLanguage.cs" />
+ <Compile Include="Model\Options\ProcessPriority.cs" />
+ <Compile Include="Model\Options\UpdateCheck.cs" />
<Compile Include="Model\Options\WhenDone.cs" />
<Compile Include="Model\Picture\PresetPictureSettingsMode.cs" />
<Compile Include="Model\Subtitles\SubtitleBurnInBehaviourModes.cs" />
<Compile Include="Model\Subtitles\SubtitleBehaviourModes.cs" />
<Compile Include="Model\Subtitles\SubtitleBehaviours.cs" />
<Compile Include="Properties\Resources.Designer.cs">
- <AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
+ <AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="Properties\ResourcesTooltips.Designer.cs">
diff --git a/win/CS/HandBrakeWPF/Helpers/AutoNameHelper.cs b/win/CS/HandBrakeWPF/Helpers/AutoNameHelper.cs
index 9506fa0e9..ff76aee70 100644
--- a/win/CS/HandBrakeWPF/Helpers/AutoNameHelper.cs
+++ b/win/CS/HandBrakeWPF/Helpers/AutoNameHelper.cs
@@ -179,15 +179,15 @@ namespace HandBrakeWPF.Helpers
*/
if (task.OutputFormat == OutputFormat.Mp4)
{
- switch (userSettingService.GetUserSetting<int>(UserSettingConstants.UseM4v))
+ switch ((Mp4Behaviour)userSettingService.GetUserSetting<int>(UserSettingConstants.UseM4v))
{
- case 0: // Automatic
+ case Mp4Behaviour.Auto: // Automatic
destinationFilename += task.IncludeChapterMarkers || MP4Helper.RequiresM4v(task) ? ".m4v" : ".mp4";
break;
- case 1: // Always MP4
+ case Mp4Behaviour.MP4: // Always MP4
destinationFilename += ".mp4";
break;
- case 2: // Always M4V
+ case Mp4Behaviour.M4V: // Always M4V
destinationFilename += ".m4v";
break;
}
diff --git a/win/CS/HandBrakeWPF/Model/Audio/AudioBehaviourModes.cs b/win/CS/HandBrakeWPF/Model/Audio/AudioBehaviourModes.cs
index 7237c7c64..b1758c1d9 100644
--- a/win/CS/HandBrakeWPF/Model/Audio/AudioBehaviourModes.cs
+++ b/win/CS/HandBrakeWPF/Model/Audio/AudioBehaviourModes.cs
@@ -11,20 +11,22 @@ namespace HandBrakeWPF.Model.Audio
{
using HandBrake.Interop.Attributes;
+ using HandBrakeWPF.Properties;
+
/// <summary>
/// The audio behaviours.
/// </summary>
public enum AudioBehaviourModes
{
- [DisplayName("No Audio")]
+ [DisplayName(typeof(Resources), "AudioBehaviourModes_None")]
[ShortName("none")]
None = 0,
- [DisplayName("First Matching Selected Language")]
+ [DisplayName(typeof(Resources), "AudioBehaviourModes_FirstMatch")]
[ShortName("first")]
FirstMatch,
- [DisplayName("All Matching Selected Languages")]
+ [DisplayName(typeof(Resources), "AudioBehaviourModes_AllMatching")]
[ShortName("all")]
AllMatching,
}
diff --git a/win/CS/HandBrakeWPF/Model/Audio/AudioTrackDefaultsMode.cs b/win/CS/HandBrakeWPF/Model/Audio/AudioTrackDefaultsMode.cs
index b36a31ec5..43f91da16 100644
--- a/win/CS/HandBrakeWPF/Model/Audio/AudioTrackDefaultsMode.cs
+++ b/win/CS/HandBrakeWPF/Model/Audio/AudioTrackDefaultsMode.cs
@@ -11,15 +11,17 @@ namespace HandBrakeWPF.Model.Audio
{
using HandBrake.Interop.Attributes;
+ using HandBrakeWPF.Properties;
+
/// <summary>
/// The audio behaviours.
/// </summary>
public enum AudioTrackDefaultsMode
{
- [DisplayName("Use First Track as template")]
+ [DisplayName(typeof(Resources), "AudioBehaviourModes_FirstTrack")]
FirstTrack = 0,
- [DisplayName("Use All Tracks as templates")]
+ [DisplayName(typeof(Resources), "AudioBehaviourModes_AllTracks")]
AllTracks,
}
}
diff --git a/win/CS/HandBrakeWPF/Model/Options/Mp4Behaviour.cs b/win/CS/HandBrakeWPF/Model/Options/Mp4Behaviour.cs
new file mode 100644
index 000000000..9844e25de
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Model/Options/Mp4Behaviour.cs
@@ -0,0 +1,28 @@
+// --------------------------------------------------------------------------------------------------------------------
+// <copyright file="Mp4Behaviour.cs" company="HandBrake Project (http://handbrake.fr)">
+// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
+// </copyright>
+// <summary>
+// Defines the Mp4Behaviour type.
+// </summary>
+// --------------------------------------------------------------------------------------------------------------------
+
+namespace HandBrakeWPF.Model.Options
+{
+ using HandBrake.Interop.Attributes;
+
+ using HandBrakeWPF.Properties;
+
+ public enum Mp4Behaviour
+ {
+ [DisplayName(typeof(Resources), "Mp4Behaviour_Auto")]
+ Auto = 0,
+
+ [DisplayName(typeof(Resources), "Mp4Behaviour_UseMp4")]
+ MP4,
+
+ [DisplayName(typeof(Resources), "Mp4Behaviour_UseM4v")]
+ M4V,
+ }
+}
+
diff --git a/win/CS/HandBrakeWPF/Model/Options/ProcessPriority.cs b/win/CS/HandBrakeWPF/Model/Options/ProcessPriority.cs
new file mode 100644
index 000000000..f39843d26
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Model/Options/ProcessPriority.cs
@@ -0,0 +1,33 @@
+// --------------------------------------------------------------------------------------------------------------------
+// <copyright file="ProcessPriority.cs" company="HandBrake Project (http://handbrake.fr)">
+// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
+// </copyright>
+// <summary>
+// Defines the ProcessPriority type.
+// </summary>
+// --------------------------------------------------------------------------------------------------------------------
+
+namespace HandBrakeWPF.Model.Options
+{
+ using HandBrake.Interop.Attributes;
+
+ using HandBrakeWPF.Properties;
+
+ public enum ProcessPriority
+ {
+ [DisplayName(typeof(Resources), "ProcessPriority_High")]
+ High = 0,
+
+ [DisplayName(typeof(Resources), "ProcessPriority_AboveNormal")]
+ AboveNormal,
+
+ [DisplayName(typeof(Resources), "ProcessPriority_Normal")]
+ Normal,
+
+ [DisplayName(typeof(Resources), "ProcessPriority_BelowNormal")]
+ BelowNormal,
+
+ [DisplayName(typeof(Resources), "ProcessPriority_Low")]
+ Low
+ }
+} \ No newline at end of file
diff --git a/win/CS/HandBrakeWPF/Model/Options/UpdateCheck.cs b/win/CS/HandBrakeWPF/Model/Options/UpdateCheck.cs
new file mode 100644
index 000000000..f762f3e6f
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Model/Options/UpdateCheck.cs
@@ -0,0 +1,24 @@
+// --------------------------------------------------------------------------------------------------------------------
+// <copyright file="UpdateCheck.cs" company="HandBrake Project (http://handbrake.fr)">
+// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
+// </copyright>
+// <summary>
+// Defines the UpdateCheck type.
+// </summary>
+// --------------------------------------------------------------------------------------------------------------------
+
+namespace HandBrakeWPF.Model.Options
+{
+ using HandBrake.Interop.Attributes;
+
+ using HandBrakeWPF.Properties;
+
+ public enum UpdateCheck
+ {
+ [DisplayName(typeof(Resources), "UpdateCheck_Monthly")]
+ Monthly = 0,
+
+ [DisplayName(typeof(Resources), "UpdateCheck_Weekly")]
+ Weekly,
+ }
+}
diff --git a/win/CS/HandBrakeWPF/Model/OptionsTab.cs b/win/CS/HandBrakeWPF/Model/OptionsTab.cs
index 1ca93ca10..bcdcb4e99 100644
--- a/win/CS/HandBrakeWPF/Model/OptionsTab.cs
+++ b/win/CS/HandBrakeWPF/Model/OptionsTab.cs
@@ -11,30 +11,32 @@ namespace HandBrakeWPF.Model
{
using HandBrake.Interop.Attributes;
+ using HandBrakeWPF.Properties;
+
/// <summary>
/// A enum representing each tab on the options screen.
/// </summary>
public enum OptionsTab
{
- [DisplayName("General")]
+ [DisplayName(typeof(Resources), "Options_General")]
General = 0,
- [DisplayName("Output Files")]
+ [DisplayName(typeof(Resources), "Options_OutputFiles")]
OutputFiles,
- [DisplayName("When Done")]
+ [DisplayName(typeof(Resources), "Options_WhenDone")]
WhenDone,
- [DisplayName("Video")]
+ [DisplayName(typeof(Resources), "Options_Video")]
Video,
- [DisplayName("Advanced")]
+ [DisplayName(typeof(Resources), "Options_Advanced")]
Advanced,
- [DisplayName("Updates")]
+ [DisplayName(typeof(Resources), "Options_Updates")]
Updates,
- [DisplayName("About HandBrake")]
+ [DisplayName(typeof(Resources), "Options_About")]
About,
}
}
diff --git a/win/CS/HandBrakeWPF/Model/Picture/PresetPictureSettingsMode.cs b/win/CS/HandBrakeWPF/Model/Picture/PresetPictureSettingsMode.cs
index 7db70c79c..517da08ee 100644
--- a/win/CS/HandBrakeWPF/Model/Picture/PresetPictureSettingsMode.cs
+++ b/win/CS/HandBrakeWPF/Model/Picture/PresetPictureSettingsMode.cs
@@ -11,16 +11,20 @@ namespace HandBrakeWPF.Model.Picture
{
using HandBrake.Interop.Attributes;
+ using HandBrakeWPF.Properties;
+
/// <summary>
/// Picture Settings Mode when adding presets
/// </summary>
public enum PresetPictureSettingsMode
{
- [DisplayName("None")]
+ [DisplayName(typeof(Resources), "PresetPictureSettingsMode_None")]
None = 0,
- [DisplayName("Custom")]
+
+ [DisplayName(typeof(Resources), "PresetPictureSettingsMode_Custom")]
Custom = 1,
- [DisplayName("Always use Source Resolution")]
+
+ [DisplayName(typeof(Resources), "PresetPictureSettingsMode_SourceMaximum")]
SourceMaximum = 2,
}
} \ No newline at end of file
diff --git a/win/CS/HandBrakeWPF/Model/Subtitles/SubtitleBehaviourModes.cs b/win/CS/HandBrakeWPF/Model/Subtitles/SubtitleBehaviourModes.cs
index efdffc2aa..bbb98ee9c 100644
--- a/win/CS/HandBrakeWPF/Model/Subtitles/SubtitleBehaviourModes.cs
+++ b/win/CS/HandBrakeWPF/Model/Subtitles/SubtitleBehaviourModes.cs
@@ -11,20 +11,22 @@ namespace HandBrakeWPF.Model.Subtitles
{
using HandBrake.Interop.Attributes;
+ using HandBrakeWPF.Properties;
+
/// <summary>
/// The subtitle behaviours modes.
/// </summary>
public enum SubtitleBehaviourModes
{
- [DisplayName("None")]
+ [DisplayName(typeof(Resources), "SubtitleBehaviourModes_None")]
[ShortName("none")]
None = 0,
- [DisplayName("First Matching Selected Language")]
+ [DisplayName(typeof(Resources), "SubtitleBehaviourModes_FirstMatching")]
[ShortName("first")]
FirstMatch,
- [DisplayName("All Matching Selected Languages")]
+ [DisplayName(typeof(Resources), "SubtitleBehaviourModes_AllMatching")]
[ShortName("all")]
AllMatching,
}
diff --git a/win/CS/HandBrakeWPF/Model/Subtitles/SubtitleBurnInBehaviourModes.cs b/win/CS/HandBrakeWPF/Model/Subtitles/SubtitleBurnInBehaviourModes.cs
index 37088a4cb..ee846a248 100644
--- a/win/CS/HandBrakeWPF/Model/Subtitles/SubtitleBurnInBehaviourModes.cs
+++ b/win/CS/HandBrakeWPF/Model/Subtitles/SubtitleBurnInBehaviourModes.cs
@@ -11,24 +11,26 @@ namespace HandBrakeWPF.Model.Subtitles
{
using HandBrake.Interop.Attributes;
+ using HandBrakeWPF.Properties;
+
/// <summary>
/// The subtitle behaviours modes.
/// </summary>
public enum SubtitleBurnInBehaviourModes
{
- [DisplayName("None")]
+ [DisplayName(typeof(Resources), "SubtitleBurnInBehaviourModes_None")]
[ShortName("none")]
None = 0,
- [DisplayName("Foreign Audio Track")]
+ [DisplayName(typeof(Resources), "SubtitleBurnInBehaviourModes_ForeignAudioTrack")]
[ShortName("foreign")]
ForeignAudio,
- [DisplayName("First Track")]
+ [DisplayName(typeof(Resources), "SubtitleBurnInBehaviourModes_FirstTrack")]
[ShortName("first")]
FirstTrack,
- [DisplayName("Foreign Audio Preferred, else First")]
+ [DisplayName(typeof(Resources), "SubtitleBurnInBehaviourModes_ForeignAudioPreferredElseFirst")]
[ShortName("foreign_first")]
ForeignAudioPreferred,
}
diff --git a/win/CS/HandBrakeWPF/Properties/Resources.Designer.cs b/win/CS/HandBrakeWPF/Properties/Resources.Designer.cs
index 8e4931c68..e6b1887b1 100644
--- a/win/CS/HandBrakeWPF/Properties/Resources.Designer.cs
+++ b/win/CS/HandBrakeWPF/Properties/Resources.Designer.cs
@@ -221,6 +221,51 @@ namespace HandBrakeWPF.Properties {
}
/// <summary>
+ /// Looks up a localized string similar to All Matching Selected Languages.
+ /// </summary>
+ public static string AudioBehaviourModes_AllMatching {
+ get {
+ return ResourceManager.GetString("AudioBehaviourModes_AllMatching", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Use All Tracks as templates.
+ /// </summary>
+ public static string AudioBehaviourModes_AllTracks {
+ get {
+ return ResourceManager.GetString("AudioBehaviourModes_AllTracks", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to First Matching Selected Language.
+ /// </summary>
+ public static string AudioBehaviourModes_FirstMatch {
+ get {
+ return ResourceManager.GetString("AudioBehaviourModes_FirstMatch", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Use First Track as template.
+ /// </summary>
+ public static string AudioBehaviourModes_FirstTrack {
+ get {
+ return ResourceManager.GetString("AudioBehaviourModes_FirstTrack", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to No Audio.
+ /// </summary>
+ public static string AudioBehaviourModes_None {
+ get {
+ return ResourceManager.GetString("AudioBehaviourModes_None", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to Add Track.
/// </summary>
public static string AudioDefaultsView_AddTrack {
@@ -691,6 +736,15 @@ namespace HandBrakeWPF.Properties {
}
/// <summary>
+ /// Looks up a localized string similar to Chapter {0}.
+ /// </summary>
+ public static string ChapterViewModel_Chapter {
+ get {
+ return ResourceManager.GetString("ChapterViewModel_Chapter", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to The system clipboard is currently unavailable..
/// </summary>
public static string Clipboard_Unavailable {
@@ -2594,6 +2648,33 @@ namespace HandBrakeWPF.Properties {
}
/// <summary>
+ /// Looks up a localized string similar to Automatic.
+ /// </summary>
+ public static string Mp4Behaviour_Auto {
+ get {
+ return ResourceManager.GetString("Mp4Behaviour_Auto", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Always use M4V.
+ /// </summary>
+ public static string Mp4Behaviour_UseM4v {
+ get {
+ return ResourceManager.GetString("Mp4Behaviour_UseM4v", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Always use MP4.
+ /// </summary>
+ public static string Mp4Behaviour_UseMp4 {
+ get {
+ return ResourceManager.GetString("Mp4Behaviour_UseMp4", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to No Additional Information.
/// </summary>
public static string NoAdditionalInformation {
@@ -2950,6 +3031,15 @@ namespace HandBrakeWPF.Properties {
}
/// <summary>
+ /// Looks up a localized string similar to Output Files.
+ /// </summary>
+ public static string Options_OutputFiles {
+ get {
+ return ResourceManager.GetString("Options_OutputFiles", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to Path: .
/// </summary>
public static string Options_Path {
@@ -3238,7 +3328,7 @@ namespace HandBrakeWPF.Properties {
}
/// <summary>
- /// Looks up a localized string similar to &amp;#60; Back.
+ /// Looks up a localized string similar to &lt; Back.
/// </summary>
public static string OptionsView_BackButton {
get {
@@ -3755,6 +3845,42 @@ namespace HandBrakeWPF.Properties {
}
/// <summary>
+ /// Looks up a localized string similar to Chapters.
+ /// </summary>
+ public static string PointToPointMode_Chapters {
+ get {
+ return ResourceManager.GetString("PointToPointMode_Chapters", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Frames.
+ /// </summary>
+ public static string PointToPointMode_Frames {
+ get {
+ return ResourceManager.GetString("PointToPointMode_Frames", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Preview.
+ /// </summary>
+ public static string PointToPointMode_Preview {
+ get {
+ return ResourceManager.GetString("PointToPointMode_Preview", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Seconds.
+ /// </summary>
+ public static string PointToPointMode_Seconds {
+ get {
+ return ResourceManager.GetString("PointToPointMode_Seconds", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to Portable Mode: Unable to read portable.ini. There may be an error in this file. Please retry using portable.ini.template as a guide..
/// </summary>
public static string Portable_IniFileError {
@@ -3870,6 +3996,33 @@ namespace HandBrakeWPF.Properties {
}
/// <summary>
+ /// Looks up a localized string similar to Custom.
+ /// </summary>
+ public static string PresetPictureSettingsMode_Custom {
+ get {
+ return ResourceManager.GetString("PresetPictureSettingsMode_Custom", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to None.
+ /// </summary>
+ public static string PresetPictureSettingsMode_None {
+ get {
+ return ResourceManager.GetString("PresetPictureSettingsMode_None", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Always use Source Resolution.
+ /// </summary>
+ public static string PresetPictureSettingsMode_SourceMaximum {
+ get {
+ return ResourceManager.GetString("PresetPictureSettingsMode_SourceMaximum", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to HandBrake is unable to upgrade your presets file to a new version format.
///Your preset file will be archived and new one created. You will need to re-create your own presets..
/// </summary>
@@ -3956,6 +4109,51 @@ namespace HandBrakeWPF.Properties {
}
/// <summary>
+ /// Looks up a localized string similar to Above Normal.
+ /// </summary>
+ public static string ProcessPriority_AboveNormal {
+ get {
+ return ResourceManager.GetString("ProcessPriority_AboveNormal", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Below Normal.
+ /// </summary>
+ public static string ProcessPriority_BelowNormal {
+ get {
+ return ResourceManager.GetString("ProcessPriority_BelowNormal", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to High.
+ /// </summary>
+ public static string ProcessPriority_High {
+ get {
+ return ResourceManager.GetString("ProcessPriority_High", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Low.
+ /// </summary>
+ public static string ProcessPriority_Low {
+ get {
+ return ResourceManager.GetString("ProcessPriority_Low", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Normal.
+ /// </summary>
+ public static string ProcessPriority_Normal {
+ get {
+ return ResourceManager.GetString("ProcessPriority_Normal", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to Question.
/// </summary>
public static string Question {
@@ -5003,6 +5201,78 @@ namespace HandBrakeWPF.Properties {
}
/// <summary>
+ /// Looks up a localized string similar to Foreign Audio Scan.
+ /// </summary>
+ public static string Subtitle_ForeignAudioScan {
+ get {
+ return ResourceManager.GetString("Subtitle_ForeignAudioScan", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to All Matching Selected Languages.
+ /// </summary>
+ public static string SubtitleBehaviourModes_AllMatching {
+ get {
+ return ResourceManager.GetString("SubtitleBehaviourModes_AllMatching", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to First Matching Selected Language.
+ /// </summary>
+ public static string SubtitleBehaviourModes_FirstMatching {
+ get {
+ return ResourceManager.GetString("SubtitleBehaviourModes_FirstMatching", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to None.
+ /// </summary>
+ public static string SubtitleBehaviourModes_None {
+ get {
+ return ResourceManager.GetString("SubtitleBehaviourModes_None", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to First Track.
+ /// </summary>
+ public static string SubtitleBurnInBehaviourModes_FirstTrack {
+ get {
+ return ResourceManager.GetString("SubtitleBurnInBehaviourModes_FirstTrack", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Foreign Audio Preferred, else First.
+ /// </summary>
+ public static string SubtitleBurnInBehaviourModes_ForeignAudioPreferredElseFirst {
+ get {
+ return ResourceManager.GetString("SubtitleBurnInBehaviourModes_ForeignAudioPreferredElseFirst", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Foreign Audio Track.
+ /// </summary>
+ public static string SubtitleBurnInBehaviourModes_ForeignAudioTrack {
+ get {
+ return ResourceManager.GetString("SubtitleBurnInBehaviourModes_ForeignAudioTrack", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to None.
+ /// </summary>
+ public static string SubtitleBurnInBehaviourModes_None {
+ get {
+ return ResourceManager.GetString("SubtitleBurnInBehaviourModes_None", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to None - Only tracks where the container does not support the format will be burned in.
///Foreign Audio Track - The Foreign Audio track will be burned in if available.
///First Track - The first track will be burned in.
@@ -5172,6 +5442,15 @@ namespace HandBrakeWPF.Properties {
}
/// <summary>
+ /// Looks up a localized string similar to Foreign Audio Search.
+ /// </summary>
+ public static string SubtitleViewModel_ForeignAudioSearch {
+ get {
+ return ResourceManager.GetString("SubtitleViewModel_ForeignAudioSearch", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to Additional Audio Tracks.
/// </summary>
public static string SummaryView_AdditionalAudioTracks {
@@ -5380,6 +5659,24 @@ namespace HandBrakeWPF.Properties {
}
/// <summary>
+ /// Looks up a localized string similar to Monthly.
+ /// </summary>
+ public static string UpdateCheck_Monthly {
+ get {
+ return ResourceManager.GetString("UpdateCheck_Monthly", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Weekly.
+ /// </summary>
+ public static string UpdateCheck_Weekly {
+ get {
+ return ResourceManager.GetString("UpdateCheck_Weekly", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to Updated.
/// </summary>
public static string Updated {
diff --git a/win/CS/HandBrakeWPF/Properties/Resources.resx b/win/CS/HandBrakeWPF/Properties/Resources.resx
index f5d81335b..576f10799 100644
--- a/win/CS/HandBrakeWPF/Properties/Resources.resx
+++ b/win/CS/HandBrakeWPF/Properties/Resources.resx
@@ -2070,9 +2070,108 @@ Where supported, any user presets will have been imported.</value>
<value>Click 'Check for Updates' to check for new versions</value>
</data>
<data name="OptionsView_BackButton" xml:space="preserve">
- <value>&amp;#60; Back</value>
+ <value>&lt; Back</value>
</data>
<data name="QueueView_CurrentlyPaused" xml:space="preserve">
<value>Currently Paused</value>
</data>
+ <data name="Options_OutputFiles" xml:space="preserve">
+ <value>Output Files</value>
+ </data>
+ <data name="PointToPointMode_Chapters" xml:space="preserve">
+ <value>Chapters</value>
+ </data>
+ <data name="PointToPointMode_Frames" xml:space="preserve">
+ <value>Frames</value>
+ </data>
+ <data name="PointToPointMode_Preview" xml:space="preserve">
+ <value>Preview</value>
+ </data>
+ <data name="PointToPointMode_Seconds" xml:space="preserve">
+ <value>Seconds</value>
+ </data>
+ <data name="SubtitleBehaviourModes_AllMatching" xml:space="preserve">
+ <value>All Matching Selected Languages</value>
+ </data>
+ <data name="SubtitleBehaviourModes_FirstMatching" xml:space="preserve">
+ <value>First Matching Selected Language</value>
+ </data>
+ <data name="SubtitleBehaviourModes_None" xml:space="preserve">
+ <value>None</value>
+ </data>
+ <data name="SubtitleBurnInBehaviourModes_FirstTrack" xml:space="preserve">
+ <value>First Track</value>
+ </data>
+ <data name="SubtitleBurnInBehaviourModes_ForeignAudioPreferredElseFirst" xml:space="preserve">
+ <value>Foreign Audio Preferred, else First</value>
+ </data>
+ <data name="SubtitleBurnInBehaviourModes_ForeignAudioTrack" xml:space="preserve">
+ <value>Foreign Audio Track</value>
+ </data>
+ <data name="SubtitleBurnInBehaviourModes_None" xml:space="preserve">
+ <value>None</value>
+ </data>
+ <data name="SubtitleViewModel_ForeignAudioSearch" xml:space="preserve">
+ <value>Foreign Audio Search</value>
+ </data>
+ <data name="Subtitle_ForeignAudioScan" xml:space="preserve">
+ <value>Foreign Audio Scan</value>
+ </data>
+ <data name="AudioBehaviourModes_AllMatching" xml:space="preserve">
+ <value>All Matching Selected Languages</value>
+ </data>
+ <data name="AudioBehaviourModes_AllTracks" xml:space="preserve">
+ <value>Use All Tracks as templates</value>
+ </data>
+ <data name="AudioBehaviourModes_FirstMatch" xml:space="preserve">
+ <value>First Matching Selected Language</value>
+ </data>
+ <data name="AudioBehaviourModes_FirstTrack" xml:space="preserve">
+ <value>Use First Track as template</value>
+ </data>
+ <data name="AudioBehaviourModes_None" xml:space="preserve">
+ <value>No Audio</value>
+ </data>
+ <data name="ChapterViewModel_Chapter" xml:space="preserve">
+ <value>Chapter {0}</value>
+ </data>
+ <data name="Mp4Behaviour_Auto" xml:space="preserve">
+ <value>Automatic</value>
+ </data>
+ <data name="Mp4Behaviour_UseM4v" xml:space="preserve">
+ <value>Always use M4V</value>
+ </data>
+ <data name="Mp4Behaviour_UseMp4" xml:space="preserve">
+ <value>Always use MP4</value>
+ </data>
+ <data name="PresetPictureSettingsMode_Custom" xml:space="preserve">
+ <value>Custom</value>
+ </data>
+ <data name="PresetPictureSettingsMode_None" xml:space="preserve">
+ <value>None</value>
+ </data>
+ <data name="PresetPictureSettingsMode_SourceMaximum" xml:space="preserve">
+ <value>Always use Source Resolution</value>
+ </data>
+ <data name="ProcessPriority_AboveNormal" xml:space="preserve">
+ <value>Above Normal</value>
+ </data>
+ <data name="ProcessPriority_BelowNormal" xml:space="preserve">
+ <value>Below Normal</value>
+ </data>
+ <data name="ProcessPriority_High" xml:space="preserve">
+ <value>High</value>
+ </data>
+ <data name="ProcessPriority_Low" xml:space="preserve">
+ <value>Low</value>
+ </data>
+ <data name="ProcessPriority_Normal" xml:space="preserve">
+ <value>Normal</value>
+ </data>
+ <data name="UpdateCheck_Monthly" xml:space="preserve">
+ <value>Monthly</value>
+ </data>
+ <data name="UpdateCheck_Weekly" xml:space="preserve">
+ <value>Weekly</value>
+ </data>
</root> \ No newline at end of file
diff --git a/win/CS/HandBrakeWPF/Services/Encode/Model/Models/PointToPointMode.cs b/win/CS/HandBrakeWPF/Services/Encode/Model/Models/PointToPointMode.cs
index c68f49474..b928abfe5 100644
--- a/win/CS/HandBrakeWPF/Services/Encode/Model/Models/PointToPointMode.cs
+++ b/win/CS/HandBrakeWPF/Services/Encode/Model/Models/PointToPointMode.cs
@@ -11,24 +11,26 @@ namespace HandBrakeWPF.Services.Encode.Model.Models
{
using HandBrake.Interop.Attributes;
+ using HandBrakeWPF.Properties;
+
/// <summary>
/// Point to Point Mode
/// </summary>
public enum PointToPointMode
{
- [DisplayName("Chapters")]
+ [DisplayName(typeof(Resources), "PointToPointMode_Chapters")]
[ShortName("chapter")]
Chapters = 0,
- [DisplayName("Seconds")]
+ [DisplayName(typeof(Resources), "PointToPointMode_Seconds")]
[ShortName("time")]
Seconds,
- [DisplayName("Frames")]
+ [DisplayName(typeof(Resources), "PointToPointMode_Frames")]
[ShortName("frame")]
Frames,
- [DisplayName("Preview")]
+ [DisplayName(typeof(Resources), "PointToPointMode_Preview")]
[ShortName("preview")]
Preview,
}
diff --git a/win/CS/HandBrakeWPF/Services/Scan/Model/Subtitle.cs b/win/CS/HandBrakeWPF/Services/Scan/Model/Subtitle.cs
index 1fade0311..ff3b946a9 100644
--- a/win/CS/HandBrakeWPF/Services/Scan/Model/Subtitle.cs
+++ b/win/CS/HandBrakeWPF/Services/Scan/Model/Subtitle.cs
@@ -14,6 +14,7 @@ namespace HandBrakeWPF.Services.Scan.Model
using HandBrake.Interop.Utilities;
+ using HandBrakeWPF.Properties;
using HandBrakeWPF.Services.Encode.Model.Models;
using HandBrakeWPF.Utilities;
@@ -122,7 +123,7 @@ namespace HandBrakeWPF.Services.Scan.Model
/// <returns>A string formatted as: {track #} {language}</returns>
public override string ToString()
{
- return this.SubtitleType == SubtitleType.ForeignAudioSearch ? "Foreign Audio Scan" : string.Format("{0} {1}", this.TrackNumber, this.Language);
+ return this.SubtitleType == SubtitleType.ForeignAudioSearch ? Resources.Subtitle_ForeignAudioScan : string.Format("{0} {1}", this.TrackNumber, this.Language);
}
/// <summary>
diff --git a/win/CS/HandBrakeWPF/UserSettingConstants.cs b/win/CS/HandBrakeWPF/UserSettingConstants.cs
index 92832a124..9c3abc470 100644
--- a/win/CS/HandBrakeWPF/UserSettingConstants.cs
+++ b/win/CS/HandBrakeWPF/UserSettingConstants.cs
@@ -48,7 +48,7 @@ namespace HandBrakeWPF
public const string PreviewScanCount = "previewScanCount";
public const string Verbosity = "Verbosity";
public const string MinScanDuration = "MinTitleScanDuration";
- public const string ProcessPriority = "ProcessPriority";
+ public const string ProcessPriorityInt = "ProcessPriorityInt";
public const string SaveLogToCopyDirectory = "SaveLogToCopyDirectory";
public const string SaveLogWithVideo = "SaveLogWithVideo";
public const string SaveLogCopyDirectory = "SaveLogCopyDirectory";
diff --git a/win/CS/HandBrakeWPF/ViewModels/ChaptersViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/ChaptersViewModel.cs
index 30efc9200..b47b9dcee 100644
--- a/win/CS/HandBrakeWPF/ViewModels/ChaptersViewModel.cs
+++ b/win/CS/HandBrakeWPF/ViewModels/ChaptersViewModel.cs
@@ -348,7 +348,7 @@ namespace HandBrakeWPF.ViewModels
foreach (Chapter chapter in this.SourceChapterList)
{
- string chapterName = string.IsNullOrEmpty(chapter.ChapterName) ? string.Format("Chapter {0}", counter) : chapter.ChapterName;
+ string chapterName = string.IsNullOrEmpty(chapter.ChapterName) ? string.Format(Resources.ChapterViewModel_Chapter, counter) : chapter.ChapterName;
var marker = new ChapterMarker(chapter.ChapterNumber, chapterName, chapter.Duration);
this.Chapters.Add(marker);
diff --git a/win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs
index 6d1ce70ce..92c9c53e5 100644
--- a/win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs
+++ b/win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs
@@ -173,21 +173,18 @@ namespace HandBrakeWPF.ViewModels
this.Drives = new BindingList<SourceMenuItem>();
// Set Process Priority
- switch (this.userSettingService.GetUserSetting<string>(UserSettingConstants.ProcessPriority))
+ switch ((ProcessPriority)this.userSettingService.GetUserSetting<int>(UserSettingConstants.ProcessPriorityInt))
{
- case "Realtime":
- Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.RealTime;
- break;
- case "High":
+ case ProcessPriority.High:
Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.High;
break;
- case "Above Normal":
+ case ProcessPriority.AboveNormal:
Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.AboveNormal;
break;
- case "Normal":
+ case ProcessPriority.Normal:
Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.Normal;
break;
- case "Low":
+ case ProcessPriority.Low:
Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.Idle;
break;
default:
diff --git a/win/CS/HandBrakeWPF/ViewModels/OptionsViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/OptionsViewModel.cs
index c3d407f92..bc8c241bd 100644
--- a/win/CS/HandBrakeWPF/ViewModels/OptionsViewModel.cs
+++ b/win/CS/HandBrakeWPF/ViewModels/OptionsViewModel.cs
@@ -55,8 +55,7 @@ namespace HandBrakeWPF.ViewModels
private string autonameFormat;
private bool changeToTitleCase;
private bool checkForUpdates;
- private BindingList<string> checkForUpdatesFrequencies = new BindingList<string>();
- private int checkForUpdatesFrequency;
+ private UpdateCheck checkForUpdatesFrequency;
private bool clearOldOlgs;
private BindingList<string> constantQualityGranularity = new BindingList<string>();
private bool copyLogToEncodeDirectory;
@@ -66,22 +65,19 @@ namespace HandBrakeWPF.ViewModels
private BindingList<int> logVerbosityOptions = new BindingList<int>();
private long minLength;
private bool minimiseToTray;
- private BindingList<string> mp4ExtensionOptions = new BindingList<string>();
private bool preventSleep;
private BindingList<int> previewPicturesToScan = new BindingList<int>();
- private BindingList<string> priorityLevelOptions = new BindingList<string>();
private bool removeUnderscores;
private string selectedGranulairty;
- private int selectedMp4Extension;
+ private Mp4Behaviour selectedMp4Extension;
private int selectedPreviewCount;
- private string selectedPriority;
+ private ProcessPriority selectedPriority;
private int selectedVerbosity;
private bool sendFileAfterEncode;
private string sendFileTo;
private string sendFileToPath;
private string vlcPath;
private WhenDone whenDone;
- private BindingList<WhenDone> whenDoneOptions = new BindingList<WhenDone>();
private bool clearQueueOnEncodeCompleted;
private OptionsTab selectedTab;
private string updateMessage;
@@ -250,24 +246,18 @@ namespace HandBrakeWPF.ViewModels
/// <summary>
/// Gets or sets CheckForUpdatesFrequencies.
/// </summary>
- public BindingList<string> CheckForUpdatesFrequencies
+ public BindingList<UpdateCheck> CheckForUpdatesFrequencies
{
get
{
- return this.checkForUpdatesFrequencies;
- }
-
- set
- {
- this.checkForUpdatesFrequencies = value;
- this.NotifyOfPropertyChange("CheckForUpdatesFrequencies");
+ return new BindingList<UpdateCheck>(EnumHelper<UpdateCheck>.GetEnumList().ToList());
}
}
/// <summary>
/// Gets or sets a value indicating whether CheckForUpdatesFrequency.
/// </summary>
- public int CheckForUpdatesFrequency
+ public UpdateCheck CheckForUpdatesFrequency
{
get
{
@@ -277,7 +267,7 @@ namespace HandBrakeWPF.ViewModels
set
{
this.checkForUpdatesFrequency = value;
- this.NotifyOfPropertyChange("CheckForUpdatesFrequency");
+ this.NotifyOfPropertyChange(() => this.CheckForUpdatesFrequency);
}
}
@@ -585,43 +575,34 @@ namespace HandBrakeWPF.ViewModels
}
/// <summary>
- /// Gets or sets Mp4ExtensionOptions.
+ /// Gets or sets a value indicating whether RemoveUnderscores.
/// </summary>
- public BindingList<string> Mp4ExtensionOptions
+ public bool RemoveUnderscores
{
get
{
- return this.mp4ExtensionOptions;
+ return this.removeUnderscores;
}
set
{
- this.mp4ExtensionOptions = value;
- this.NotifyOfPropertyChange("Mp4ExtensionOptions");
+ this.removeUnderscores = value;
+ this.NotifyOfPropertyChange("RemoveUnderscores");
}
}
- /// <summary>
- /// Gets or sets a value indicating whether RemoveUnderscores.
- /// </summary>
- public bool RemoveUnderscores
+ public BindingList<Mp4Behaviour> Mp4ExtensionOptions
{
get
{
- return this.removeUnderscores;
- }
-
- set
- {
- this.removeUnderscores = value;
- this.NotifyOfPropertyChange("RemoveUnderscores");
+ return new BindingList<Mp4Behaviour>(EnumHelper<Mp4Behaviour>.GetEnumList().ToList());
}
}
/// <summary>
/// Gets or sets SelectedMp4Extension.
/// </summary>
- public int SelectedMp4Extension
+ public Mp4Behaviour SelectedMp4Extension
{
get
{
@@ -631,7 +612,7 @@ namespace HandBrakeWPF.ViewModels
set
{
this.selectedMp4Extension = value;
- this.NotifyOfPropertyChange("SelectedMp4Extension");
+ this.NotifyOfPropertyChange(() => this.SelectedMp4Extension);
}
}
@@ -851,20 +832,11 @@ namespace HandBrakeWPF.ViewModels
}
}
- /// <summary>
- /// Gets or sets PriorityLevelOptions.
- /// </summary>
- public BindingList<string> PriorityLevelOptions
+ public BindingList<ProcessPriority> PriorityLevelOptions
{
get
{
- return this.priorityLevelOptions;
- }
-
- set
- {
- this.priorityLevelOptions = value;
- this.NotifyOfPropertyChange("PriorityLevelOptions");
+ return new BindingList<ProcessPriority>(EnumHelper<ProcessPriority>.GetEnumList().ToList());
}
}
@@ -888,7 +860,7 @@ namespace HandBrakeWPF.ViewModels
/// <summary>
/// Gets or sets SelectedPriority.
/// </summary>
- public string SelectedPriority
+ public ProcessPriority SelectedPriority
{
get
{
@@ -903,19 +875,19 @@ namespace HandBrakeWPF.ViewModels
// Set the Process Priority
switch (value)
{
- case "Realtime":
- Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.RealTime;
- break;
- case "High":
+ case ProcessPriority.High:
Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.High;
break;
- case "Above Normal":
+ case ProcessPriority.AboveNormal:
Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.AboveNormal;
break;
- case "Normal":
+ case ProcessPriority.Normal:
Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.Normal;
break;
- case "Low":
+ case ProcessPriority.BelowNormal:
+ Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.BelowNormal;
+ break;
+ case ProcessPriority.Low:
Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.Idle;
break;
default:
@@ -1439,18 +1411,7 @@ namespace HandBrakeWPF.ViewModels
this.SelectedLanguage = InterfaceLanguageUtilities.FindInterfaceLanguage(culture);
this.CheckForUpdates = this.userSettingService.GetUserSetting<bool>(UserSettingConstants.UpdateStatus);
-
- // Days between update checks
- this.checkForUpdatesFrequencies.Clear();
- this.checkForUpdatesFrequencies.Add("Weekly");
- this.checkForUpdatesFrequencies.Add("Monthly");
-
- this.CheckForUpdatesFrequency = this.userSettingService.GetUserSetting<int>(UserSettingConstants.DaysBetweenUpdateCheck);
- if (this.CheckForUpdatesFrequency > 1)
- {
- this.CheckForUpdatesFrequency = 1;
- }
-
+ this.CheckForUpdatesFrequency = (UpdateCheck)this.userSettingService.GetUserSetting<int>(UserSettingConstants.DaysBetweenUpdateCheck);
this.ShowStatusInTitleBar = this.userSettingService.GetUserSetting<bool>(UserSettingConstants.ShowStatusInTitleBar);
this.ShowPreviewOnSummaryTab = this.userSettingService.GetUserSetting<bool>(UserSettingConstants.ShowPreviewOnSummaryTab);
this.ShowAddAllToQueue = this.userSettingService.GetUserSetting<bool>(UserSettingConstants.ShowAddAllToQueue);
@@ -1461,16 +1422,6 @@ namespace HandBrakeWPF.ViewModels
// When Done
// #############################
- // On Encode Completion Action
- this.whenDoneOptions.Clear();
- this.whenDoneOptions.Add(WhenDone.DoNothing);
- this.whenDoneOptions.Add(WhenDone.Shutdown);
- this.whenDoneOptions.Add(WhenDone.Sleep);
- this.whenDoneOptions.Add(WhenDone.Hibernate);
- this.whenDoneOptions.Add(WhenDone.LockSystem);
- this.whenDoneOptions.Add(WhenDone.LogOff);
- this.whenDoneOptions.Add(WhenDone.QuickHandBrake);
-
this.WhenDone = (WhenDone)this.userSettingService.GetUserSetting<int>(UserSettingConstants.WhenCompleteAction);
if (this.userSettingService.GetUserSetting<bool>(UserSettingConstants.ResetWhenDoneAction))
{
@@ -1505,11 +1456,7 @@ namespace HandBrakeWPF.ViewModels
this.AutonameFormat = this.IsValidAutonameFormat(anf, true) ? anf : "{source}-{title}";
// Use iPod/iTunes friendly .m4v extension for MP4 files.
- this.mp4ExtensionOptions.Clear();
- this.mp4ExtensionOptions.Add("Automatic");
- this.mp4ExtensionOptions.Add("Always use MP4");
- this.mp4ExtensionOptions.Add("Always use M4V");
- this.SelectedMp4Extension = this.userSettingService.GetUserSetting<int>(UserSettingConstants.UseM4v);
+ this.SelectedMp4Extension = (Mp4Behaviour)this.userSettingService.GetUserSetting<int>(UserSettingConstants.UseM4v);
// Remove Underscores
this.RemoveUnderscores = this.userSettingService.GetUserSetting<bool>(UserSettingConstants.AutoNameRemoveUnderscore);
@@ -1550,15 +1497,7 @@ namespace HandBrakeWPF.ViewModels
// #############################
// CLI
// #############################
-
- // Priority level for encodes
- this.priorityLevelOptions.Clear();
- this.priorityLevelOptions.Add("High");
- this.priorityLevelOptions.Add("Above Normal");
- this.priorityLevelOptions.Add("Normal");
- this.priorityLevelOptions.Add("Below Normal");
- this.priorityLevelOptions.Add("Low");
- this.SelectedPriority = userSettingService.GetUserSetting<string>(UserSettingConstants.ProcessPriority);
+ this.SelectedPriority = (ProcessPriority)userSettingService.GetUserSetting<int>(UserSettingConstants.ProcessPriorityInt);
this.PreventSleep = userSettingService.GetUserSetting<bool>(UserSettingConstants.PreventSleep);
this.PauseOnLowDiskspace = userSettingService.GetUserSetting<bool>(UserSettingConstants.PauseOnLowDiskspace);
@@ -1670,7 +1609,6 @@ namespace HandBrakeWPF.ViewModels
this.userSettingService.SetUserSetting(UserSettingConstants.PlaySoundWhenDone, this.PlaySoundWhenDone);
this.userSettingService.SetUserSetting(UserSettingConstants.PlaySoundWhenQueueDone, this.PlaySoundWhenQueueDone);
this.userSettingService.SetUserSetting(UserSettingConstants.WhenDoneAudioFile, this.WhenDoneAudioFileFullPath);
-
/* Output Files */
this.userSettingService.SetUserSetting(UserSettingConstants.AutoNaming, this.AutomaticallyNameFiles);
@@ -1697,7 +1635,7 @@ namespace HandBrakeWPF.ViewModels
this.userSettingService.SetUserSetting(UserSettingConstants.EnableNvencEncoder, this.EnableNvencEncoder);
/* System and Logging */
- this.userSettingService.SetUserSetting(UserSettingConstants.ProcessPriority, this.SelectedPriority);
+ this.userSettingService.SetUserSetting(UserSettingConstants.ProcessPriorityInt, this.SelectedPriority);
this.userSettingService.SetUserSetting(UserSettingConstants.PreventSleep, this.PreventSleep);
this.userSettingService.SetUserSetting(UserSettingConstants.PauseOnLowDiskspace, this.PauseOnLowDiskspace);
this.userSettingService.SetUserSetting(UserSettingConstants.PauseQueueOnLowDiskspaceLevel, this.PauseOnLowDiskspaceLevel);
diff --git a/win/CS/HandBrakeWPF/ViewModels/SubtitlesViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/SubtitlesViewModel.cs
index 21bd11013..7ec789905 100644
--- a/win/CS/HandBrakeWPF/ViewModels/SubtitlesViewModel.cs
+++ b/win/CS/HandBrakeWPF/ViewModels/SubtitlesViewModel.cs
@@ -72,7 +72,7 @@ namespace HandBrakeWPF.ViewModels
this.Langauges = LanguageUtilities.MapLanguages().Keys;
this.CharacterCodes = CharCodesUtilities.GetCharacterCodes();
- this.foreignAudioSearchTrack = new Subtitle { SubtitleType = SubtitleType.ForeignAudioSearch, Language = "Foreign Audio Search" };
+ this.foreignAudioSearchTrack = new Subtitle { SubtitleType = SubtitleType.ForeignAudioSearch, Language = Resources.SubtitleViewModel_ForeignAudioSearch };
this.SourceTracks = new List<Subtitle> { this.foreignAudioSearchTrack };
}
diff --git a/win/CS/HandBrakeWPF/ViewModels/SummaryViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/SummaryViewModel.cs
index 9e070e6e7..ce4e6969b 100644
--- a/win/CS/HandBrakeWPF/ViewModels/SummaryViewModel.cs
+++ b/win/CS/HandBrakeWPF/ViewModels/SummaryViewModel.cs
@@ -24,6 +24,7 @@ namespace HandBrakeWPF.ViewModels
using HandBrakeWPF.EventArgs;
using HandBrakeWPF.Factories;
using HandBrakeWPF.Helpers;
+ using HandBrakeWPF.Model.Options;
using HandBrakeWPF.Properties;
using HandBrakeWPF.Services.Encode.Model;
using HandBrakeWPF.Services.Encode.Model.Models;
@@ -455,15 +456,15 @@ namespace HandBrakeWPF.ViewModels
// Make sure the output extension is set correctly based on the users preferences and selection.
if (newExtension == ".mp4" || newExtension == ".m4v")
{
- switch (this.userSettingService.GetUserSetting<int>(UserSettingConstants.UseM4v))
+ switch ((Mp4Behaviour)this.userSettingService.GetUserSetting<int>(UserSettingConstants.UseM4v))
{
- case 0: // Auto
+ case Mp4Behaviour.Auto: // Auto
newExtension = MP4Helper.RequiresM4v(this.Task) ? ".m4v" : ".mp4";
break;
- case 1: // MP4
+ case Mp4Behaviour.MP4: // MP4
newExtension = ".mp4";
break;
- case 2: // M4v
+ case Mp4Behaviour.M4V: // M4v
newExtension = ".m4v";
break;
}
diff --git a/win/CS/HandBrakeWPF/Views/OptionsView.xaml b/win/CS/HandBrakeWPF/Views/OptionsView.xaml
index a3ce125a5..9f489a574 100644
--- a/win/CS/HandBrakeWPF/Views/OptionsView.xaml
+++ b/win/CS/HandBrakeWPF/Views/OptionsView.xaml
@@ -38,7 +38,9 @@
<Options:LogLevelConverter x:Key="LogLevelConverter" />
<Options:FileSizeConverter x:Key="fileSizeConverter" />
<Converters:OptionTabConverter x:Key="optionTabConverter" />
-
+ <Options:ProcessPriorityConverter x:Key="ProcessPriorityConverter" />
+ <Options:Mp4BehaviourConverter x:Key="Mp4BehaviourConverter" />
+ <Options:UpdateCheckConverter x:Key="UpdateCheckConverter" />
<Converters:BooleanToVisibilityConverter x:Key="boolToVisConverter" />
@@ -102,7 +104,7 @@
<StackPanel Orientation="Vertical" Margin="20,0,0,0">
<CheckBox Content="{x:Static Properties:Resources.Options_CheckForUpdates}" IsChecked="{Binding CheckForUpdates}" />
- <ComboBox Name="checkForUpdateFrequency" ItemsSource="{Binding CheckForUpdatesFrequencies}" SelectedIndex="{Binding CheckForUpdatesFrequency}" Margin="25,0,0,5" HorizontalAlignment="Left" Width="120"></ComboBox>
+ <ComboBox Name="checkForUpdateFrequency" ItemsSource="{Binding CheckForUpdatesFrequencies, Converter={StaticResource UpdateCheckConverter}}" SelectedItem="{Binding CheckForUpdatesFrequency, Converter={StaticResource UpdateCheckConverter}}" Margin="25,0,0,5" HorizontalAlignment="Left" Width="120"></ComboBox>
</StackPanel>
</StackPanel>
@@ -204,7 +206,7 @@
<StackPanel Orientation="Horizontal" Margin="0,15,0,0">
<TextBlock VerticalAlignment="Center" Text="{x:Static Properties:Resources.Options_MP4FileExtension}" />
- <ComboBox Name="mp4FileExtension" Width="120" ItemsSource="{Binding Mp4ExtensionOptions}" SelectedIndex="{Binding SelectedMp4Extension}" HorizontalAlignment="Left" />
+ <ComboBox Name="mp4FileExtension" ItemsSource="{Binding Mp4ExtensionOptions, Converter={StaticResource Mp4BehaviourConverter}}" SelectedItem="{Binding SelectedMp4Extension, Converter={StaticResource Mp4BehaviourConverter}}" Width="120" HorizontalAlignment="Left" />
</StackPanel>
</StackPanel>
@@ -367,7 +369,7 @@
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,5,0,0">
<TextBlock Text="{x:Static Properties:Resources.Options_PriorityLevel}" Width="250" VerticalAlignment="Center" />
- <ComboBox Name="processPriorityLevel" ItemsSource="{Binding PriorityLevelOptions}" SelectedItem="{Binding SelectedPriority}" Width="120" />
+ <ComboBox Name="processPriorityLevel" ItemsSource="{Binding PriorityLevelOptions, Converter={StaticResource ProcessPriorityConverter}}" SelectedItem="{Binding SelectedPriority, Converter={StaticResource ProcessPriorityConverter}}" Width="120" />
</StackPanel>
</StackPanel>
</StackPanel>
diff --git a/win/CS/HandBrakeWPF/Views/SummaryView.xaml b/win/CS/HandBrakeWPF/Views/SummaryView.xaml
index 3b0f13d38..a6e5081f1 100644
--- a/win/CS/HandBrakeWPF/Views/SummaryView.xaml
+++ b/win/CS/HandBrakeWPF/Views/SummaryView.xaml
@@ -23,7 +23,7 @@
<!-- Column 1 -->
<Grid Grid.Column="0" MinWidth="325" MaxWidth="400" >
<Grid.ColumnDefinitions>
- <ColumnDefinition Width="75" />
+ <ColumnDefinition Width="80" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
diff --git a/win/CS/HandBrakeWPF/defaultsettings.xml b/win/CS/HandBrakeWPF/defaultsettings.xml
index 1efd1113a..98e40d45e 100644
--- a/win/CS/HandBrakeWPF/defaultsettings.xml
+++ b/win/CS/HandBrakeWPF/defaultsettings.xml
@@ -42,10 +42,10 @@
</item>
<item>
<key>
- <string>ProcessPriority</string>
+ <string>ProcessPriorityInt</string>
</key>
<value>
- <anyType xmlns:q1="http://www.w3.org/2001/XMLSchema" d4p1:type="q1:string" xmlns:d4p1="http://www.w3.org/2001/XMLSchema-instance">Below Normal</anyType>
+ <anyType xmlns:q1="http://www.w3.org/2001/XMLSchema" d4p1:type="q1:int" xmlns:d4p1="http://www.w3.org/2001/XMLSchema-instance">3</anyType>
</value>
</item>
<item>
@@ -181,7 +181,7 @@
<string>daysBetweenUpdateCheck</string>
</key>
<value>
- <anyType xmlns:q1="http://www.w3.org/2001/XMLSchema" d4p1:type="q1:int" xmlns:d4p1="http://www.w3.org/2001/XMLSchema-instance">1</anyType>
+ <anyType xmlns:q1="http://www.w3.org/2001/XMLSchema" d4p1:type="q1:int" xmlns:d4p1="http://www.w3.org/2001/XMLSchema-instance">0</anyType>
</value>
</item>
<item>