public SettingsViewModel(ISidekickSettings sidekickSettings) { sidekickSettings.CopyValuesTo(this); // Make sure to copy by value for the chat commands. Without doing this, // changing the chat commands but not saving would still modify the sidekick settings. // We do not want that. Chat_Commands = sidekickSettings.Chat_Commands .Select(x => new ChatSetting(x.Key, x.Command, x.Submit)) .ToList(); WikiOptions = new Dictionary <WikiSetting, string>() { { WikiSetting.PoeWiki, "POE Wiki" }, { WikiSetting.PoeDb, "POE Db" }, }; }
public SettingsViewModel( IUILanguageProvider uiLanguageProvider, IGameLanguageProvider gameLanguageProvider, ISidekickSettings sidekickSettings, IKeybindsProvider keybindsProvider, IKeybindsExecutor keybindsExecutor, IMediator mediator) { this.uiLanguageProvider = uiLanguageProvider; this.gameLanguageProvider = gameLanguageProvider; this.sidekickSettings = sidekickSettings; this.keybindsProvider = keybindsProvider; this.keybindsExecutor = keybindsExecutor; this.mediator = mediator; sidekickSettings.CopyValuesTo(this); WikiOptions.Add("POE Wiki", WikiSetting.PoeWiki.ToString()); WikiOptions.Add("POE Db", WikiSetting.PoeDb.ToString()); uiLanguageProvider.AvailableLanguages.ForEach(x => UILanguageOptions.Add(x.NativeName.First().ToString().ToUpper() + x.NativeName[1..], x.Name));