summaryrefslogtreecommitdiffstats
path: root/win/CS/HandBrakeWPF/Converters/Subtitles/SubtitleBehaviourConverter.cs
diff options
context:
space:
mode:
authorsr55 <[email protected]>2014-02-16 18:39:29 +0000
committersr55 <[email protected]>2014-02-16 18:39:29 +0000
commitd4327b0f304b99a7650b12622b48e6145794ab65 (patch)
treef0c0912f10a487d077ad36277f67f84889f176e2 /win/CS/HandBrakeWPF/Converters/Subtitles/SubtitleBehaviourConverter.cs
parent4c18d60bcd318aae2c39b3d898e96ce0470c7277 (diff)
WinGui: Initial work to refactor the Audio and Subtitle behavioural based automatic track selections. This is not quite complete yet but close enough for gathering feedback.
- Simplified UI design that's now available on the "Subtitle" and "Audio" tabs rather than the Options screen. The settings are no longer part of the app preferences. They are now per-preset. Build in presets default to None. - Selected Languages can now be set independently for Audio and Video. - Preferred Language is now part of the Selected Languages list. - Warning: Import/Export of presets still to be implemented. Design may yet change. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6036 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'win/CS/HandBrakeWPF/Converters/Subtitles/SubtitleBehaviourConverter.cs')
-rw-r--r--win/CS/HandBrakeWPF/Converters/Subtitles/SubtitleBehaviourConverter.cs90
1 files changed, 90 insertions, 0 deletions
diff --git a/win/CS/HandBrakeWPF/Converters/Subtitles/SubtitleBehaviourConverter.cs b/win/CS/HandBrakeWPF/Converters/Subtitles/SubtitleBehaviourConverter.cs
new file mode 100644
index 000000000..251565d80
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Converters/Subtitles/SubtitleBehaviourConverter.cs
@@ -0,0 +1,90 @@
+// --------------------------------------------------------------------------------------------------------------------
+// <copyright file="SubtitleBehaviourConverter.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>
+// Subtitle Behaviour Converter
+// </summary>
+// --------------------------------------------------------------------------------------------------------------------
+
+namespace HandBrakeWPF.Converters.Subtitles
+{
+ using System;
+ using System.ComponentModel;
+ using System.Globalization;
+ using System.Linq;
+ using System.Windows.Data;
+
+ using HandBrake.ApplicationServices.Model.Subtitle;
+ using HandBrake.ApplicationServices.Utilities;
+
+ /// <summary>
+ /// Subtitle Behaviour Converter
+ /// </summary>
+ public class SubtitleBehaviourConverter : IValueConverter
+ {
+ /// <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<SubtitleBehaviourModes>))
+ {
+ return
+ new BindingList<string>(
+ EnumHelper<SubtitleBehaviourModes>.GetEnumDisplayValues(typeof(SubtitleBehaviourModes)).ToList());
+ }
+
+ if (value != null && value.GetType() == typeof(SubtitleBehaviourModes))
+ {
+ return EnumHelper<SubtitleBehaviourModes>.GetDisplay((SubtitleBehaviourModes)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<SubtitleBehaviourModes>.GetValue(name);
+ }
+
+ return null;
+ }
+ }
+}