public MpqSettings(IUserSettings userSettings, IWoWFilesVerifier verifier) { this.userSettings = userSettings; this.verifier = verifier; var saved = userSettings.Get <Data>(); if (verifier.VerifyFolder(saved.Path) != WoWFilesType.Invalid) { path = saved.Path; } }
public MpqSettingsViewModel(IMpqSettings mpqSettings, IWoWFilesVerifier verifier, IWindowManager windowManager, IMessageBoxService messageBoxService) { woWPath = mpqSettings.Path; Save = new DelegateCommand(() => { mpqSettings.Path = woWPath; IsModified = false; RaisePropertyChanged(nameof(IsModified)); }); PickFolder = new AsyncAutoCommand(async() => { var folder = await windowManager.ShowFolderPickerDialog(woWPath ?? ""); if (folder != null) { if (verifier.VerifyFolder(folder) == WoWFilesType.Invalid) { await messageBoxService.ShowDialog(new MessageBoxFactory <bool>() .SetTitle("WoW Client Data") .SetMainInstruction("Invalid WoW folder") .SetContent( "This doesn't look like a correct Wrath of The Lich King folder.\n\nSelect main game folder (wow.exe file must be there).\n\nOther WoW versions are not supported now.") .WithOkButton(true) .Build()); } else { WoWPath = folder; } } }); }