From 60febfec86c4af5020a9a4b59101655d5837fc88 Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Sun, 28 Jul 2024 21:18:17 +0200 Subject: [PATCH] Improve settings.json, fixes #53 (#59) --- app/MindWork AI Studio/Settings/DataModel/Data.cs | 2 +- app/MindWork AI Studio/Settings/SettingsManager.cs | 12 ++++++++++-- app/MindWork AI Studio/wwwroot/changelog/v0.8.6.md | 3 +++ 3 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 app/MindWork AI Studio/wwwroot/changelog/v0.8.6.md diff --git a/app/MindWork AI Studio/Settings/DataModel/Data.cs b/app/MindWork AI Studio/Settings/DataModel/Data.cs index 251011c..0a1bcb5 100644 --- a/app/MindWork AI Studio/Settings/DataModel/Data.cs +++ b/app/MindWork AI Studio/Settings/DataModel/Data.cs @@ -98,7 +98,7 @@ public sealed class Data /// /// The live translation interval for debouncing in milliseconds. /// - public int LiveTranslationDebounceIntervalMilliseconds { get; set; } = 1_000; + public int LiveTranslationDebounceIntervalMilliseconds { get; set; } = 1_500; /// /// Do we want to preselect any translator options? diff --git a/app/MindWork AI Studio/Settings/SettingsManager.cs b/app/MindWork AI Studio/Settings/SettingsManager.cs index 38b46c6..26151a1 100644 --- a/app/MindWork AI Studio/Settings/SettingsManager.cs +++ b/app/MindWork AI Studio/Settings/SettingsManager.cs @@ -1,4 +1,6 @@ using System.Text.Json; +using System.Text.Json.Serialization; + using AIStudio.Provider; using AIStudio.Settings.DataModel; @@ -13,6 +15,12 @@ public sealed class SettingsManager { private const string SETTINGS_FILENAME = "settings.json"; + private static readonly JsonSerializerOptions JSON_OPTIONS = new() + { + WriteIndented = true, + Converters = { new JsonStringEnumConverter() }, + }; + /// /// The directory where the configuration files are stored. /// @@ -101,7 +109,7 @@ public sealed class SettingsManager return; var settingsJson = await File.ReadAllTextAsync(settingsPath); - var loadedConfiguration = JsonSerializer.Deserialize(settingsJson); + var loadedConfiguration = JsonSerializer.Deserialize(settingsJson, JSON_OPTIONS); if(loadedConfiguration is null) return; @@ -120,7 +128,7 @@ public sealed class SettingsManager if(!Directory.Exists(ConfigDirectory)) Directory.CreateDirectory(ConfigDirectory!); - var settingsJson = JsonSerializer.Serialize(this.ConfigurationData); + var settingsJson = JsonSerializer.Serialize(this.ConfigurationData, JSON_OPTIONS); await File.WriteAllTextAsync(settingsPath, settingsJson); } diff --git a/app/MindWork AI Studio/wwwroot/changelog/v0.8.6.md b/app/MindWork AI Studio/wwwroot/changelog/v0.8.6.md new file mode 100644 index 0000000..ab409ca --- /dev/null +++ b/app/MindWork AI Studio/wwwroot/changelog/v0.8.6.md @@ -0,0 +1,3 @@ +# v0.8.6, build 168 +- Improved the readability of the `settings.json` file by using indentation and enum names instead of numbers +- Increased the default value for the live translation delay from 1,000 to 1,500 ms \ No newline at end of file