// -------------------------------------------------------------------------------------------------------------------- // // This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License. // // // The video preset. // // -------------------------------------------------------------------------------------------------------------------- namespace HandBrakeWPF.Services.Encode.Model.Models.Video { using VideoPresetFactory = HandBrakeWPF.Services.Encode.Factories.VideoPresetFactory; /// /// The video preset. /// public class VideoPreset { /// /// A built-in version of the "None" object. /// public static VideoPreset None = new VideoPreset("None", "none"); /// /// Initializes a new instance of the class. /// public VideoPreset() { } /// /// Initializes a new instance of the class. /// /// /// The display name. /// /// /// The short name. /// public VideoPreset(string displayName, string shortName) { this.DisplayName = VideoPresetFactory.GetDisplayName(displayName); this.ShortName = shortName; } /// /// Gets or sets the display name. /// public string DisplayName { get; set; } /// /// Gets or sets the short name. /// public string ShortName { get; set; } /// /// The clone. /// /// /// The . /// public VideoPreset Clone() { return new VideoPreset(this.DisplayName, this.ShortName); } /// /// The equals. /// /// /// The other. /// /// /// The . /// protected bool Equals(VideoPreset other) { return string.Equals(this.ShortName, other.ShortName); } /// /// The equals. /// /// /// The obj. /// /// /// The . /// public override bool Equals(object obj) { if (ReferenceEquals(null, obj)) { return false; } if (ReferenceEquals(this, obj)) { return true; } if (obj.GetType() != this.GetType()) { return false; } return this.Equals((VideoPreset)obj); } /// /// The get hash code. /// /// /// The . /// public override int GetHashCode() { return (this.ShortName != null ? this.ShortName.GetHashCode() : 0); } } }