1 // -------------------------------------------------------------------------------------------------------------------- 2 // <copyright file="FilterSettingsDescConverter.cs" company="HandBrake Project (http://handbrake.fr)"> 3 // This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License. 4 // </copyright> 5 // -------------------------------------------------------------------------------------------------------------------- 6 7 namespace HandBrakeWPF.Converters.Queue 8 { 9 using System; 10 using System.Collections.Generic; 11 using System.Globalization; 12 using System.Windows.Data; 13 14 using HandBrakeWPF.Model.Filters; 15 using HandBrakeWPF.Properties; 16 using HandBrakeWPF.Services.Encode.Model; 17 using HandBrakeWPF.Utilities; 18 using HandBrakeWPF.ViewModelItems.Filters; 19 20 public class FilterSettingsDescConverter : IValueConverter 21 { Convert(object value, Type targetType, object parameter, CultureInfo culture)22 public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 23 { 24 EncodeTask task = value as EncodeTask; 25 if (task != null) 26 { 27 List<string> filters = new List<string>(); 28 29 if (task.Detelecine != Detelecine.Off) 30 { 31 filters.Add(Resources.SummaryView_Detelecine); 32 } 33 34 if (task.DeinterlaceFilter != DeinterlaceFilter.Off) 35 { 36 filters.Add(EnumHelper<DeinterlaceFilter>.GetShortName(task.DeinterlaceFilter)); 37 } 38 39 if (task.Denoise != Denoise.Off) 40 { 41 filters.Add(task.Denoise.ToString()); 42 } 43 44 if (task.Sharpen != Sharpen.Off) 45 { 46 filters.Add(task.Sharpen.ToString()); 47 } 48 49 if (task.DeblockPreset != null && task.DeblockPreset.Key != DeblockFilter.Off) 50 { 51 filters.Add(Resources.SummaryView_Deblock); 52 } 53 54 if (task.Grayscale) 55 { 56 filters.Add(Resources.SummaryView_Grayscale); 57 } 58 59 if (task.Rotation != 0 || task.FlipVideo) 60 { 61 filters.Add(Resources.SummaryView_Rotation); 62 } 63 64 if (task.Colourspace != null && task.Colourspace.Key != ColourSpaceFilter.Off) 65 { 66 filters.Add(Resources.SummaryView_Colourspace); 67 } 68 69 if (filters.Count == 0) 70 { 71 return Resources.SummaryView_NoFilters; 72 } 73 74 return string.Join(", ", filters).TrimEnd(',').Trim(); 75 } 76 77 return Resources.SummaryView_NoFilters; 78 } 79 ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)80 public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 81 { 82 throw new NotImplementedException(); 83 } 84 } 85 } 86