// -------------------------------------------------------------------------------------------------------------------- // // This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License. // // // Defines the LogLevelConverter type. // // -------------------------------------------------------------------------------------------------------------------- namespace HandBrakeWPF.Converters.Options { using System; using System.Collections.Generic; using System.ComponentModel; using System.Globalization; using System.Windows.Data; /// /// The log level converter. /// public class LogLevelConverter : IValueConverter { /// /// The convert. /// /// /// The value. /// /// /// The target type. /// /// /// The parameter. /// /// /// The culture. /// /// /// The . /// public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value.GetType() == typeof(BindingList)) { return new List { "Minimised", "Standard", "Extended" }; } else if (value is int) { switch ((int)value) { case 0: return "Minimised"; case 2: return "Extended"; default: return "Standard"; } } return null; } /// /// The convert back. /// /// /// The value. /// /// /// The target type. /// /// /// The parameter. /// /// /// The culture. /// /// /// The . /// public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { switch ((string)value) { case "Minimised": return 0; case "Extended": return 2; default: case "Standard": return 1; } } } }