]> granicus.if.org Git - handbrake/commitdiff
WinGui: Catchup some remaining strings that were not localisable. #2345
authorsr55 <sr55.hb@outlook.com>
Sun, 13 Oct 2019 17:03:58 +0000 (18:03 +0100)
committersr55 <sr55.hb@outlook.com>
Sun, 13 Oct 2019 17:03:58 +0000 (18:03 +0100)
29 files changed:
win/CS/HandBrake.Interop/Attributes/DisplayName.cs
win/CS/HandBrakeWPF/Converters/Options/Mp4BehaviourConverter.cs [new file with mode: 0644]
win/CS/HandBrakeWPF/Converters/Options/ProcessPriorityConverter.cs [new file with mode: 0644]
win/CS/HandBrakeWPF/Converters/Options/UpdateCheckConverter.cs [new file with mode: 0644]
win/CS/HandBrakeWPF/Converters/ResourceConverterBase.cs [new file with mode: 0644]
win/CS/HandBrakeWPF/HandBrakeWPF.csproj
win/CS/HandBrakeWPF/Helpers/AutoNameHelper.cs
win/CS/HandBrakeWPF/Model/Audio/AudioBehaviourModes.cs
win/CS/HandBrakeWPF/Model/Audio/AudioTrackDefaultsMode.cs
win/CS/HandBrakeWPF/Model/Options/Mp4Behaviour.cs [new file with mode: 0644]
win/CS/HandBrakeWPF/Model/Options/ProcessPriority.cs [new file with mode: 0644]
win/CS/HandBrakeWPF/Model/Options/UpdateCheck.cs [new file with mode: 0644]
win/CS/HandBrakeWPF/Model/OptionsTab.cs
win/CS/HandBrakeWPF/Model/Picture/PresetPictureSettingsMode.cs
win/CS/HandBrakeWPF/Model/Subtitles/SubtitleBehaviourModes.cs
win/CS/HandBrakeWPF/Model/Subtitles/SubtitleBurnInBehaviourModes.cs
win/CS/HandBrakeWPF/Properties/Resources.Designer.cs
win/CS/HandBrakeWPF/Properties/Resources.resx
win/CS/HandBrakeWPF/Services/Encode/Model/Models/PointToPointMode.cs
win/CS/HandBrakeWPF/Services/Scan/Model/Subtitle.cs
win/CS/HandBrakeWPF/UserSettingConstants.cs
win/CS/HandBrakeWPF/ViewModels/ChaptersViewModel.cs
win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs
win/CS/HandBrakeWPF/ViewModels/OptionsViewModel.cs
win/CS/HandBrakeWPF/ViewModels/SubtitlesViewModel.cs
win/CS/HandBrakeWPF/ViewModels/SummaryViewModel.cs
win/CS/HandBrakeWPF/Views/OptionsView.xaml
win/CS/HandBrakeWPF/Views/SummaryView.xaml
win/CS/HandBrakeWPF/defaultsettings.xml

index 07512fc3aa1970692cd9d6a0c684e596d7d35be7..e359a7fbab78282bfcf79c38c839cc624bf19d2f 100644 (file)
@@ -1,5 +1,5 @@
 // --------------------------------------------------------------------------------------------------------------------
-// <copyright file="DisplayName.cs" company="HandBrake Project (http://handbrake.fr)">
+// <copyright file="DisplayName.cs" company="HandBrake Project (https://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>
diff --git a/win/CS/HandBrakeWPF/Converters/Options/Mp4BehaviourConverter.cs b/win/CS/HandBrakeWPF/Converters/Options/Mp4BehaviourConverter.cs
new file mode 100644 (file)
index 0000000..2ef6ad2
--- /dev/null
@@ -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 (file)
index 0000000..2ab2bac
--- /dev/null
@@ -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 (file)
index 0000000..3f4de9d
--- /dev/null
@@ -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 (file)
index 0000000..36a588f
--- /dev/null
@@ -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;
+        }
+    }
+}
index fbb3669cabe22e05c47bd9de235e18761fda508b..de8fd778646ab0edb51fa6c340bb9c63544aa4cf 100644 (file)
     <Compile Include="Converters\LongToIntConverter.cs" />\r
     <Compile Include="Converters\Options\FileSizeConverter.cs" />\r
     <Compile Include="Converters\Options\LogLevelConverter.cs" />\r
+    <Compile Include="Converters\Options\Mp4BehaviourConverter.cs" />\r
+    <Compile Include="Converters\Options\UpdateCheckConverter.cs" />\r
+    <Compile Include="Converters\ResourceConverterBase.cs" />\r
+    <Compile Include="Model\Options\Mp4Behaviour.cs" />\r
+    <Compile Include="Converters\Options\ProcessPriorityConverter.cs" />\r
     <Compile Include="Converters\OptionTabConverter.cs" />\r
     <Compile Include="Converters\PresetsMenuConverter.cs" />\r
     <Compile Include="Converters\Queue\InlineQueueConverter.cs" />\r
     <Compile Include="Model\Filters\FilterTune.cs" />\r
     <Compile Include="Model\Filters\FilterPreset.cs" />\r
     <Compile Include="Model\InterfaceLanguage.cs" />\r
+    <Compile Include="Model\Options\ProcessPriority.cs" />\r
+    <Compile Include="Model\Options\UpdateCheck.cs" />\r
     <Compile Include="Model\Options\WhenDone.cs" />\r
     <Compile Include="Model\Picture\PresetPictureSettingsMode.cs" />\r
     <Compile Include="Model\Subtitles\SubtitleBurnInBehaviourModes.cs" />\r
     <Compile Include="Model\Subtitles\SubtitleBehaviourModes.cs" />\r
     <Compile Include="Model\Subtitles\SubtitleBehaviours.cs" />\r
     <Compile Include="Properties\Resources.Designer.cs">\r
-      <AutoGen>True</AutoGen>\r
       <DesignTime>True</DesignTime>\r
+      <AutoGen>True</AutoGen>\r
       <DependentUpon>Resources.resx</DependentUpon>\r
     </Compile>\r
     <Compile Include="Properties\ResourcesTooltips.Designer.cs">\r
index 9506fa0e90ff02f1d7a85f67120cd90802d639ff..ff76aee70f47a130547e0a8aa784e73bee7a7a52 100644 (file)
@@ -179,15 +179,15 @@ namespace HandBrakeWPF.Helpers
              */\r
             if (task.OutputFormat == OutputFormat.Mp4)\r
             {\r
-                switch (userSettingService.GetUserSetting<int>(UserSettingConstants.UseM4v))\r
+                switch ((Mp4Behaviour)userSettingService.GetUserSetting<int>(UserSettingConstants.UseM4v))\r
                 {\r
-                    case 0: // Automatic\r
+                    case Mp4Behaviour.Auto: // Automatic\r
                         destinationFilename += task.IncludeChapterMarkers || MP4Helper.RequiresM4v(task) ? ".m4v" : ".mp4";\r
                         break;\r
-                    case 1: // Always MP4\r
+                    case Mp4Behaviour.MP4: // Always MP4\r
                         destinationFilename += ".mp4";\r
                         break;\r
-                    case 2: // Always M4V\r
+                    case Mp4Behaviour.M4V: // Always M4V\r
                         destinationFilename += ".m4v";\r
                         break;\r
                 }\r
index 7237c7c64c478b6c116632901c9de033d7f6d542..b1758c1d95ebf3ad18875fe8719572a784779e84 100644 (file)
@@ -11,20 +11,22 @@ namespace HandBrakeWPF.Model.Audio
 {\r
     using HandBrake.Interop.Attributes;\r
 \r
+    using HandBrakeWPF.Properties;\r
+\r
     /// <summary>\r
     /// The audio behaviours.\r
     /// </summary>\r
     public enum AudioBehaviourModes\r
     {\r
-        [DisplayName("No Audio")]\r
+        [DisplayName(typeof(Resources), "AudioBehaviourModes_None")]\r
         [ShortName("none")]\r
         None = 0,\r
 \r
-        [DisplayName("First Matching Selected Language")]\r
+        [DisplayName(typeof(Resources), "AudioBehaviourModes_FirstMatch")]\r
         [ShortName("first")]\r
         FirstMatch,\r
 \r
-        [DisplayName("All Matching Selected Languages")]\r
+        [DisplayName(typeof(Resources), "AudioBehaviourModes_AllMatching")]\r
         [ShortName("all")]\r
         AllMatching,\r
     }\r
index b36a31ec5c3c19342966a282dd14f13b339d034c..43f91da1612b66aae5befa91a730917fb920a2fd 100644 (file)
@@ -11,15 +11,17 @@ namespace HandBrakeWPF.Model.Audio
 {\r
     using HandBrake.Interop.Attributes;\r
 \r
+    using HandBrakeWPF.Properties;\r
+\r
     /// <summary>\r
     /// The audio behaviours.\r
     /// </summary>\r
     public enum AudioTrackDefaultsMode\r
     {\r
-        [DisplayName("Use First Track as template")]\r
+        [DisplayName(typeof(Resources), "AudioBehaviourModes_FirstTrack")]\r
         FirstTrack = 0,\r
 \r
-        [DisplayName("Use All Tracks as templates")]\r
+        [DisplayName(typeof(Resources), "AudioBehaviourModes_AllTracks")]\r
         AllTracks,\r
     }\r
 }\r
diff --git a/win/CS/HandBrakeWPF/Model/Options/Mp4Behaviour.cs b/win/CS/HandBrakeWPF/Model/Options/Mp4Behaviour.cs
new file mode 100644 (file)
index 0000000..9844e25
--- /dev/null
@@ -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 (file)
index 0000000..f39843d
--- /dev/null
@@ -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 (file)
index 0000000..f762f3e
--- /dev/null
@@ -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,
+    }
+}
index 1ca93ca10167545a77c38592fabbba8ae2fb7c1e..bcdcb4e992ed6ac8ef55bf718bad174b11180505 100644 (file)
@@ -11,30 +11,32 @@ namespace HandBrakeWPF.Model
 {\r
     using HandBrake.Interop.Attributes;\r
 \r
+    using HandBrakeWPF.Properties;\r
+\r
     /// <summary>\r
     /// A enum representing each tab on the options screen.\r
     /// </summary>\r
     public enum OptionsTab\r
     {\r
-        [DisplayName("General")]\r
+        [DisplayName(typeof(Resources), "Options_General")]\r
         General = 0,\r
 \r
-        [DisplayName("Output Files")]\r
+        [DisplayName(typeof(Resources), "Options_OutputFiles")]\r
         OutputFiles,\r
 \r
-        [DisplayName("When Done")]\r
+        [DisplayName(typeof(Resources), "Options_WhenDone")]\r
         WhenDone,\r
 \r
-        [DisplayName("Video")]\r
+        [DisplayName(typeof(Resources), "Options_Video")]\r
         Video,\r
 \r
-        [DisplayName("Advanced")]\r
+        [DisplayName(typeof(Resources), "Options_Advanced")]\r
         Advanced,\r
 \r
-        [DisplayName("Updates")]\r
+        [DisplayName(typeof(Resources), "Options_Updates")]\r
         Updates,\r
 \r
-        [DisplayName("About HandBrake")]\r
+        [DisplayName(typeof(Resources), "Options_About")]\r
         About,\r
     }\r
 }\r
index 7db70c79c083aff6ba98f5b842c6089dc9d3e1e6..517da08eea89a2426d26ac3710171f168c375282 100644 (file)
@@ -11,16 +11,20 @@ namespace HandBrakeWPF.Model.Picture
 {\r
     using HandBrake.Interop.Attributes;\r
 \r
+    using HandBrakeWPF.Properties;\r
+\r
     /// <summary>\r
     /// Picture Settings Mode when adding presets\r
     /// </summary>\r
     public enum PresetPictureSettingsMode\r
     {\r
-        [DisplayName("None")]\r
+        [DisplayName(typeof(Resources), "PresetPictureSettingsMode_None")]\r
         None = 0,\r
-        [DisplayName("Custom")]\r
+\r
+        [DisplayName(typeof(Resources), "PresetPictureSettingsMode_Custom")]\r
         Custom = 1,\r
-        [DisplayName("Always use Source Resolution")]\r
+\r
+        [DisplayName(typeof(Resources), "PresetPictureSettingsMode_SourceMaximum")]\r
         SourceMaximum = 2,\r
     }\r
 }
\ No newline at end of file
index efdffc2aa123946c69abf25f807949306a9d5403..bbb98ee9c8c3479743710efa28d6830530207a08 100644 (file)
@@ -11,20 +11,22 @@ namespace HandBrakeWPF.Model.Subtitles
 {\r
     using HandBrake.Interop.Attributes;\r
 \r
+    using HandBrakeWPF.Properties;\r
+\r
     /// <summary>\r
     /// The subtitle behaviours modes.\r
     /// </summary>\r
     public enum SubtitleBehaviourModes\r
     {\r
-        [DisplayName("None")]\r
+        [DisplayName(typeof(Resources), "SubtitleBehaviourModes_None")]\r
         [ShortName("none")]\r
         None = 0,\r
 \r
-        [DisplayName("First Matching Selected Language")]\r
+        [DisplayName(typeof(Resources), "SubtitleBehaviourModes_FirstMatching")]\r
         [ShortName("first")]\r
         FirstMatch,\r
 \r
-        [DisplayName("All Matching Selected Languages")]\r
+        [DisplayName(typeof(Resources), "SubtitleBehaviourModes_AllMatching")]\r
         [ShortName("all")]\r
         AllMatching,\r
     }\r
index 37088a4cb3fb90ef190783c6a8051ff1d9169d95..ee846a248a1ad2eb74b7fb7736f91d9f069c13cb 100644 (file)
@@ -11,24 +11,26 @@ namespace HandBrakeWPF.Model.Subtitles
 {\r
     using HandBrake.Interop.Attributes;\r
 \r
+    using HandBrakeWPF.Properties;\r
+\r
     /// <summary>\r
     /// The subtitle behaviours modes.\r
     /// </summary>\r
     public enum SubtitleBurnInBehaviourModes\r
     {\r
-        [DisplayName("None")]\r
+        [DisplayName(typeof(Resources), "SubtitleBurnInBehaviourModes_None")]\r
         [ShortName("none")]\r
         None = 0,\r
 \r
-        [DisplayName("Foreign Audio Track")]\r
+        [DisplayName(typeof(Resources), "SubtitleBurnInBehaviourModes_ForeignAudioTrack")]\r
         [ShortName("foreign")]\r
         ForeignAudio,\r
 \r
-        [DisplayName("First Track")]\r
+        [DisplayName(typeof(Resources), "SubtitleBurnInBehaviourModes_FirstTrack")]\r
         [ShortName("first")]\r
         FirstTrack,\r
 \r
-        [DisplayName("Foreign Audio Preferred, else First")]\r
+        [DisplayName(typeof(Resources), "SubtitleBurnInBehaviourModes_ForeignAudioPreferredElseFirst")]\r
         [ShortName("foreign_first")]\r
         ForeignAudioPreferred,\r
     }\r
index 8e4931c68b2029f7c069c4415f33c0e33ad548da..e6b1887b18a892116480aa31487fbf1827c1da69 100644 (file)
@@ -220,6 +220,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>
@@ -690,6 +735,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>
@@ -2593,6 +2647,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>
@@ -2949,6 +3030,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>
@@ -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 {
@@ -3754,6 +3844,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>
@@ -3869,6 +3995,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..
@@ -3955,6 +4108,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>
@@ -5002,6 +5200,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. 
@@ -5171,6 +5441,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>
@@ -5379,6 +5658,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>
index f5d81335bc82283db5748951ebe95960b9028c9d..576f10799694eaaa10811c7e5c0b58e11f26264b 100644 (file)
@@ -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>\r
   </data>\r
   <data name="OptionsView_BackButton" xml:space="preserve">\r
-    <value>&amp;#60; Back</value>\r
+    <value>&lt; Back</value>\r
   </data>\r
   <data name="QueueView_CurrentlyPaused" xml:space="preserve">\r
     <value>Currently Paused</value>\r
   </data>\r
+  <data name="Options_OutputFiles" xml:space="preserve">\r
+    <value>Output Files</value>\r
+  </data>\r
+  <data name="PointToPointMode_Chapters" xml:space="preserve">\r
+    <value>Chapters</value>\r
+  </data>\r
+  <data name="PointToPointMode_Frames" xml:space="preserve">\r
+    <value>Frames</value>\r
+  </data>\r
+  <data name="PointToPointMode_Preview" xml:space="preserve">\r
+    <value>Preview</value>\r
+  </data>\r
+  <data name="PointToPointMode_Seconds" xml:space="preserve">\r
+    <value>Seconds</value>\r
+  </data>\r
+  <data name="SubtitleBehaviourModes_AllMatching" xml:space="preserve">\r
+    <value>All Matching Selected Languages</value>\r
+  </data>\r
+  <data name="SubtitleBehaviourModes_FirstMatching" xml:space="preserve">\r
+    <value>First Matching Selected Language</value>\r
+  </data>\r
+  <data name="SubtitleBehaviourModes_None" xml:space="preserve">\r
+    <value>None</value>\r
+  </data>\r
+  <data name="SubtitleBurnInBehaviourModes_FirstTrack" xml:space="preserve">\r
+    <value>First Track</value>\r
+  </data>\r
+  <data name="SubtitleBurnInBehaviourModes_ForeignAudioPreferredElseFirst" xml:space="preserve">\r
+    <value>Foreign Audio Preferred, else First</value>\r
+  </data>\r
+  <data name="SubtitleBurnInBehaviourModes_ForeignAudioTrack" xml:space="preserve">\r
+    <value>Foreign Audio Track</value>\r
+  </data>\r
+  <data name="SubtitleBurnInBehaviourModes_None" xml:space="preserve">\r
+    <value>None</value>\r
+  </data>\r
+  <data name="SubtitleViewModel_ForeignAudioSearch" xml:space="preserve">\r
+    <value>Foreign Audio Search</value>\r
+  </data>\r
+  <data name="Subtitle_ForeignAudioScan" xml:space="preserve">\r
+    <value>Foreign Audio Scan</value>\r
+  </data>\r
+  <data name="AudioBehaviourModes_AllMatching" xml:space="preserve">\r
+    <value>All Matching Selected Languages</value>\r
+  </data>\r
+  <data name="AudioBehaviourModes_AllTracks" xml:space="preserve">\r
+    <value>Use All Tracks as templates</value>\r
+  </data>\r
+  <data name="AudioBehaviourModes_FirstMatch" xml:space="preserve">\r
+    <value>First Matching Selected Language</value>\r
+  </data>\r
+  <data name="AudioBehaviourModes_FirstTrack" xml:space="preserve">\r
+    <value>Use First Track as template</value>\r
+  </data>\r
+  <data name="AudioBehaviourModes_None" xml:space="preserve">\r
+    <value>No Audio</value>\r
+  </data>\r
+  <data name="ChapterViewModel_Chapter" xml:space="preserve">\r
+    <value>Chapter {0}</value>\r
+  </data>\r
+  <data name="Mp4Behaviour_Auto" xml:space="preserve">\r
+    <value>Automatic</value>\r
+  </data>\r
+  <data name="Mp4Behaviour_UseM4v" xml:space="preserve">\r
+    <value>Always use M4V</value>\r
+  </data>\r
+  <data name="Mp4Behaviour_UseMp4" xml:space="preserve">\r
+    <value>Always use MP4</value>\r
+  </data>\r
+  <data name="PresetPictureSettingsMode_Custom" xml:space="preserve">\r
+    <value>Custom</value>\r
+  </data>\r
+  <data name="PresetPictureSettingsMode_None" xml:space="preserve">\r
+    <value>None</value>\r
+  </data>\r
+  <data name="PresetPictureSettingsMode_SourceMaximum" xml:space="preserve">\r
+    <value>Always use Source Resolution</value>\r
+  </data>\r
+  <data name="ProcessPriority_AboveNormal" xml:space="preserve">\r
+    <value>Above Normal</value>\r
+  </data>\r
+  <data name="ProcessPriority_BelowNormal" xml:space="preserve">\r
+    <value>Below Normal</value>\r
+  </data>\r
+  <data name="ProcessPriority_High" xml:space="preserve">\r
+    <value>High</value>\r
+  </data>\r
+  <data name="ProcessPriority_Low" xml:space="preserve">\r
+    <value>Low</value>\r
+  </data>\r
+  <data name="ProcessPriority_Normal" xml:space="preserve">\r
+    <value>Normal</value>\r
+  </data>\r
+  <data name="UpdateCheck_Monthly" xml:space="preserve">\r
+    <value>Monthly</value>\r
+  </data>\r
+  <data name="UpdateCheck_Weekly" xml:space="preserve">\r
+    <value>Weekly</value>\r
+  </data>\r
 </root>
\ No newline at end of file
index c68f49474c1781ee114cdceb68bb3e17b4fb88ae..b928abfe5623e24f2d59899d5738f0be01f54f23 100644 (file)
@@ -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,
     }
index 1fade03110d54dcd2f281aebc8488df49d45e4d9..ff3b946a96273c79681f45d2fe0d42e4e417eea4 100644 (file)
@@ -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>
index 92832a124dfa3c2f79f2fdc03b6aed4dcd70a191..9c3abc4701555eb610689037f4a30e683e82e43d 100644 (file)
@@ -48,7 +48,7 @@ namespace HandBrakeWPF
         public const string PreviewScanCount = "previewScanCount";\r
         public const string Verbosity = "Verbosity";\r
         public const string MinScanDuration = "MinTitleScanDuration";\r
-        public const string ProcessPriority = "ProcessPriority";\r
+        public const string ProcessPriorityInt = "ProcessPriorityInt";\r
         public const string SaveLogToCopyDirectory = "SaveLogToCopyDirectory";\r
         public const string SaveLogWithVideo = "SaveLogWithVideo";\r
         public const string SaveLogCopyDirectory = "SaveLogCopyDirectory";\r
index 30efc9200f11e0145484c112b7039d6848566308..b47b9dcee83c8003cbae21647d6434bae7800b7d 100644 (file)
@@ -348,7 +348,7 @@ namespace HandBrakeWPF.ViewModels
 \r
             foreach (Chapter chapter in this.SourceChapterList)\r
             {\r
-                string chapterName = string.IsNullOrEmpty(chapter.ChapterName) ? string.Format("Chapter {0}", counter) : chapter.ChapterName;\r
+                string chapterName = string.IsNullOrEmpty(chapter.ChapterName) ? string.Format(Resources.ChapterViewModel_Chapter, counter) : chapter.ChapterName;\r
                 var marker = new ChapterMarker(chapter.ChapterNumber, chapterName, chapter.Duration);\r
                 this.Chapters.Add(marker);\r
 \r
index 6d1ce70ceca76877270925b6ca147fd565980fb0..92c9c53e5f1be632b69828e703d6d9098d054cc7 100644 (file)
@@ -173,21 +173,18 @@ namespace HandBrakeWPF.ViewModels
             this.Drives = new BindingList<SourceMenuItem>();\r
 \r
             // Set Process Priority\r
-            switch (this.userSettingService.GetUserSetting<string>(UserSettingConstants.ProcessPriority))\r
+            switch ((ProcessPriority)this.userSettingService.GetUserSetting<int>(UserSettingConstants.ProcessPriorityInt))\r
             {\r
-                case "Realtime":\r
-                    Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.RealTime;\r
-                    break;\r
-                case "High":\r
+                case ProcessPriority.High:\r
                     Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.High;\r
                     break;\r
-                case "Above Normal":\r
+                case ProcessPriority.AboveNormal:\r
                     Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.AboveNormal;\r
                     break;\r
-                case "Normal":\r
+                case ProcessPriority.Normal:\r
                     Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.Normal;\r
                     break;\r
-                case "Low":\r
+                case ProcessPriority.Low:\r
                     Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.Idle;\r
                     break;\r
                 default:\r
index c3d407f92d9c27d7c670d24f26e3599a9ff9aa00..bc8c241bd75b7eea42912999c5d4c68d3f95023f 100644 (file)
@@ -55,8 +55,7 @@ namespace HandBrakeWPF.ViewModels
         private string autonameFormat;\r
         private bool changeToTitleCase;\r
         private bool checkForUpdates;\r
-        private BindingList<string> checkForUpdatesFrequencies = new BindingList<string>();\r
-        private int checkForUpdatesFrequency;\r
+        private UpdateCheck checkForUpdatesFrequency;\r
         private bool clearOldOlgs;\r
         private BindingList<string> constantQualityGranularity = new BindingList<string>();\r
         private bool copyLogToEncodeDirectory;\r
@@ -66,22 +65,19 @@ namespace HandBrakeWPF.ViewModels
         private BindingList<int> logVerbosityOptions = new BindingList<int>();\r
         private long minLength;\r
         private bool minimiseToTray;\r
-        private BindingList<string> mp4ExtensionOptions = new BindingList<string>();\r
         private bool preventSleep;\r
         private BindingList<int> previewPicturesToScan = new BindingList<int>();\r
-        private BindingList<string> priorityLevelOptions = new BindingList<string>();\r
         private bool removeUnderscores;\r
         private string selectedGranulairty;\r
-        private int selectedMp4Extension;\r
+        private Mp4Behaviour selectedMp4Extension;\r
         private int selectedPreviewCount;\r
-        private string selectedPriority;\r
+        private ProcessPriority selectedPriority;\r
         private int selectedVerbosity;\r
         private bool sendFileAfterEncode;\r
         private string sendFileTo;\r
         private string sendFileToPath;\r
         private string vlcPath;\r
         private WhenDone whenDone;\r
-        private BindingList<WhenDone> whenDoneOptions = new BindingList<WhenDone>();\r
         private bool clearQueueOnEncodeCompleted;\r
         private OptionsTab selectedTab;\r
         private string updateMessage;\r
@@ -250,24 +246,18 @@ namespace HandBrakeWPF.ViewModels
         /// <summary>\r
         /// Gets or sets CheckForUpdatesFrequencies.\r
         /// </summary>\r
-        public BindingList<string> CheckForUpdatesFrequencies\r
+        public BindingList<UpdateCheck> CheckForUpdatesFrequencies\r
         {\r
             get\r
             {\r
-                return this.checkForUpdatesFrequencies;\r
-            }\r
-\r
-            set\r
-            {\r
-                this.checkForUpdatesFrequencies = value;\r
-                this.NotifyOfPropertyChange("CheckForUpdatesFrequencies");\r
+                return new BindingList<UpdateCheck>(EnumHelper<UpdateCheck>.GetEnumList().ToList());\r
             }\r
         }\r
 \r
         /// <summary>\r
         /// Gets or sets a value indicating whether CheckForUpdatesFrequency.\r
         /// </summary>\r
-        public int CheckForUpdatesFrequency\r
+        public UpdateCheck CheckForUpdatesFrequency\r
         {\r
             get\r
             {\r
@@ -277,7 +267,7 @@ namespace HandBrakeWPF.ViewModels
             set\r
             {\r
                 this.checkForUpdatesFrequency = value;\r
-                this.NotifyOfPropertyChange("CheckForUpdatesFrequency");\r
+                this.NotifyOfPropertyChange(() => this.CheckForUpdatesFrequency);\r
             }\r
         }\r
 \r
@@ -585,43 +575,34 @@ namespace HandBrakeWPF.ViewModels
         }\r
 \r
         /// <summary>\r
-        /// Gets or sets Mp4ExtensionOptions.\r
+        /// Gets or sets a value indicating whether RemoveUnderscores.\r
         /// </summary>\r
-        public BindingList<string> Mp4ExtensionOptions\r
+        public bool RemoveUnderscores\r
         {\r
             get\r
             {\r
-                return this.mp4ExtensionOptions;\r
+                return this.removeUnderscores;\r
             }\r
 \r
             set\r
             {\r
-                this.mp4ExtensionOptions = value;\r
-                this.NotifyOfPropertyChange("Mp4ExtensionOptions");\r
+                this.removeUnderscores = value;\r
+                this.NotifyOfPropertyChange("RemoveUnderscores");\r
             }\r
         }\r
 \r
-        /// <summary>\r
-        /// Gets or sets a value indicating whether RemoveUnderscores.\r
-        /// </summary>\r
-        public bool RemoveUnderscores\r
+        public BindingList<Mp4Behaviour> Mp4ExtensionOptions\r
         {\r
             get\r
             {\r
-                return this.removeUnderscores;\r
-            }\r
-\r
-            set\r
-            {\r
-                this.removeUnderscores = value;\r
-                this.NotifyOfPropertyChange("RemoveUnderscores");\r
+                return new BindingList<Mp4Behaviour>(EnumHelper<Mp4Behaviour>.GetEnumList().ToList());\r
             }\r
         }\r
 \r
         /// <summary>\r
         /// Gets or sets SelectedMp4Extension.\r
         /// </summary>\r
-        public int SelectedMp4Extension\r
+        public Mp4Behaviour SelectedMp4Extension\r
         {\r
             get\r
             {\r
@@ -631,7 +612,7 @@ namespace HandBrakeWPF.ViewModels
             set\r
             {\r
                 this.selectedMp4Extension = value;\r
-                this.NotifyOfPropertyChange("SelectedMp4Extension");\r
+                this.NotifyOfPropertyChange(() => this.SelectedMp4Extension);\r
             }\r
         }\r
 \r
@@ -851,20 +832,11 @@ namespace HandBrakeWPF.ViewModels
             }\r
         }\r
 \r
-        /// <summary>\r
-        /// Gets or sets PriorityLevelOptions.\r
-        /// </summary>\r
-        public BindingList<string> PriorityLevelOptions\r
+        public BindingList<ProcessPriority> PriorityLevelOptions\r
         {\r
             get\r
             {\r
-                return this.priorityLevelOptions;\r
-            }\r
-\r
-            set\r
-            {\r
-                this.priorityLevelOptions = value;\r
-                this.NotifyOfPropertyChange("PriorityLevelOptions");\r
+                return new BindingList<ProcessPriority>(EnumHelper<ProcessPriority>.GetEnumList().ToList());\r
             }\r
         }\r
 \r
@@ -888,7 +860,7 @@ namespace HandBrakeWPF.ViewModels
         /// <summary>\r
         /// Gets or sets SelectedPriority.\r
         /// </summary>\r
-        public string SelectedPriority\r
+        public ProcessPriority SelectedPriority\r
         {\r
             get\r
             {\r
@@ -903,19 +875,19 @@ namespace HandBrakeWPF.ViewModels
                 // Set the Process Priority\r
                 switch (value)\r
                 {\r
-                    case "Realtime":\r
-                        Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.RealTime;\r
-                        break;\r
-                    case "High":\r
+                    case ProcessPriority.High:\r
                         Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.High;\r
                         break;\r
-                    case "Above Normal":\r
+                    case ProcessPriority.AboveNormal:\r
                         Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.AboveNormal;\r
                         break;\r
-                    case "Normal":\r
+                    case ProcessPriority.Normal:\r
                         Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.Normal;\r
                         break;\r
-                    case "Low":\r
+                    case ProcessPriority.BelowNormal:\r
+                        Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.BelowNormal;\r
+                        break;\r
+                    case ProcessPriority.Low:\r
                         Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.Idle;\r
                         break;\r
                     default:\r
@@ -1439,18 +1411,7 @@ namespace HandBrakeWPF.ViewModels
             this.SelectedLanguage = InterfaceLanguageUtilities.FindInterfaceLanguage(culture);\r
 \r
             this.CheckForUpdates = this.userSettingService.GetUserSetting<bool>(UserSettingConstants.UpdateStatus);\r
-\r
-            // Days between update checks\r
-            this.checkForUpdatesFrequencies.Clear();\r
-            this.checkForUpdatesFrequencies.Add("Weekly");\r
-            this.checkForUpdatesFrequencies.Add("Monthly");\r
-\r
-            this.CheckForUpdatesFrequency = this.userSettingService.GetUserSetting<int>(UserSettingConstants.DaysBetweenUpdateCheck);\r
-            if (this.CheckForUpdatesFrequency > 1)\r
-            {\r
-                this.CheckForUpdatesFrequency = 1;\r
-            }\r
-\r
+            this.CheckForUpdatesFrequency = (UpdateCheck)this.userSettingService.GetUserSetting<int>(UserSettingConstants.DaysBetweenUpdateCheck);\r
             this.ShowStatusInTitleBar = this.userSettingService.GetUserSetting<bool>(UserSettingConstants.ShowStatusInTitleBar);\r
             this.ShowPreviewOnSummaryTab = this.userSettingService.GetUserSetting<bool>(UserSettingConstants.ShowPreviewOnSummaryTab);\r
             this.ShowAddAllToQueue = this.userSettingService.GetUserSetting<bool>(UserSettingConstants.ShowAddAllToQueue);\r
@@ -1461,16 +1422,6 @@ namespace HandBrakeWPF.ViewModels
             // When Done\r
             // #############################\r
 \r
-            // On Encode Completion Action\r
-            this.whenDoneOptions.Clear();\r
-            this.whenDoneOptions.Add(WhenDone.DoNothing);\r
-            this.whenDoneOptions.Add(WhenDone.Shutdown);\r
-            this.whenDoneOptions.Add(WhenDone.Sleep);\r
-            this.whenDoneOptions.Add(WhenDone.Hibernate);\r
-            this.whenDoneOptions.Add(WhenDone.LockSystem);\r
-            this.whenDoneOptions.Add(WhenDone.LogOff);\r
-            this.whenDoneOptions.Add(WhenDone.QuickHandBrake);\r
-\r
             this.WhenDone = (WhenDone)this.userSettingService.GetUserSetting<int>(UserSettingConstants.WhenCompleteAction);\r
             if (this.userSettingService.GetUserSetting<bool>(UserSettingConstants.ResetWhenDoneAction))\r
             {\r
@@ -1505,11 +1456,7 @@ namespace HandBrakeWPF.ViewModels
             this.AutonameFormat = this.IsValidAutonameFormat(anf, true) ? anf : "{source}-{title}";\r
 \r
             // Use iPod/iTunes friendly .m4v extension for MP4 files.\r
-            this.mp4ExtensionOptions.Clear();\r
-            this.mp4ExtensionOptions.Add("Automatic");\r
-            this.mp4ExtensionOptions.Add("Always use MP4");\r
-            this.mp4ExtensionOptions.Add("Always use M4V");\r
-            this.SelectedMp4Extension = this.userSettingService.GetUserSetting<int>(UserSettingConstants.UseM4v);\r
+            this.SelectedMp4Extension = (Mp4Behaviour)this.userSettingService.GetUserSetting<int>(UserSettingConstants.UseM4v);\r
 \r
             // Remove Underscores\r
             this.RemoveUnderscores = this.userSettingService.GetUserSetting<bool>(UserSettingConstants.AutoNameRemoveUnderscore);\r
@@ -1550,15 +1497,7 @@ namespace HandBrakeWPF.ViewModels
             // #############################\r
             // CLI\r
             // #############################\r
-\r
-            // Priority level for encodes\r
-            this.priorityLevelOptions.Clear();\r
-            this.priorityLevelOptions.Add("High");\r
-            this.priorityLevelOptions.Add("Above Normal");\r
-            this.priorityLevelOptions.Add("Normal");\r
-            this.priorityLevelOptions.Add("Below Normal");\r
-            this.priorityLevelOptions.Add("Low");\r
-            this.SelectedPriority = userSettingService.GetUserSetting<string>(UserSettingConstants.ProcessPriority);\r
+            this.SelectedPriority = (ProcessPriority)userSettingService.GetUserSetting<int>(UserSettingConstants.ProcessPriorityInt);\r
 \r
             this.PreventSleep = userSettingService.GetUserSetting<bool>(UserSettingConstants.PreventSleep);\r
             this.PauseOnLowDiskspace = userSettingService.GetUserSetting<bool>(UserSettingConstants.PauseOnLowDiskspace);\r
@@ -1670,7 +1609,6 @@ namespace HandBrakeWPF.ViewModels
             this.userSettingService.SetUserSetting(UserSettingConstants.PlaySoundWhenDone, this.PlaySoundWhenDone);\r
             this.userSettingService.SetUserSetting(UserSettingConstants.PlaySoundWhenQueueDone, this.PlaySoundWhenQueueDone);\r
             this.userSettingService.SetUserSetting(UserSettingConstants.WhenDoneAudioFile, this.WhenDoneAudioFileFullPath);\r
-            \r
 \r
             /* Output Files */\r
             this.userSettingService.SetUserSetting(UserSettingConstants.AutoNaming, this.AutomaticallyNameFiles);\r
@@ -1697,7 +1635,7 @@ namespace HandBrakeWPF.ViewModels
             this.userSettingService.SetUserSetting(UserSettingConstants.EnableNvencEncoder, this.EnableNvencEncoder);\r
 \r
             /* System and Logging */\r
-            this.userSettingService.SetUserSetting(UserSettingConstants.ProcessPriority, this.SelectedPriority);\r
+            this.userSettingService.SetUserSetting(UserSettingConstants.ProcessPriorityInt, this.SelectedPriority);\r
             this.userSettingService.SetUserSetting(UserSettingConstants.PreventSleep, this.PreventSleep);\r
             this.userSettingService.SetUserSetting(UserSettingConstants.PauseOnLowDiskspace, this.PauseOnLowDiskspace);\r
             this.userSettingService.SetUserSetting(UserSettingConstants.PauseQueueOnLowDiskspaceLevel, this.PauseOnLowDiskspaceLevel);\r
index 21bd11013b142683930aa9444e6f48f550fae0fa..7ec7899057aad73796b3ffa0a54ebf7c9c87ec1a 100644 (file)
@@ -72,7 +72,7 @@ namespace HandBrakeWPF.ViewModels
             this.Langauges = LanguageUtilities.MapLanguages().Keys;\r
             this.CharacterCodes = CharCodesUtilities.GetCharacterCodes();\r
 \r
-            this.foreignAudioSearchTrack = new Subtitle { SubtitleType = SubtitleType.ForeignAudioSearch, Language = "Foreign Audio Search" };\r
+            this.foreignAudioSearchTrack = new Subtitle { SubtitleType = SubtitleType.ForeignAudioSearch, Language = Resources.SubtitleViewModel_ForeignAudioSearch };\r
             this.SourceTracks = new List<Subtitle> { this.foreignAudioSearchTrack };\r
         }\r
 \r
index 9e070e6e7d3ddd1521b046d9af16a188e961c030..ce4e6969bba3efac2b5129c9dae13c41730d778b 100644 (file)
@@ -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;
                 }
index a3ce125a557c96dba38aecce364beb97ae4902fb..9f489a5740089c887a934de73d3377a1f3a56372 100644 (file)
@@ -38,7 +38,9 @@
         <Options:LogLevelConverter x:Key="LogLevelConverter" />\r
         <Options:FileSizeConverter x:Key="fileSizeConverter" />\r
         <Converters:OptionTabConverter x:Key="optionTabConverter" />\r
-        \r
+        <Options:ProcessPriorityConverter x:Key="ProcessPriorityConverter" />\r
+        <Options:Mp4BehaviourConverter x:Key="Mp4BehaviourConverter" />\r
+        <Options:UpdateCheckConverter x:Key="UpdateCheckConverter" />\r
 \r
         <Converters:BooleanToVisibilityConverter x:Key="boolToVisConverter" />\r
 \r
 \r
                         <StackPanel Orientation="Vertical" Margin="20,0,0,0">\r
                             <CheckBox Content="{x:Static Properties:Resources.Options_CheckForUpdates}" IsChecked="{Binding CheckForUpdates}" />\r
-                            <ComboBox Name="checkForUpdateFrequency" ItemsSource="{Binding CheckForUpdatesFrequencies}" SelectedIndex="{Binding CheckForUpdatesFrequency}" Margin="25,0,0,5" HorizontalAlignment="Left" Width="120"></ComboBox>\r
+                            <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>\r
                         </StackPanel>\r
                     </StackPanel>\r
 \r
 \r
                             <StackPanel Orientation="Horizontal" Margin="0,15,0,0">\r
                                 <TextBlock VerticalAlignment="Center" Text="{x:Static Properties:Resources.Options_MP4FileExtension}" />\r
-                                <ComboBox Name="mp4FileExtension" Width="120" ItemsSource="{Binding Mp4ExtensionOptions}" SelectedIndex="{Binding SelectedMp4Extension}" HorizontalAlignment="Left" />\r
+                                <ComboBox Name="mp4FileExtension" ItemsSource="{Binding Mp4ExtensionOptions, Converter={StaticResource Mp4BehaviourConverter}}" SelectedItem="{Binding SelectedMp4Extension, Converter={StaticResource Mp4BehaviourConverter}}" Width="120" HorizontalAlignment="Left"  />\r
                             </StackPanel>\r
 \r
                         </StackPanel>\r
                             </StackPanel>\r
                             <StackPanel Orientation="Horizontal" Margin="0,5,0,0">\r
                                 <TextBlock Text="{x:Static Properties:Resources.Options_PriorityLevel}" Width="250" VerticalAlignment="Center" />\r
-                                <ComboBox Name="processPriorityLevel" ItemsSource="{Binding PriorityLevelOptions}" SelectedItem="{Binding SelectedPriority}" Width="120" />\r
+                                <ComboBox Name="processPriorityLevel" ItemsSource="{Binding PriorityLevelOptions, Converter={StaticResource ProcessPriorityConverter}}" SelectedItem="{Binding SelectedPriority, Converter={StaticResource ProcessPriorityConverter}}" Width="120" />\r
                             </StackPanel>\r
                   </StackPanel>\r
                     </StackPanel>\r
index 3b0f13d3814d9b8fa410e8cb52f15823310f2876..a6e5081f16f795958fe4bf35190f9b8f454de038 100644 (file)
@@ -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>
 
index 1efd1113a6fe6c93f6137c389fdbf6e55324b5c3..98e40d45e3b4ebc7b37d756141a8b156161fb865 100644 (file)
   </item>\r
   <item>\r
     <key>\r
-      <string>ProcessPriority</string>\r
+      <string>ProcessPriorityInt</string>\r
     </key>\r
     <value>\r
-      <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>\r
+      <anyType xmlns:q1="http://www.w3.org/2001/XMLSchema" d4p1:type="q1:int" xmlns:d4p1="http://www.w3.org/2001/XMLSchema-instance">3</anyType>\r
     </value>\r
   </item>\r
   <item>\r
       <string>daysBetweenUpdateCheck</string>\r
     </key>\r
     <value>\r
-      <anyType xmlns:q1="http://www.w3.org/2001/XMLSchema" d4p1:type="q1:int" xmlns:d4p1="http://www.w3.org/2001/XMLSchema-instance">1</anyType>\r
+      <anyType xmlns:q1="http://www.w3.org/2001/XMLSchema" d4p1:type="q1:int" xmlns:d4p1="http://www.w3.org/2001/XMLSchema-instance">0</anyType>\r
     </value>\r
   </item>\r
   <item>\r