diff options
| author | MutantAura <44103205+MutantAura@users.noreply.github.com> | 2022-08-21 14:07:28 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-08-21 13:07:28 +0000 |
| commit | 54421760c33f77de78fee58d637552d2e00d464b (patch) | |
| tree | 070b8a94d395ee7756a00cc8298663b6f6d655ea /Ryujinx.Ava/Ui/ViewModels | |
| parent | 88a0e720cbe567aff67b6124aa9e6cfc17599739 (diff) | |
Check if game directories have been updated before refreshing GUI (#3607)
* Check if game directories have been updated before refreshing list on save.
* Cleanup spacing
* Add Avalonia and reset value after saving
* Fix Avalonia
* Fix multiple directories not being added in GTK
Diffstat (limited to 'Ryujinx.Ava/Ui/ViewModels')
| -rw-r--r-- | Ryujinx.Ava/Ui/ViewModels/SettingsViewModel.cs | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/Ryujinx.Ava/Ui/ViewModels/SettingsViewModel.cs b/Ryujinx.Ava/Ui/ViewModels/SettingsViewModel.cs index a7cf710e..32f08ff9 100644 --- a/Ryujinx.Ava/Ui/ViewModels/SettingsViewModel.cs +++ b/Ryujinx.Ava/Ui/ViewModels/SettingsViewModel.cs @@ -49,6 +49,7 @@ namespace Ryujinx.Ava.Ui.ViewModels private float _previousVolumeLevel; private float _volume; private bool _isVulkanAvailable = true; + private bool _directoryChanged = false; private List<string> _gpuIds = new List<string>(); private KeyboardHotkeys _keyboardHotkeys; private int _graphicsBackendIndex; @@ -112,6 +113,17 @@ namespace Ryujinx.Ava.Ui.ViewModels } } + public bool DirectoryChanged + { + get => _directoryChanged; + set + { + _directoryChanged = value; + + OnPropertyChanged(); + } + } + public bool EnableDiscordIntegration { get; set; } public bool CheckUpdatesOnStart { get; set; } public bool ShowConfirmExit { get; set; } @@ -397,10 +409,14 @@ namespace Ryujinx.Ava.Ui.ViewModels public async Task SaveSettings() { - List<string> gameDirs = new List<string>(GameDirectories); - ConfigurationState config = ConfigurationState.Instance; + if (_directoryChanged) + { + List<string> gameDirs = new List<string>(GameDirectories); + config.Ui.GameDirs.Value = gameDirs; + } + if (_validTzRegions.Contains(TimeZone)) { config.System.TimeZone.Value = TimeZone; @@ -465,7 +481,6 @@ namespace Ryujinx.Ava.Ui.ViewModels config.System.SystemTimeOffset.Value = systemTimeOffset.Seconds; config.Graphics.ShadersDumpPath.Value = ShaderDumpPath; - config.Ui.GameDirs.Value = gameDirs; config.System.FsGlobalAccessLogMode.Value = FsGlobalAccessLogMode; config.System.MemoryManagerMode.Value = (MemoryManagerMode)MemoryMode; |
