From 205272437067a21a0a938b0a2a0a429eab1bb95e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= Date: Thu, 8 Dec 2022 11:23:15 +0100 Subject: [PATCH] Get rid of `ProfileName` and replace it with `ProfileStringConverter` --- SteamController/Controller.cs | 2 +- .../Helpers/ProfilesStringConverter.cs | 51 ++----------------- SteamController/Settings.cs | 6 +-- 3 files changed, 7 insertions(+), 52 deletions(-) diff --git a/SteamController/Controller.cs b/SteamController/Controller.cs index 0333db8..2b2e4fb 100644 --- a/SteamController/Controller.cs +++ b/SteamController/Controller.cs @@ -35,7 +35,7 @@ namespace SteamController public Controller() { // Set available profiles - ProfilesSettings.Helpers.ProfileNameConverter.Profiles = context.Profiles. + ProfilesSettings.Helpers.ProfileStringConverter.Profiles = context.Profiles. Where((profile) => profile.Visible). Select((profile) => profile.Name).ToArray(); diff --git a/SteamController/ProfilesSettings/Helpers/ProfilesStringConverter.cs b/SteamController/ProfilesSettings/Helpers/ProfilesStringConverter.cs index 96963cc..c7370ea 100644 --- a/SteamController/ProfilesSettings/Helpers/ProfilesStringConverter.cs +++ b/SteamController/ProfilesSettings/Helpers/ProfilesStringConverter.cs @@ -3,28 +3,7 @@ using System.Globalization; namespace SteamController.ProfilesSettings.Helpers { - [TypeConverter(typeof(ProfileNameConverter))] - public class ProfileName - { - public String Name { get; set; } = ""; - - public ProfileName(string name) - { - this.Name = name; - } - - public static implicit operator string(ProfileName name) - { - return name.Name; - } - - public override string ToString() - { - return this.Name; - } - } - - internal class ProfileNameConverter : TypeConverter + internal class ProfileStringConverter : TypeConverter { public static string[] Profiles = new string[0]; @@ -45,33 +24,9 @@ namespace SteamController.ProfilesSettings.Helpers return true; } - public override bool CanConvertFrom(ITypeDescriptorContext? context, Type sourceType) - { - return sourceType == typeof(string) || base.CanConvertFrom(context, sourceType); - } - - public override object? ConvertFrom(ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) - { - if (value is string) - return new ProfileName(value?.ToString() ?? ""); - return base.ConvertFrom(context, culture, value); - } - - public override bool CanConvertTo(ITypeDescriptorContext? context, Type? destinationType) - { - return destinationType == typeof(string) || base.CanConvertTo(context, destinationType); - } - - public override object? ConvertTo(ITypeDescriptorContext? context, CultureInfo? culture, object? value, Type destinationType) - { - if (destinationType == typeof(string)) - return value?.ToString(); - return base.ConvertTo(context, culture, value, destinationType); - } - public override bool IsValid(ITypeDescriptorContext? context, object? value) { - return Profiles.Contains(value?.ToString()) || base.IsValid(context, value); + return Profiles.Contains(value?.ToString()); } } -} \ No newline at end of file +} diff --git a/SteamController/Settings.cs b/SteamController/Settings.cs index dc07a8a..26699c4 100644 --- a/SteamController/Settings.cs +++ b/SteamController/Settings.cs @@ -8,7 +8,6 @@ namespace SteamController internal sealed partial class Settings : CommonHelpers.BaseSettings { public static readonly Settings Default = new Settings(); - private static readonly ProfilesSettings.Helpers.ProfileName DefaultProfileDefault = new ProfilesSettings.Helpers.ProfileName("Default"); public Settings() : base("Settings") { @@ -23,9 +22,10 @@ namespace SteamController [Description("Default profile used when going back to Desktop mode")] [BrowsableAttribute(true)] - public ProfilesSettings.Helpers.ProfileName DefaultProfile + [TypeConverter(typeof(ProfilesSettings.Helpers.ProfileStringConverter))] + public string DefaultProfile { - get { return Get("DefaultProfile", DefaultProfileDefault); } + get { return Get("DefaultProfile", "Desktop"); } set { Set("DefaultProfile", value); } }