Don't overwrite LibationFiles setting in appsettings.json

This commit is contained in:
Michael Bucari-Tovo
2025-11-14 13:35:36 -07:00
parent d1ce9d5a83
commit e05dcd6f54
3 changed files with 13 additions and 7 deletions

View File

@@ -58,9 +58,11 @@ public class App : Application
{
string defaultLibationFilesDir = Configuration.DefaultLibationFilesDirectory;
// check for existing settings in default location
// check for existing settings in default location.
// First check if file exists so that, if it doesn't, we don't
// overwrite user's LibationFiles setting in appsettings.json
string defaultSettingsFile = Path.Combine(defaultLibationFilesDir, "Settings.json");
if (Configuration.SettingsFileIsValid(defaultSettingsFile))
if (File.Exists(defaultSettingsFile) && Configuration.SettingsFileIsValid(defaultSettingsFile))
Configuration.SetLibationFiles(defaultLibationFilesDir);
if (config.LibationSettingsAreValid)
@@ -103,7 +105,6 @@ public class App : Application
{
if (setupDialog.IsNewUser)
{
Configuration.SetLibationFiles(Configuration.DefaultLibationFilesDirectory);
setupDialog.Config.Books = Configuration.DefaultBooksDirectory;
if (setupDialog.Config.LibationSettingsAreValid)

View File

@@ -19,9 +19,13 @@ namespace LibationFileManager
public static string UserProfile => Path.GetFullPath(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), "Libation"));
public static string LocalAppData => Path.GetFullPath(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "Libation"));
public static string DefaultLibationFilesDirectory => !IsWindows ? LocalAppData : UserProfile;
public static string DefaultBooksDirectory => Path.Combine(!IsWindows ? MyMusic : UserProfile, nameof(Books));
public static string DefaultBooksDirectory
=> !IsWindows ? Path.Combine(MyMusic, nameof(Books))
: LibationSettingsDirectory is null ? Path.Combine(UserProfile, nameof(Books))
: Path.Combine(LibationSettingsDirectory, nameof(Books));
public enum KnownDirectories
public enum KnownDirectories
{
None = 0,

View File

@@ -126,8 +126,10 @@ namespace LibationWinForms
var defaultLibationFilesDir = Configuration.DefaultLibationFilesDirectory;
// check for existing settings in default location
// First check if file exists so that, if it doesn't, we don't
// overwrite user's LibationFiles setting in appsettings.json
var defaultSettingsFile = Path.Combine(defaultLibationFilesDir, "Settings.json");
if (Configuration.SettingsFileIsValid(defaultSettingsFile))
if (File.Exists(defaultSettingsFile) && Configuration.SettingsFileIsValid(defaultSettingsFile))
Configuration.SetLibationFiles(defaultLibationFilesDir);
if (config.LibationSettingsAreValid)
@@ -149,7 +151,6 @@ namespace LibationWinForms
if (setupDialog.IsNewUser)
{
Configuration.SetLibationFiles(defaultLibationFilesDir);
config.Books = Configuration.DefaultBooksDirectory;
}
else if (setupDialog.IsReturningUser)