예제 #1
0
        public SettingsViewModel(IUILanguageProvider uiLanguageProvider,
                                 SidekickSettings sidekickSettings,
                                 INativeKeyboard nativeKeyboard,
                                 ILeagueDataService leagueDataService,
                                 IKeybindEvents keybindEvents)
        {
            this.uiLanguageProvider = uiLanguageProvider;
            this.sidekickSettings   = sidekickSettings;
            this.nativeKeyboard     = nativeKeyboard;
            this.keybindEvents      = keybindEvents;
            this.leagueDataService  = leagueDataService;

            Settings = new SidekickSettings();
            AssignValues(sidekickSettings, Settings);

            Keybinds.Clear();
            Settings.GetType()
            .GetProperties()
            .Where(x => x.Name.StartsWith("Key"))
            .ToList()
            .ForEach(x => Keybinds.Add(x.Name, x.GetValue(Settings).ToString()));

            WikiOptions.Add("POE Wiki", WikiSetting.PoeWiki.ToString());
            WikiOptions.Add("POE Db", WikiSetting.PoeDb.ToString());
            this.leagueDataService.Leagues.ForEach(x => LeagueOptions.Add(x.Id, x.Text));
            uiLanguageProvider.AvailableLanguages.ForEach(x => UILanguageOptions.Add(x.NativeName.First().ToString().ToUpper() + x.NativeName.Substring(1), x.Name));

            nativeKeyboard.OnKeyDown += NativeKeyboard_OnKeyDown;
        }
예제 #2
0
 public LanguageInitializationStartedHandler(
     IUILanguageProvider uILanguageProvider,
     ISidekickSettings settings)
 {
     this.uILanguageProvider = uILanguageProvider;
     this.settings           = settings;
 }
예제 #3
0
 public TrayIconViewModel(App application, SidekickSettings settings, IUILanguageProvider uiLanguageProvider, IViewLocator viewLocator)
 {
     this.application        = application;
     this.settings           = settings;
     this.uiLanguageProvider = uiLanguageProvider;
     this.viewLocator        = viewLocator;
 }
예제 #4
0
 public SetupViewModel(
     IUILanguageProvider uiLanguageProvider,
     IGameLanguageProvider gameLanguageProvider,
     ISidekickSettings sidekickSettings,
     IMediator mediator,
     IStringLocalizer <SetupViewModel> localizer)
 {
     this.uiLanguageProvider   = uiLanguageProvider;
     this.gameLanguageProvider = gameLanguageProvider;
     this.sidekickSettings     = sidekickSettings;
     this.mediator             = mediator;
     this.localizer            = localizer;
     uiLanguageProvider.AvailableLanguages.ForEach(x => UILanguageOptions.Add(x.NativeName.First().ToString().ToUpper() + x.NativeName[1..], x.Name));
예제 #5
0
        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));