--- /dev/null
+// --------------------------------------------------------------------------------------------------------------------
+// <copyright file="DisplayName.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>
+// A Display Name for an enum value
+// </summary>
+// --------------------------------------------------------------------------------------------------------------------
+
+namespace HandBrake.ApplicationServices.Attributes
+{
+ using System;
+
+ /// <summary>
+ /// A Short Name for an enum value
+ /// </summary>
+ public class DisplayName : Attribute
+ {
+ /// <summary>
+ /// Initializes a new instance of the <see cref="DisplayName"/> class.
+ /// </summary>
+ /// <param name="displayName">
+ /// The name name.
+ /// </param>
+ public DisplayName(string displayName)
+ {
+ this.Name = displayName;
+ }
+
+ /// <summary>
+ /// Gets the short name.
+ /// </summary>
+ public string Name { get; private set; }
+ }
+}
<Private>True</Private>\r
</Reference>\r
<Reference Include="System" />\r
- <Reference Include="System.ComponentModel.DataAnnotations" />\r
<Reference Include="System.Core">\r
<RequiredTargetFramework>3.5</RequiredTargetFramework>\r
</Reference>\r
<Reference Include="System.Xml" />\r
</ItemGroup>\r
<ItemGroup>\r
+ <Compile Include="Attributes\DisplayName.cs" />\r
<Compile Include="Attributes\ShortName.cs" />\r
<Compile Include="Interop\EventArgs\EncodeCompletedEventArgs.cs" />\r
<Compile Include="Interop\EventArgs\EncodeProgressEventArgs.cs" />\r
\r
namespace HandBrake.ApplicationServices.Interop.Model.Encoding\r
{\r
- using System.ComponentModel.DataAnnotations;\r
-\r
using HandBrake.ApplicationServices.Attributes;\r
\r
/// <summary>\r
/// </summary>\r
public enum Anamorphic\r
{\r
- [Display(Name = "None")]\r
+ [DisplayName("None")]\r
[ShortName("none")]\r
None = 0,\r
- [Display(Name = "Automatic")]\r
+ [DisplayName("Automatic")]\r
[ShortName("auto")]\r
Automatic = 4,\r
- [Display(Name = "Loose")]\r
+ [DisplayName("Loose")]\r
[ShortName("loose")]\r
Loose = 2,\r
- [Display(Name = "Custom")]\r
+ [DisplayName("Custom")]\r
[ShortName("custom")]\r
Custom = 3\r
}\r
namespace HandBrake.ApplicationServices.Interop.Model.Encoding\r
{\r
using System;\r
- using System.ComponentModel.DataAnnotations;\r
+\r
+ using HandBrake.ApplicationServices.Attributes;\r
\r
/// <summary>\r
/// The container.\r
{\r
None = 0x0,\r
\r
- [Display(Name = "MP4")]\r
+ [DisplayName("MP4")]\r
MP4,\r
- [Display(Name = "MKV")]\r
+ [DisplayName("MKV")]\r
MKV\r
}\r
}\r
\r
namespace HandBrake.ApplicationServices.Interop.Model.Encoding\r
{\r
- using System.ComponentModel.DataAnnotations;\r
-\r
using HandBrake.ApplicationServices.Attributes;\r
\r
/// <summary>\r
/// </summary>\r
public enum VideoEncoder\r
{\r
- [Display(Name = "H.264 (x264)")]\r
+ [DisplayName("H.264 (x264)")]\r
[ShortName("x264")]\r
X264 = 0,\r
\r
- [Display(Name = "H.264 10-bit (x264)")]\r
+ [DisplayName("H.264 10-bit (x264)")]\r
[ShortName("x264_10bit")]\r
X264_10,\r
\r
- [Display(Name = "H.264 (Intel QSV)")]\r
+ [DisplayName("H.264 (Intel QSV)")]\r
[ShortName("qsv_h264")]\r
QuickSync,\r
\r
- [Display(Name = "MPEG-4")]\r
+ [DisplayName("MPEG-4")]\r
[ShortName("mpeg4")]\r
FFMpeg,\r
\r
- [Display(Name = "MPEG-2")]\r
+ [DisplayName("MPEG-2")]\r
[ShortName("mpeg2")]\r
FFMpeg2,\r
\r
- [Display(Name = "Theora")]\r
+ [DisplayName("Theora")]\r
[ShortName("theora")]\r
Theora,\r
\r
- [Display(Name = "H.265 (x265)")]\r
+ [DisplayName("H.265 (x265)")]\r
[ShortName("x265")]\r
X265,\r
\r
- [Display(Name = "H.265 12-bit (x265)")]\r
+ [DisplayName("H.265 12-bit (x265)")]\r
[ShortName("x265_12bit")]\r
X265_12,\r
\r
- [Display(Name = "H.265 10-bit (x265)")]\r
+ [DisplayName("H.265 10-bit (x265)")]\r
[ShortName("x265_10bit")]\r
X265_10,\r
\r
- [Display(Name = "H.265 (Intel QSV)")]\r
+ [DisplayName("H.265 (Intel QSV)")]\r
[ShortName("qsv_h265")]\r
QuickSyncH265,\r
\r
- [Display(Name = "H.265 10-bit (Intel QSV)")]\r
+ [DisplayName("H.265 10-bit (Intel QSV)")]\r
[ShortName("qsv_h265_10bit")]\r
QuickSyncH26510b,\r
\r
- [Display(Name = "VP8")]\r
+ [DisplayName("VP8")]\r
[ShortName("VP8")]\r
VP8,\r
\r
- [Display(Name = "VP9")]\r
+ [DisplayName("VP9")]\r
[ShortName("VP9")]\r
VP9\r
}\r
\r
namespace HandBrake.ApplicationServices.Model\r
{\r
- using System.ComponentModel.DataAnnotations;\r
-\r
using HandBrake.ApplicationServices.Attributes;\r
\r
/// <summary>\r
/// </summary>\r
public enum VideoScaler\r
{\r
- [Display(Name = "Lanczos (default)")]\r
+ [DisplayName("Lanczos (default)")]\r
[ShortName("swscale")]\r
Lanczos = 0,\r
\r
- [Display(Name = "Bicubic (OpenCL)")]\r
+ [DisplayName("Bicubic (OpenCL)")]\r
[ShortName("opencl")]\r
BicubicCl,\r
}\r
+++ /dev/null
-// --------------------------------------------------------------------------------------------------------------------
-// <copyright file="EnumToDescConverter.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>
-// Enum to Description Converter
-// </summary>
-// --------------------------------------------------------------------------------------------------------------------
-
-namespace HandBrake.ApplicationServices.Converters
-{
- using System;
- using System.ComponentModel;
-
- using HandBrake.ApplicationServices.Utilities;
-
- using HandBrakeWPF.Utilities;
-
- /// <summary>
- /// Enum to Description Converter
- /// </summary>
- public class EnumToDescConverter : EnumConverter
- {
- /// <summary>
- /// Initializes a new instance of the <see cref="EnumToDescConverter"/> class.
- /// </summary>
- /// <param name="type">
- /// The type.
- /// </param>
- public EnumToDescConverter(Type type)
- : base(type)
- {
- }
-
- /// <summary>
- /// Convert To an Object.
- /// </summary>
- /// <param name="context">
- /// The context.
- /// </param>
- /// <param name="culture">
- /// The culture.
- /// </param>
- /// <param name="value">
- /// The value.
- /// </param>
- /// <param name="destinationType">
- /// The destination type.
- /// </param>
- /// <returns>
- /// The Enum Object
- /// </returns>
- public override object ConvertTo(
- ITypeDescriptorContext context,
- System.Globalization.CultureInfo culture,
- object value,
- Type destinationType)
- {
- return EnumHelper<Enum>.GetDescription((Enum)value);
- }
- }
-}
<Reference Include="PresentationFramework" />\r
<Reference Include="PresentationFramework.Aero" />\r
<Reference Include="System" />\r
- <Reference Include="System.ComponentModel.DataAnnotations" />\r
<Reference Include="System.Data" />\r
<Reference Include="System.Drawing" />\r
<Reference Include="System.Management" />\r
<Compile Include="Converters\Audio\AudioRateTypeConverter.cs" />\r
<Compile Include="Converters\Audio\AudioTrackDefaultBehaviourConverter.cs" />\r
<Compile Include="Converters\Audio\AudioBehaviourConverter.cs" />\r
- <Compile Include="Converters\EnumToDescConverter.cs" />\r
<Compile Include="Converters\Filters\DenoisePresetConverter.cs" />\r
<Compile Include="Converters\Options\FileSizeConverter.cs" />\r
<Compile Include="Converters\Options\LogLevelConverter.cs" />\r
/// </summary>\r
public enum AudioBehaviourModes\r
{\r
- [Display(Name = "No Audio")]\r
+ [DisplayName("No Audio")]\r
[ShortName("none")]\r
None = 0,\r
\r
- [Display(Name = "First Matching Selected Language")]\r
+ [DisplayName("First Matching Selected Language")]\r
[ShortName("first")]\r
FirstMatch,\r
\r
- [Display(Name = "All Matching Selected Languages")]\r
+ [DisplayName("All Matching Selected Languages")]\r
[ShortName("all")]\r
AllMatching,\r
}\r
\r
namespace HandBrakeWPF.Model.Audio\r
{\r
- using System.ComponentModel.DataAnnotations;\r
+ using HandBrake.ApplicationServices.Attributes;\r
\r
/// <summary>\r
/// The audio behaviours.\r
/// </summary>\r
public enum AudioTrackDefaultsMode\r
{\r
- [Display(Name = "Default")]\r
+ [DisplayName("Default")]\r
None = 0,\r
\r
- [Display(Name = "Use First Track as template")]\r
+ [DisplayName("Use First Track as template")]\r
FirstTrack,\r
\r
- [Display(Name = "Use All Tracks as templates")]\r
+ [DisplayName("Use All Tracks as templates")]\r
AllTracks,\r
}\r
}\r
\r
namespace HandBrakeWPF.Model\r
{\r
- using System.ComponentModel.DataAnnotations;\r
+ using HandBrake.ApplicationServices.Attributes;\r
\r
/// <summary>\r
/// A enum representing each tab on the options screen.\r
/// </summary>\r
public enum OptionsTab\r
{\r
- [Display(Name = "General")]\r
+ [DisplayName("General")]\r
General = 0,\r
\r
- [Display(Name = "Output Files")]\r
+ [DisplayName("Output Files")]\r
OutputFiles,\r
\r
- [Display(Name = "Video")]\r
+ [DisplayName("Video")]\r
Video,\r
\r
- [Display(Name = "Advanced")]\r
+ [DisplayName("Advanced")]\r
Advanced,\r
\r
- [Display(Name = "Updates")]\r
+ [DisplayName("Updates")]\r
Updates,\r
\r
- [Display(Name = "About HandBrake")]\r
+ [DisplayName("About HandBrake")]\r
About,\r
}\r
}\r
\r
namespace HandBrakeWPF.Model.Picture\r
{\r
- using System.ComponentModel.DataAnnotations;\r
+ using HandBrake.ApplicationServices.Attributes;\r
\r
/// <summary>\r
/// Picture Settings Mode when adding presets\r
/// </summary>\r
public enum PresetPictureSettingsMode\r
{\r
- [Display(Name = "None")]\r
+ [DisplayName("None")]\r
None = 0,\r
- [Display(Name = "Custom")]\r
+ [DisplayName("Custom")]\r
Custom = 1,\r
- [Display(Name = "Always use Source Resolution")]\r
+ [DisplayName("Always use Source Resolution")]\r
SourceMaximum = 2,\r
}\r
}
\ No newline at end of file
/// </summary>\r
public enum SubtitleBehaviourModes\r
{\r
- [Display(Name = "None")]\r
+ [DisplayName("None")]\r
[ShortName("none")]\r
None = 0,\r
\r
- [Display(Name = "First Matching Selected Language")]\r
+ [DisplayName("First Matching Selected Language")]\r
[ShortName("first")]\r
FirstMatch,\r
\r
- [Display(Name = "All Matching Selected Languages")]\r
+ [DisplayName("All Matching Selected Languages")]\r
[ShortName("all")]\r
AllMatching,\r
}\r
\r
namespace HandBrakeWPF.Model.Subtitles\r
{\r
- using System.ComponentModel.DataAnnotations;\r
-\r
using HandBrake.ApplicationServices.Attributes;\r
\r
/// <summary>\r
/// </summary>\r
public enum SubtitleBurnInBehaviourModes\r
{\r
- [Display(Name = "None")]\r
+ [DisplayName("None")]\r
[ShortName("none")]\r
None = 0,\r
\r
- [Display(Name = "Foreign Audio Track")]\r
+ [DisplayName("Foreign Audio Track")]\r
[ShortName("foreign")]\r
ForeignAudio,\r
\r
- [Display(Name = "First Track")]\r
+ [DisplayName("First Track")]\r
[ShortName("first")]\r
FirstTrack,\r
\r
- [Display(Name = "Foreign Audio Preferred, else First")]\r
+ [DisplayName("Foreign Audio Preferred, else First")]\r
[ShortName("foreign_first")]\r
ForeignAudioPreferred,\r
}\r
/// </summary>
public enum AudioEncoder
{
- [Display(Name = "AAC (avcodec)")]
+ [DisplayName("AAC (avcodec)")]
[ShortName("av_aac")]
ffaac,
- [Display(Name = "AAC (FDK)")]
+ [DisplayName("AAC (FDK)")]
[ShortName("fdk_aac")]
fdkaac,
- [Display(Name = "HE-AAC (FDK)")]
+ [DisplayName("HE-AAC (FDK)")]
[ShortName("fdk_haac")]
fdkheaac,
- [Display(Name = "MP3")]
+ [DisplayName("MP3")]
[ShortName("mp3")]
Lame,
- [Display(Name = "AC3")]
+ [DisplayName("AC3")]
[ShortName("ac3")]
Ac3,
- [Display(Name = "Auto Passthru")]
+ [DisplayName("Auto Passthru")]
[ShortName("copy")]
Passthrough,
- [Display(Name = "AC3 Passthru")]
+ [DisplayName("AC3 Passthru")]
[ShortName("copy:ac3")]
Ac3Passthrough,
- [Display(Name = "E-AC3 Passthru")]
+ [DisplayName("E-AC3 Passthru")]
[ShortName("copy:eac3")]
EAc3Passthrough,
- [Display(Name = "DTS Passthru")]
+ [DisplayName("DTS Passthru")]
[ShortName("copy:dts")]
DtsPassthrough,
- [Display(Name = "DTS-HD Passthru")]
+ [DisplayName("DTS-HD Passthru")]
[ShortName("copy:dtshd")]
DtsHDPassthrough,
- [Display(Name = "TrueHD Passthru")]
+ [DisplayName("TrueHD Passthru")]
[ShortName("copy:truehd")]
TrueHDPassthrough,
- [Display(Name = "AAC Passthru")]
+ [DisplayName("AAC Passthru")]
[ShortName("copy:aac")]
AacPassthru,
- [Display(Name = "MP3 Passthru")]
+ [DisplayName("MP3 Passthru")]
[ShortName("copy:mp3")]
Mp3Passthru,
- [Display(Name = "Vorbis")]
+ [DisplayName("Vorbis")]
[ShortName("vorbis")]
Vorbis,
- [Display(Name = "FLAC 16-bit")]
+ [DisplayName("FLAC 16-bit")]
[ShortName("flac16")]
ffflac,
- [Display(Name = "FLAC 24-bit")]
+ [DisplayName("FLAC 24-bit")]
[ShortName("flac24")]
ffflac24,
- [Display(Name = "FLAC Passthru")]
+ [DisplayName("FLAC Passthru")]
[ShortName("copy:flac")]
FlacPassthru,
- [Display(Name = "Opus (libopus)")]
+ [DisplayName("Opus (libopus)")]
[ShortName("opus")]
Opus,
}
namespace HandBrakeWPF.Services.Encode.Model.Models
{
- using System.ComponentModel.DataAnnotations;
+ using HandBrake.ApplicationServices.Attributes;
/// <summary>
/// The audio encoder rate type.
/// <summary>
/// The bitrate.
/// </summary>
- [Display(Name = "Bitrate: ")]
+ [DisplayName("Bitrate: ")]
Bitrate,
/// <summary>
/// The quality.
/// </summary>
- [Display(Name = "Quality: ")]
+ [DisplayName("Quality: ")]
Quality,
}
}
/// </summary>
public enum DenoisePreset
{
- [Display(Name = "Weak")]
+ [DisplayName("Weak")]
[ShortName("weak")]
Weak = 0,
- [Display(Name = "Medium")]
+ [DisplayName("Medium")]
[ShortName("medium")]
Medium,
- [Display(Name = "Strong")]
+ [DisplayName("Strong")]
[ShortName("strong")]
Strong,
- [Display(Name = "Custom")]
+ [DisplayName("Custom")]
[ShortName("custom")]
Custom,
- [Display(Name = "Ultralight")] // NLMeans only
+ [DisplayName("Ultralight")] // NLMeans only
[ShortName("ultralight")]
Ultralight,
- [Display(Name = "Light")] // NLMeans only
+ [DisplayName("Light")] // NLMeans only
[ShortName("light")]
Light,
}
/// </summary>
public enum DenoiseTune
{
- [Display(Name = "None")]
+ [DisplayName("None")]
[ShortName("none")]
None = 0,
- [Display(Name = "Film")]
+ [DisplayName("Film")]
[ShortName("film")]
Film,
- [Display(Name = "Grain")]
+ [DisplayName("Grain")]
[ShortName("grain")]
Grain,
- [Display(Name = "High Motion")]
+ [DisplayName("High Motion")]
[ShortName("highmotion")]
HighMotion,
- [Display(Name = "Animation")]
+ [DisplayName("Animation")]
[ShortName("animation")]
Animation,
- [Display(Name = "Tape")]
+ [DisplayName("Tape")]
[ShortName("tape")]
Tape,
- [Display(Name = "Sprite")]
+ [DisplayName("Sprite")]
[ShortName("sprite")]
Sprite,
}
namespace HandBrakeWPF.Services.Encode.Model.Models
{
- using System.ComponentModel;
- using System.ComponentModel.DataAnnotations;
-
using HandBrake.ApplicationServices.Attributes;
-
+
/// <summary>
/// The Output format.
/// </summary>
public enum OutputFormat
{
- [Description("MP4")]
- [Display(Name = "MP4")]
+ [DisplayName("MP4")]
[ShortName("av_mp4")]
Mp4 = 0,
- [Description("MKV")]
- [Display(Name = "MKV")]
+ [DisplayName("MKV")]
[ShortName("av_mkv")]
Mkv,
}
namespace HandBrakeWPF.Services.Encode.Model.Models
{
- using System.ComponentModel.DataAnnotations;
+ using HandBrake.ApplicationServices.Attributes;
/// <summary>
/// Point to Point Mode
/// </summary>
public enum PointToPointMode
{
- [Display(Name = "Chapters")]
+ [DisplayName("Chapters")]
Chapters = 0,
- [Display(Name = "Seconds")]
+ [DisplayName("Seconds")]
Seconds,
- [Display(Name = "Frames")]
+ [DisplayName("Frames")]
Frames,
- [Display(Name = "Preview")]
+ [DisplayName("Preview")]
Preview,
}
}
\r
namespace HandBrakeWPF.Services.Queue.Model\r
{\r
- using System.ComponentModel;\r
- using System.ComponentModel.DataAnnotations;\r
-\r
- using HandBrake.ApplicationServices.Converters;\r
+ using HandBrake.ApplicationServices.Attributes;\r
\r
/// <summary>\r
/// Queue Item Status\r
/// </summary>\r
- [TypeConverter(typeof(EnumToDescConverter))]\r
public enum QueueItemStatus\r
{\r
- [Description("Waiting")]\r
- [Display(Name = "Waiting")]\r
+ [DisplayName("Waiting")]\r
Waiting = 0,\r
\r
- [Description("In Progress")]\r
- [Display(Name = "In Progress")]\r
+ [DisplayName("In Progress")]\r
InProgress,\r
\r
- [Description("Completed")]\r
- [Display(Name = "Completed")]\r
+ [DisplayName("Completed")]\r
Completed,\r
\r
- [Description("Error")]\r
- [Display(Name = "Error")]\r
+ [DisplayName("Error")]\r
Error,\r
}\r
}\r
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
- using System.ComponentModel.DataAnnotations;
using System.Diagnostics;
using System.Linq;
using System.Reflection;
public static string GetDisplay(T value)
{
FieldInfo fieldInfo = value.GetType().GetField(value.ToString());
- DisplayAttribute[] attributes = (DisplayAttribute[])fieldInfo.GetCustomAttributes(typeof(DisplayAttribute), false);
+ ShortName[] attributes = (ShortName[])fieldInfo.GetCustomAttributes(typeof(ShortName), false);
return (attributes.Length > 0) ? attributes[0].Name : value.ToString();
}