From 68af1500c7a26b700b0fe58f5b581d84e6cf3dd2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 2 Mar 2026 17:37:01 +0000 Subject: [PATCH] Add DISCORDCHATEXPORTER_SETTINGS_PATH env var support to SettingsService Co-authored-by: Tyrrrz <1935960+Tyrrrz@users.noreply.github.com> --- .../Services/SettingsService.cs | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/DiscordChatExporter.Gui/Services/SettingsService.cs b/DiscordChatExporter.Gui/Services/SettingsService.cs index ebd4ca78..326fb722 100644 --- a/DiscordChatExporter.Gui/Services/SettingsService.cs +++ b/DiscordChatExporter.Gui/Services/SettingsService.cs @@ -12,11 +12,7 @@ using DiscordChatExporter.Gui.Models; namespace DiscordChatExporter.Gui.Services; [ObservableObject] -public partial class SettingsService() - : SettingsBase( - Path.Combine(AppContext.BaseDirectory, "Settings.dat"), - SerializerContext.Default - ) +public partial class SettingsService() : SettingsBase(GetFilePath(), SerializerContext.Default) { [ObservableProperty] public partial bool IsUkraineSupportMessageEnabled { get; set; } = true; @@ -90,6 +86,17 @@ public partial class SettingsService() } } +public partial class SettingsService +{ + private static string GetFilePath() => + Environment.GetEnvironmentVariable("DISCORDCHATEXPORTER_SETTINGS_PATH") is { } path + && !string.IsNullOrWhiteSpace(path) + ? Path.EndsInDirectorySeparator(path) || Directory.Exists(path) + ? Path.Combine(path, "Settings.dat") + : path + : Path.Combine(AppContext.BaseDirectory, "Settings.dat"); +} + public partial class SettingsService { [JsonSerializable(typeof(SettingsService))]