From d6577564db792b1ddb358dcc2d7d0be3989cbdcf Mon Sep 17 00:00:00 2001 From: Pat Hartl Date: Sun, 23 Nov 2025 20:53:45 -0600 Subject: [PATCH] Move launcher settings to separate assembly --- .../DepotFilterModel.cs | 16 +++---- LANCommander.Launcher.Models/Enums/GroupBy.cs | 16 ------- .../LANCommander.Launcher.Models.csproj | 1 + .../LibraryFilterModel.cs | 14 +++--- LANCommander.Launcher.Models/Settings.cs | 46 ------------------- .../CommandLineService.cs | 2 +- .../Extensions/IServiceProviderExtensions.cs | 2 +- .../FilterService.cs | 3 +- .../ImportService.cs | 2 +- .../Models/DepotFilter.cs | 15 +++--- .../Models/LibraryFilter.cs | 19 ++++---- .../DatabaseSettings.cs | 7 +++ .../Enums/GroupBy.cs | 10 ++++ .../Enums/SortBy.cs | 9 +--- .../FilterSettings.cs | 21 +++++++++ .../LANCommander.Launcher.Settings.csproj | 13 ++++++ LANCommander.Launcher.Settings/Settings.cs | 11 +++++ .../WindowSettings.cs | 10 ++++ LANCommander.Launcher/Program.cs | 2 +- .../Services/LocalizationService.cs | 2 +- .../Services/WindowService.cs | 7 +-- .../Startup/ApplicationSettings.cs | 6 +-- LANCommander.Launcher/Startup/Window.cs | 4 +- .../DownloadQueue/DownloadQueue.razor | 3 +- .../Library/LibraryItemContextMenu.razor | 3 +- .../Library/LibraryItemFilter.razor | 7 +-- .../UI/Components/ProfileButton.razor | 1 + .../Pages/Depot/Components/DepotFilter.razor | 2 +- .../Library/Components/GameActionBar.razor | 1 + .../UI/Pages/Settings/Index.razor | 4 +- .../UI/Windows/ChatWindow.razor | 5 +- LANCommander.slnx | 1 + 32 files changed, 137 insertions(+), 128 deletions(-) delete mode 100644 LANCommander.Launcher.Models/Enums/GroupBy.cs delete mode 100644 LANCommander.Launcher.Models/Settings.cs create mode 100644 LANCommander.Launcher.Settings/DatabaseSettings.cs create mode 100644 LANCommander.Launcher.Settings/Enums/GroupBy.cs rename {LANCommander.Launcher.Models => LANCommander.Launcher.Settings}/Enums/SortBy.cs (59%) create mode 100644 LANCommander.Launcher.Settings/FilterSettings.cs create mode 100644 LANCommander.Launcher.Settings/LANCommander.Launcher.Settings.csproj create mode 100644 LANCommander.Launcher.Settings/Settings.cs create mode 100644 LANCommander.Launcher.Settings/WindowSettings.cs diff --git a/LANCommander.Launcher.Models/DepotFilterModel.cs b/LANCommander.Launcher.Models/DepotFilterModel.cs index 7744fab9..1cb98523 100644 --- a/LANCommander.Launcher.Models/DepotFilterModel.cs +++ b/LANCommander.Launcher.Models/DepotFilterModel.cs @@ -1,4 +1,4 @@ -using LANCommander.Launcher.Models.Enums; +using LANCommander.Launcher.Settings.Enums; using LANCommander.SDK.Enums; using LANCommander.SDK.Models; @@ -10,13 +10,13 @@ namespace LANCommander.Launcher.Models public GroupBy GroupBy { get; set; } = GroupBy.None; public SortBy SortBy { get; set; } = SortBy.Title; public SortDirection SortDirection { get; set; } = SortDirection.Ascending; - public ICollection Collections { get; set; } - public ICollection Engines { get; set; } - public ICollection Genres { get; set; } - public ICollection Tags { get; set; } - public ICollection Platforms { get; set; } - public ICollection Developers { get; set; } - public ICollection Publishers { get; set; } + public ICollection Collections { get; set; } = []; + public ICollection Engines { get; set; } = []; + public ICollection Genres { get; set; } = []; + public ICollection Tags { get; set; } = []; + public ICollection Platforms { get; set; } = []; + public ICollection Developers { get; set; } = []; + public ICollection Publishers { get; set; } = []; public int? MinPlayers { get; set; } public int? MaxPlayers { get; set; } public bool Installed { get; set; } diff --git a/LANCommander.Launcher.Models/Enums/GroupBy.cs b/LANCommander.Launcher.Models/Enums/GroupBy.cs deleted file mode 100644 index d6f1bb8f..00000000 --- a/LANCommander.Launcher.Models/Enums/GroupBy.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace LANCommander.Launcher.Models.Enums -{ - public enum GroupBy - { - None, - Collection, - Genre, - Platform - } -} diff --git a/LANCommander.Launcher.Models/LANCommander.Launcher.Models.csproj b/LANCommander.Launcher.Models/LANCommander.Launcher.Models.csproj index 0f4babbd..dadc3f5e 100644 --- a/LANCommander.Launcher.Models/LANCommander.Launcher.Models.csproj +++ b/LANCommander.Launcher.Models/LANCommander.Launcher.Models.csproj @@ -24,6 +24,7 @@ + diff --git a/LANCommander.Launcher.Models/LibraryFilterModel.cs b/LANCommander.Launcher.Models/LibraryFilterModel.cs index 757fcedb..dc8f68b8 100644 --- a/LANCommander.Launcher.Models/LibraryFilterModel.cs +++ b/LANCommander.Launcher.Models/LibraryFilterModel.cs @@ -1,5 +1,5 @@ using LANCommander.Launcher.Data.Models; -using LANCommander.Launcher.Models.Enums; +using LANCommander.Launcher.Settings.Enums; using LANCommander.SDK.Enums; namespace LANCommander.Launcher.Models @@ -10,12 +10,12 @@ namespace LANCommander.Launcher.Models public GroupBy GroupBy { get; set; } = GroupBy.Collection; public SortBy SortBy { get; set; } = SortBy.Title; public SortDirection SortDirection { get; set; } = SortDirection.Ascending; - public ICollection Engines { get; set; } - public ICollection Genres { get; set; } - public ICollection Tags { get; set; } - public ICollection Platforms { get; set; } - public ICollection Developers { get; set; } - public ICollection Publishers { get; set; } + public ICollection Engines { get; set; } = []; + public ICollection Genres { get; set; } = []; + public ICollection Tags { get; set; } = []; + public ICollection Platforms { get; set; } = []; + public ICollection Developers { get; set; } = []; + public ICollection Publishers { get; set; } = []; public int? MinPlayers { get; set; } public int? MaxPlayers { get; set; } public bool Installed { get; set; } diff --git a/LANCommander.Launcher.Models/Settings.cs b/LANCommander.Launcher.Models/Settings.cs deleted file mode 100644 index f7a671d1..00000000 --- a/LANCommander.Launcher.Models/Settings.cs +++ /dev/null @@ -1,46 +0,0 @@ -using LANCommander.Launcher.Models.Enums; -using LANCommander.SDK.Enums; - -namespace LANCommander.Launcher.Models -{ - public class Settings : SDK.Models.Settings - { - public int LaunchCount { get; set; } = 0; - - public DatabaseSettings Database { get; set; } = new DatabaseSettings(); - public FilterSettings Filter { get; set; } = new FilterSettings(); - public WindowSettings Window { get; set; } = new WindowSettings(); - } - - public class DatabaseSettings - { - public string ConnectionString { get; set; } = "Data Source=LANCommander.db;Cache=Shared"; - public string BackupsPath { get; set; } = "Backups"; - } - - public class FilterSettings - { - public string? Title { get; set; } - public GroupBy GroupBy { get; set; } = GroupBy.Collection; - public SortBy SortBy { get; set; } = SortBy.Title; - public SortDirection SortDirection { get; set; } = SortDirection.Ascending; - public IEnumerable Engines { get; set; } - public IEnumerable Genres { get; set; } - public IEnumerable Tags { get; set; } - public IEnumerable Platforms { get; set; } - public IEnumerable Developers { get; set; } - public IEnumerable Publishers { get; set; } - public int? MinPlayers { get; set; } - public int? MaxPlayers { get; set; } - public bool Installed { get; set; } = false; - } - - public class WindowSettings - { - public bool Maximized { get; set; } = false; - public int Width { get; set; } = 1024; - public int Height { get; set; } = 768; - public int X { get; set; } = 0; - public int Y { get; set; } = 0; - } -} diff --git a/LANCommander.Launcher.Services/CommandLineService.cs b/LANCommander.Launcher.Services/CommandLineService.cs index be791fea..6cefa831 100644 --- a/LANCommander.Launcher.Services/CommandLineService.cs +++ b/LANCommander.Launcher.Services/CommandLineService.cs @@ -69,7 +69,7 @@ namespace LANCommander.Launcher.Services break; case SDK.Enums.ScriptType.NameChange: - await client.Scripts.RunNameChangeScriptAsync(options.InstallDirectory, options.GameId, options.NewPlayerAlias ?? Settings.DEFAULT_GAME_USERNAME); + await client.Scripts.RunNameChangeScriptAsync(options.InstallDirectory, options.GameId, options.NewPlayerAlias ?? Settings.Settings.DEFAULT_GAME_USERNAME); break; case SDK.Enums.ScriptType.KeyChange: diff --git a/LANCommander.Launcher.Services/Extensions/IServiceProviderExtensions.cs b/LANCommander.Launcher.Services/Extensions/IServiceProviderExtensions.cs index f2ef3e5f..7a65d60a 100644 --- a/LANCommander.Launcher.Services/Extensions/IServiceProviderExtensions.cs +++ b/LANCommander.Launcher.Services/Extensions/IServiceProviderExtensions.cs @@ -16,7 +16,7 @@ namespace LANCommander.Launcher.Services.Extensions { public static IServiceProvider InitializeLANCommander(this IServiceProvider serviceProvider) { - var settingsProvider = serviceProvider.GetService>(); + var settingsProvider = serviceProvider.GetService>(); var connectionStringBuilder = new DbConnectionStringBuilder(); diff --git a/LANCommander.Launcher.Services/FilterService.cs b/LANCommander.Launcher.Services/FilterService.cs index ec4760c6..c3710bcb 100644 --- a/LANCommander.Launcher.Services/FilterService.cs +++ b/LANCommander.Launcher.Services/FilterService.cs @@ -1,7 +1,6 @@ using LANCommander.Launcher.Data.Models; using LANCommander.Launcher.Models; using LANCommander.SDK.Extensions; -using LANCommander.SDK.Providers; using Microsoft.Extensions.Logging; namespace LANCommander.Launcher.Services @@ -9,7 +8,7 @@ namespace LANCommander.Launcher.Services public class FilterService( ILogger logger, LibraryService libraryService, - SettingsProvider settingsProvider) : BaseService(logger) + SettingsProvider settingsProvider) : BaseService(logger) { public LibraryFilterModel Filter { get; set; } diff --git a/LANCommander.Launcher.Services/ImportService.cs b/LANCommander.Launcher.Services/ImportService.cs index 2e07595b..10f91f3a 100644 --- a/LANCommander.Launcher.Services/ImportService.cs +++ b/LANCommander.Launcher.Services/ImportService.cs @@ -17,7 +17,7 @@ using Media = LANCommander.Launcher.Data.Models.Media; using MultiplayerMode = LANCommander.Launcher.Data.Models.MultiplayerMode; using Platform = LANCommander.Launcher.Data.Models.Platform; using PlaySession = LANCommander.Launcher.Data.Models.PlaySession; -using Settings = LANCommander.Launcher.Models.Settings; +using Settings = LANCommander.Launcher.Settings.Settings; using Tag = LANCommander.Launcher.Data.Models.Tag; namespace LANCommander.Launcher.Services diff --git a/LANCommander.Launcher.Services/Models/DepotFilter.cs b/LANCommander.Launcher.Services/Models/DepotFilter.cs index 54261d26..81a3b4b9 100644 --- a/LANCommander.Launcher.Services/Models/DepotFilter.cs +++ b/LANCommander.Launcher.Services/Models/DepotFilter.cs @@ -10,6 +10,7 @@ using System.Linq; using System.Security.Policy; using System.Text; using System.Threading.Tasks; +using LANCommander.Launcher.Settings.Enums; namespace LANCommander.Launcher.Models { @@ -92,17 +93,17 @@ namespace LANCommander.Launcher.Models switch (SelectedOptions.SortBy) { - case Enums.SortBy.Title: + case SortBy.Title: items = items.OrderByTitle(i => i.Name ?? i.SortName, SelectedOptions.SortDirection); break; - case Enums.SortBy.DateAdded: + case SortBy.DateAdded: items = items.OrderBy(i => (i.DataItem as DepotGame)?.CreatedOn ?? DateTime.MinValue, SelectedOptions.SortDirection); break; - case Enums.SortBy.DateReleased: + case SortBy.DateReleased: items = items.OrderBy(i => (i.DataItem as DepotGame)?.ReleasedOn ?? DateTime.MinValue, SelectedOptions.SortDirection); @@ -111,11 +112,11 @@ namespace LANCommander.Launcher.Models switch (SelectedOptions.GroupBy) { - case Enums.GroupBy.None: + case GroupBy.None: GroupSelector = (g) => Array.Empty(); break; - case Enums.GroupBy.Collection: + case GroupBy.Collection: GroupSelector = (g) => DataSource.Collections .Where(c => (g.DataItem as DepotGame).Collections.Any(gc => gc.Id == c.Id)) @@ -123,7 +124,7 @@ namespace LANCommander.Launcher.Models .ToArray() ?? Array.Empty(); break; - case Enums.GroupBy.Genre: + case GroupBy.Genre: GroupSelector = (g) => DataSource.Genres .Where(ge => (g.DataItem as DepotGame).Genres.Any(gge => gge.Id == ge.Id)) @@ -131,7 +132,7 @@ namespace LANCommander.Launcher.Models .ToArray() ?? Array.Empty(); break; - case Enums.GroupBy.Platform: + case GroupBy.Platform: GroupSelector = (g) => DataSource.Platforms .Where(p => (g.DataItem as DepotGame).Platforms.Any(gp => gp.Id == p.Id)) diff --git a/LANCommander.Launcher.Services/Models/LibraryFilter.cs b/LANCommander.Launcher.Services/Models/LibraryFilter.cs index 613d52db..ffd16e56 100644 --- a/LANCommander.Launcher.Services/Models/LibraryFilter.cs +++ b/LANCommander.Launcher.Services/Models/LibraryFilter.cs @@ -9,6 +9,7 @@ using System.Linq; using System.Security.Policy; using System.Text; using System.Threading.Tasks; +using LANCommander.Launcher.Settings.Enums; namespace LANCommander.Launcher.Models { @@ -117,23 +118,23 @@ namespace LANCommander.Launcher.Models switch (SelectedOptions.SortBy) { - case Enums.SortBy.Title: + case SortBy.Title: items = items.OrderByTitle(i => i.Name ?? i.SortName, SelectedOptions.SortDirection); break; - case Enums.SortBy.DateAdded: + case SortBy.DateAdded: items = items.OrderBy(i => (i.DataItem as Game)?.CreatedOn ?? DateTime.MinValue, SelectedOptions.SortDirection); break; - case Enums.SortBy.DateReleased: + case SortBy.DateReleased: items = items.OrderBy(i => (i.DataItem as Game)?.ReleasedOn ?? DateTime.MinValue, SelectedOptions.SortDirection); break; - case Enums.SortBy.RecentActivity: + case SortBy.RecentActivity: items = items.OrderBy(i => (i.DataItem as Game)?.PlaySessions? .Where(ps => ps?.End != null) @@ -142,7 +143,7 @@ namespace LANCommander.Launcher.Models SelectedOptions.SortDirection); break; - case Enums.SortBy.MostPlayed: + case SortBy.MostPlayed: items = items.OrderBy(i => (i.DataItem as Game)?.PlaySessions?.Sum( ps => ps.End.Value.Subtract(ps.Start.Value).TotalSeconds), SelectedOptions.SortDirection); @@ -151,11 +152,11 @@ namespace LANCommander.Launcher.Models switch (SelectedOptions.GroupBy) { - case Enums.GroupBy.None: + case GroupBy.None: GroupSelector = (g) => Array.Empty(); break; - case Enums.GroupBy.Collection: + case GroupBy.Collection: GroupSelector = (g) => (g.DataItem as Game)?.Collections? .Where(c => c?.Name != null) @@ -163,7 +164,7 @@ namespace LANCommander.Launcher.Models .ToArray() ?? Array.Empty(); break; - case Enums.GroupBy.Genre: + case GroupBy.Genre: GroupSelector = (g) => (g.DataItem as Game)?.Genres? .Where(ge => ge?.Name != null) @@ -171,7 +172,7 @@ namespace LANCommander.Launcher.Models .ToArray() ?? Array.Empty(); break; - case Enums.GroupBy.Platform: + case GroupBy.Platform: GroupSelector = (g) => (g.DataItem as Game)?.Platforms? .Where(p => p?.Name != null) diff --git a/LANCommander.Launcher.Settings/DatabaseSettings.cs b/LANCommander.Launcher.Settings/DatabaseSettings.cs new file mode 100644 index 00000000..1a6b3398 --- /dev/null +++ b/LANCommander.Launcher.Settings/DatabaseSettings.cs @@ -0,0 +1,7 @@ +namespace LANCommander.Launcher.Settings; + +public class DatabaseSettings +{ + public string ConnectionString { get; set; } = "Data Source=LANCommander.db;Cache=Shared"; + public string BackupsPath { get; set; } = "Backups"; +} \ No newline at end of file diff --git a/LANCommander.Launcher.Settings/Enums/GroupBy.cs b/LANCommander.Launcher.Settings/Enums/GroupBy.cs new file mode 100644 index 00000000..bb49f146 --- /dev/null +++ b/LANCommander.Launcher.Settings/Enums/GroupBy.cs @@ -0,0 +1,10 @@ +namespace LANCommander.Launcher.Settings.Enums +{ + public enum GroupBy + { + None, + Collection, + Genre, + Platform + } +} diff --git a/LANCommander.Launcher.Models/Enums/SortBy.cs b/LANCommander.Launcher.Settings/Enums/SortBy.cs similarity index 59% rename from LANCommander.Launcher.Models/Enums/SortBy.cs rename to LANCommander.Launcher.Settings/Enums/SortBy.cs index 2b02af8a..86d93264 100644 --- a/LANCommander.Launcher.Models/Enums/SortBy.cs +++ b/LANCommander.Launcher.Settings/Enums/SortBy.cs @@ -1,11 +1,6 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using System.ComponentModel.DataAnnotations; -namespace LANCommander.Launcher.Models.Enums +namespace LANCommander.Launcher.Settings.Enums { public enum SortBy { diff --git a/LANCommander.Launcher.Settings/FilterSettings.cs b/LANCommander.Launcher.Settings/FilterSettings.cs new file mode 100644 index 00000000..58e9923d --- /dev/null +++ b/LANCommander.Launcher.Settings/FilterSettings.cs @@ -0,0 +1,21 @@ +using LANCommander.Launcher.Settings.Enums; +using LANCommander.SDK.Enums; + +namespace LANCommander.Launcher.Settings; + +public class FilterSettings +{ + public string? Title { get; set; } + public GroupBy GroupBy { get; set; } = GroupBy.Collection; + public SortBy SortBy { get; set; } = SortBy.Title; + public SortDirection SortDirection { get; set; } = SortDirection.Ascending; + public IEnumerable Engines { get; set; } = []; + public IEnumerable Genres { get; set; } = []; + public IEnumerable Tags { get; set; } = []; + public IEnumerable Platforms { get; set; } = []; + public IEnumerable Developers { get; set; } = []; + public IEnumerable Publishers { get; set; } = []; + public int? MinPlayers { get; set; } + public int? MaxPlayers { get; set; } + public bool Installed { get; set; } = false; +} \ No newline at end of file diff --git a/LANCommander.Launcher.Settings/LANCommander.Launcher.Settings.csproj b/LANCommander.Launcher.Settings/LANCommander.Launcher.Settings.csproj new file mode 100644 index 00000000..0dd19b73 --- /dev/null +++ b/LANCommander.Launcher.Settings/LANCommander.Launcher.Settings.csproj @@ -0,0 +1,13 @@ + + + + net9.0 + enable + enable + + + + + + + diff --git a/LANCommander.Launcher.Settings/Settings.cs b/LANCommander.Launcher.Settings/Settings.cs new file mode 100644 index 00000000..31fc7e27 --- /dev/null +++ b/LANCommander.Launcher.Settings/Settings.cs @@ -0,0 +1,11 @@ +namespace LANCommander.Launcher.Settings +{ + public class Settings : SDK.Models.Settings + { + public int LaunchCount { get; set; } = 0; + + public DatabaseSettings Database { get; set; } = new(); + public FilterSettings Filter { get; set; } = new(); + public WindowSettings Window { get; set; } = new(); + } +} diff --git a/LANCommander.Launcher.Settings/WindowSettings.cs b/LANCommander.Launcher.Settings/WindowSettings.cs new file mode 100644 index 00000000..4443a700 --- /dev/null +++ b/LANCommander.Launcher.Settings/WindowSettings.cs @@ -0,0 +1,10 @@ +namespace LANCommander.Launcher.Settings; + +public class WindowSettings +{ + public bool Maximized { get; set; } = false; + public int Width { get; set; } = 1024; + public int Height { get; set; } = 768; + public int X { get; set; } = 0; + public int Y { get; set; } = 0; +} \ No newline at end of file diff --git a/LANCommander.Launcher/Program.cs b/LANCommander.Launcher/Program.cs index c5278970..a7e0330e 100644 --- a/LANCommander.Launcher/Program.cs +++ b/LANCommander.Launcher/Program.cs @@ -43,7 +43,7 @@ namespace LANCommander.Launcher using (var scope = app.Services.CreateScope()) { var connectionClient = scope.ServiceProvider.GetService(); - var settingsProvider = scope.ServiceProvider.GetService>(); + var settingsProvider = scope.ServiceProvider.GetService>(); var databaseContext = scope.ServiceProvider.GetService(); if (!(await connectionClient.PingAsync())) diff --git a/LANCommander.Launcher/Services/LocalizationService.cs b/LANCommander.Launcher/Services/LocalizationService.cs index 9fca7926..b6a07bbb 100644 --- a/LANCommander.Launcher/Services/LocalizationService.cs +++ b/LANCommander.Launcher/Services/LocalizationService.cs @@ -9,7 +9,7 @@ namespace LANCommander.Launcher.Services { private readonly ResourceManager _resourceManager; - public LocalizationService(IOptions settings) + public LocalizationService(IOptions settings) { _resourceManager = new ResourceManager("LANCommander.Launcher.Resources.SharedResources", typeof(LocalizationService).Assembly); diff --git a/LANCommander.Launcher/Services/WindowService.cs b/LANCommander.Launcher/Services/WindowService.cs index 8e6c218b..f76201b1 100644 --- a/LANCommander.Launcher/Services/WindowService.cs +++ b/LANCommander.Launcher/Services/WindowService.cs @@ -9,6 +9,7 @@ using LANCommander.SDK.Providers; using LANCommander.SDK.Services; using Microsoft.AspNetCore.Components; using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Options; using Photino.Blazor; using Photino.Blazor.CustomWindow.Extensions; using Photino.NET; @@ -43,7 +44,7 @@ internal static class WindowService builder.Services.AddCustomWindow(); builder.Services.AddAntDesign(); builder.Services.AddSingleton(); - builder.Services.AddLANCommanderClient(); + builder.Services.AddLANCommanderClient(); builder.Services.AddLANCommanderLauncher(options => { @@ -90,7 +91,7 @@ internal static class WindowService static PhotinoBlazorApp RegisterMediaHandler(this PhotinoBlazorApp app) { - var settingsProvider = app.Services.GetService>(); + var settings = app.Services.GetService>(); app.MainWindow.RegisterCustomSchemeHandler("media", (object sender, string scheme, string url, out string contentType) => @@ -108,7 +109,7 @@ internal static class WindowService contentType = mime; - var filePath = Path.Combine(settingsProvider.CurrentValue.Media.StoragePath, $"{fileId}-{crc32}"); + var filePath = Path.Combine(settings.Value.Media.StoragePath, $"{fileId}-{crc32}"); if (File.Exists(filePath)) return new FileStream(filePath, FileMode.Open, FileAccess.Read); diff --git a/LANCommander.Launcher/Startup/ApplicationSettings.cs b/LANCommander.Launcher/Startup/ApplicationSettings.cs index 42e1458b..7d21b454 100644 --- a/LANCommander.Launcher/Startup/ApplicationSettings.cs +++ b/LANCommander.Launcher/Startup/ApplicationSettings.cs @@ -16,12 +16,12 @@ public static class ApplicationSettings var configurationBuilder = new ConfigurationBuilder(); - var configuration = configurationBuilder.ReadFromFile(); - var refresher = configurationBuilder.ReadFromServer(configuration); + var configuration = configurationBuilder.ReadFromFile(); + var refresher = configurationBuilder.ReadFromServer(configuration); configuration = configurationBuilder.Build(); - builder.Services.Configure(configuration); + builder.Services.Configure(configuration); builder.Services.AddSingleton(refresher); Log.Debug("Validating settings"); diff --git a/LANCommander.Launcher/Startup/Window.cs b/LANCommander.Launcher/Startup/Window.cs index e0c8c048..43c88ff2 100644 --- a/LANCommander.Launcher/Startup/Window.cs +++ b/LANCommander.Launcher/Startup/Window.cs @@ -32,7 +32,7 @@ public static class MainWindow public static PhotinoBlazorApp RegisterMediaHandler(this PhotinoBlazorApp app) { - var settingsProvider = app.Services.GetService>(); + var settingsProvider = app.Services.GetService>(); app.MainWindow.RegisterCustomSchemeHandler("media", (object sender, string scheme, string url, out string contentType) => @@ -116,7 +116,7 @@ public static class MainWindow public static PhotinoBlazorApp RestoreWindowPosition(this PhotinoBlazorApp app) { - var settingsProvider = app.Services.GetService>(); + var settingsProvider = app.Services.GetService>(); if (settingsProvider.CurrentValue.Window.Maximized) app.MainWindow.SetMaximized(true); diff --git a/LANCommander.Launcher/UI/Components/DownloadQueue/DownloadQueue.razor b/LANCommander.Launcher/UI/Components/DownloadQueue/DownloadQueue.razor index e007fdc7..0a142695 100644 --- a/LANCommander.Launcher/UI/Components/DownloadQueue/DownloadQueue.razor +++ b/LANCommander.Launcher/UI/Components/DownloadQueue/DownloadQueue.razor @@ -1,9 +1,10 @@ @using LANCommander.Launcher.Models +@using LANCommander.Launcher.Settings @using LANCommander.SDK.Services @inject InstallService InstallService @inject LibraryService LibraryService @inject GameClient GameClient -@inject SettingsProvider SettingsProvider +@inject SettingsProvider SettingsProvider @inject NavigationManager NavigationManager @inject LocalizationService LocalizationService @inject ConfirmService ConfirmService diff --git a/LANCommander.Launcher/UI/Components/Library/LibraryItemContextMenu.razor b/LANCommander.Launcher/UI/Components/Library/LibraryItemContextMenu.razor index 4380225e..ae79c1d9 100644 --- a/LANCommander.Launcher/UI/Components/Library/LibraryItemContextMenu.razor +++ b/LANCommander.Launcher/UI/Components/Library/LibraryItemContextMenu.razor @@ -1,6 +1,7 @@ @using LANCommander.Launcher.Data.Models @using LANCommander.Launcher.Models @using System.Diagnostics +@using LANCommander.Launcher.Settings @using LANCommander.SDK @using LANCommander.SDK.Helpers @using LANCommander.SDK.Services @@ -304,7 +305,7 @@ else foreach (var manifest in manifests) { - await Client.Scripts.RunNameChangeScriptAsync(Game.InstallDirectory, Game.Id, user.GetUserNameSafe ?? Models.Settings.DEFAULT_GAME_USERNAME); + await Client.Scripts.RunNameChangeScriptAsync(Game.InstallDirectory, Game.Id, user.GetUserNameSafe ?? Settings.DEFAULT_GAME_USERNAME); } } diff --git a/LANCommander.Launcher/UI/Components/Library/LibraryItemFilter.razor b/LANCommander.Launcher/UI/Components/Library/LibraryItemFilter.razor index 3c13114f..213c545d 100644 --- a/LANCommander.Launcher/UI/Components/Library/LibraryItemFilter.razor +++ b/LANCommander.Launcher/UI/Components/Library/LibraryItemFilter.razor @@ -1,13 +1,8 @@ @using LANCommander.Launcher.Data.Models -@using LANCommander.Launcher.Models.Enums @using LANCommander.Launcher.Models -@using System.Collections.ObjectModel +@using LANCommander.Launcher.Settings.Enums @namespace LANCommander.Launcher.UI @inject LibraryService LibraryService -@inject EngineService EngineService -@inject GenreService GenreService -@inject TagService TagService -@inject MessageBusService MessageBusService @inject LocalizationService LocalizationService diff --git a/LANCommander.Launcher/UI/Components/ProfileButton.razor b/LANCommander.Launcher/UI/Components/ProfileButton.razor index 3907956f..c187b435 100644 --- a/LANCommander.Launcher/UI/Components/ProfileButton.razor +++ b/LANCommander.Launcher/UI/Components/ProfileButton.razor @@ -1,5 +1,6 @@ @using LANCommander.Launcher.Data.Models @using LANCommander.Launcher.Models +@using LANCommander.Launcher.Settings @using LANCommander.SDK.Services @inject UserService UserService @inject ProfileService ProfileService diff --git a/LANCommander.Launcher/UI/Pages/Depot/Components/DepotFilter.razor b/LANCommander.Launcher/UI/Pages/Depot/Components/DepotFilter.razor index e3ee34b1..68021815 100644 --- a/LANCommander.Launcher/UI/Pages/Depot/Components/DepotFilter.razor +++ b/LANCommander.Launcher/UI/Pages/Depot/Components/DepotFilter.razor @@ -1,4 +1,4 @@ -@using LANCommander.Launcher.Models.Enums +@using LANCommander.Launcher.Settings.Enums @using LANCommander.SDK.Models @namespace LANCommander.Launcher.UI.Components @inject DepotService DepotService diff --git a/LANCommander.Launcher/UI/Pages/Library/Components/GameActionBar.razor b/LANCommander.Launcher/UI/Pages/Library/Components/GameActionBar.razor index 106da344..7ae41d5f 100644 --- a/LANCommander.Launcher/UI/Pages/Library/Components/GameActionBar.razor +++ b/LANCommander.Launcher/UI/Pages/Library/Components/GameActionBar.razor @@ -1,4 +1,5 @@ @using LANCommander.Launcher.Models +@using LANCommander.Launcher.Settings @using LANCommander.SDK @using LANCommander.SDK.Services @using Button = AntDesign.Button diff --git a/LANCommander.Launcher/UI/Pages/Settings/Index.razor b/LANCommander.Launcher/UI/Pages/Settings/Index.razor index d4711c94..8f4210f4 100644 --- a/LANCommander.Launcher/UI/Pages/Settings/Index.razor +++ b/LANCommander.Launcher/UI/Pages/Settings/Index.razor @@ -9,7 +9,7 @@ @inject IMessageService MessageService @inject ILogger Logger @inject LocalizationService LocalizationService -@inject SettingsProvider SettingsProvider +@inject SettingsProvider SettingsProvider
@@ -72,7 +72,7 @@ @code { - Settings _settings; + Launcher.Settings.Settings _settings; List _installDirectories = new(); string[] _supportedCultures = new[] diff --git a/LANCommander.Launcher/UI/Windows/ChatWindow.razor b/LANCommander.Launcher/UI/Windows/ChatWindow.razor index 98b0bb3a..01445cdb 100644 --- a/LANCommander.Launcher/UI/Windows/ChatWindow.razor +++ b/LANCommander.Launcher/UI/Windows/ChatWindow.razor @@ -1,4 +1,5 @@ -@using Photino.Blazor.CustomWindow.Components +@using LANCommander.Launcher.Settings +@using Photino.Blazor.CustomWindow.Components @inherits LayoutComponentBase @inject ProfileService ProfileService @inject AuthenticationService AuthenticationService @@ -31,7 +32,7 @@ @code { - Models.Settings Settings = null; + Settings Settings = null; string RandomQuip = ""; diff --git a/LANCommander.slnx b/LANCommander.slnx index 5d4c0700..763ce03b 100644 --- a/LANCommander.slnx +++ b/LANCommander.slnx @@ -7,6 +7,7 @@ +