From 2331544a8021074ee8af22bdb0a3afe9ce0d2dfa Mon Sep 17 00:00:00 2001 From: Stone_Red <56473591+Stone-Red-Code@users.noreply.github.com> Date: Mon, 20 Nov 2023 20:31:35 +0100 Subject: [PATCH] Refactor step 2 --- .../Helpers/ColorJsonConverter.cs | 19 +++ src/DesktopMagic/MainWindow.xaml | 2 +- src/DesktopMagic/MainWindow.xaml.cs | 143 +++++++++++------- src/DesktopMagic/Plugins/InputElement.cs | 26 +++- src/DesktopMagic/Plugins/PluginWindow.xaml.cs | 15 +- .../Settings/DesktopMagicSettings.cs | 2 +- src/DesktopMagic/Settings/Layout.cs | 3 +- src/DesktopMagic/Settings/PluginSettings.cs | 6 +- 8 files changed, 146 insertions(+), 70 deletions(-) create mode 100644 src/DesktopMagic/Helpers/ColorJsonConverter.cs diff --git a/src/DesktopMagic/Helpers/ColorJsonConverter.cs b/src/DesktopMagic/Helpers/ColorJsonConverter.cs new file mode 100644 index 0000000..efbe86a --- /dev/null +++ b/src/DesktopMagic/Helpers/ColorJsonConverter.cs @@ -0,0 +1,19 @@ +using System; +using System.Drawing; +using System.Text.Json; +using System.Text.Json.Serialization; + +namespace DesktopMagic.Helpers; + +public class ColorJsonConverter : JsonConverter +{ + public override Color Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) + { + return ColorTranslator.FromHtml(reader.GetString() ?? "#000000"); + } + + public override void Write(Utf8JsonWriter writer, Color value, JsonSerializerOptions options) + { + writer.WriteStringValue("#" + value.A.ToString("X2").ToLower() + value.R.ToString("X2") + value.G.ToString("X2") + value.B.ToString("X2").ToLower()); + } +} \ No newline at end of file diff --git a/src/DesktopMagic/MainWindow.xaml b/src/DesktopMagic/MainWindow.xaml index 3c532b8..8e5212e 100644 --- a/src/DesktopMagic/MainWindow.xaml +++ b/src/DesktopMagic/MainWindow.xaml @@ -130,7 +130,7 @@ - +