made some refactors

This commit is contained in:
Khamûl
2020-05-12 18:33:59 -04:00
parent d588619ed5
commit cd442adc29

View File

@ -24,8 +24,6 @@ namespace Wabbajack
public ObservableCollectionExtended<ModListMetadataVM> ModLists { get; } = new ObservableCollectionExtended<ModListMetadataVM>(); public ObservableCollectionExtended<ModListMetadataVM> ModLists { get; } = new ObservableCollectionExtended<ModListMetadataVM>();
private FiltersSettings settings;
private int missingHashFallbackCounter; private int missingHashFallbackCounter;
private const string ALL_GAME_TYPE = "All"; private const string ALL_GAME_TYPE = "All";
@ -48,6 +46,9 @@ namespace Wabbajack
public List<string> GameTypeEntries { get { return GetGameTypeEntries(); } } public List<string> GameTypeEntries { get { return GetGameTypeEntries(); } }
private readonly ObservableAsPropertyHelper<bool> _Loaded; private readonly ObservableAsPropertyHelper<bool> _Loaded;
private FiltersSettings settings => MWVM.Settings.Filters;
public bool Loaded => _Loaded.Value; public bool Loaded => _Loaded.Value;
public ICommand ClearFiltersCommand { get; } public ICommand ClearFiltersCommand { get; }
@ -58,20 +59,20 @@ namespace Wabbajack
MWVM = mainWindowVM; MWVM = mainWindowVM;
// load persistent filter settings // load persistent filter settings
settings = MWVM.Settings.Filters;
if (settings.IsPersistent) if (settings.IsPersistent)
{ {
GameType = !string.IsNullOrEmpty(settings.Game) ? settings.Game : ALL_GAME_TYPE; GameType = !string.IsNullOrEmpty(settings.Game) ? settings.Game : ALL_GAME_TYPE;
ShowNSFW = settings.ShowNSFW; ShowNSFW = settings.ShowNSFW;
OnlyInstalled = settings.OnlyInstalled; OnlyInstalled = settings.OnlyInstalled;
Search = settings.Search; Search = settings.Search;
}
else
GameType = ALL_GAME_TYPE;
// subscribe to save signal // subscribe to save signal
MWVM.Settings.SaveSignal MWVM.Settings.SaveSignal
.Subscribe(_ => UpdateFiltersSettings()) .Subscribe(_ => UpdateFiltersSettings())
.DisposeWith(this.CompositeDisposable); .DisposeWith(this.CompositeDisposable);
}
else
GameType = ALL_GAME_TYPE;
ClearFiltersCommand = ReactiveCommand.Create( ClearFiltersCommand = ReactiveCommand.Create(
() => () =>
@ -202,11 +203,7 @@ namespace Wabbajack
private void UpdateFiltersSettings() private void UpdateFiltersSettings()
{ {
if (!settings.IsPersistent)
return;
if (!string.IsNullOrEmpty(GameType))
settings.Game = GameType; settings.Game = GameType;
if (Search != null)
settings.Search = Search; settings.Search = Search;
settings.ShowNSFW = ShowNSFW; settings.ShowNSFW = ShowNSFW;
settings.OnlyInstalled = OnlyInstalled; settings.OnlyInstalled = OnlyInstalled;