public BaseView(string id, IServiceProvider serviceProvider, bool closeOnBlur = false, bool closeOnKey = false) { keybindEvents = serviceProvider.GetService <IKeybindEvents>(); settings = serviceProvider.GetService <SidekickSettings>(); windowService = serviceProvider.GetService <IWindowService>(); logger = serviceProvider.GetService <ILogger>(); debouncer = serviceProvider.GetService <IDebouncer>(); IsVisibleChanged += EnsureBounds; Loaded += EnsureBounds; Loaded += BaseWindow_Loaded; SizeChanged += EnsureBounds; if (closeOnBlur && settings.CloseOverlayWithMouse) { Deactivated += BaseBorderlessWindow_Deactivated; } if (closeOnKey) { keybindEvents.OnCloseWindow += KeybindEvents_OnCloseWindow; } this.closeOnBlur = closeOnBlur; this.closeOnKey = closeOnKey; this.id = id; }
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; }
public static IServiceCollection AddSidekickApplication(this IServiceCollection services, IConfiguration configuration) { var sidekickConfiguration = new SidekickSettings(); configuration.Bind(sidekickConfiguration); configuration.BindList(nameof(SidekickSettings.Chat_Commands), sidekickConfiguration.Chat_Commands); services.AddSingleton(sidekickConfiguration); services.AddSingleton <IGameLanguageProvider, GameLanguageProvider>(); services.AddSingleton <ISidekickSettings>(sp => sp.GetRequiredService <SidekickSettings>()); services.AddSingleton <IParserPatterns, ParserPatterns>(); // Keybind handlers services.AddSingleton <ChatKeybindHandler>(); services.AddSingleton <CloseOverlayKeybindHandler>(); services.AddSingleton <FindItemKeybindHandler>(); services.AddSingleton <OpenCheatsheetsKeybindHandler>(); services.AddSingleton <OpenMapInfoKeybindHandler>(); services.AddSingleton <OpenSettingsKeybindHandler>(); services.AddSingleton <OpenTradePageKeybindHandler>(); services.AddSingleton <OpenWikiPageKeybindHandler>(); services.AddSingleton <PriceCheckItemKeybindHandler>(); services.AddSingleton <ScrollStashDownKeybindHandler>(); services.AddSingleton <ScrollStashUpKeybindHandler>(); return(services); }
public PriceViewModel( ILogger logger, IDebouncer debouncer, ITradeSearchService tradeSearchService, IPoeNinjaCache poeNinjaCache, IStaticDataService staticDataService, ILanguageProvider languageProvider, IPoePriceInfoClient poePriceInfoClient, INativeClipboard nativeClipboard, IParserService parserService, SidekickSettings settings, IStatDataService statDataService, IItemCategoryService itemCategoryService) { this.logger = logger; this.debouncer = debouncer; this.tradeSearchService = tradeSearchService; this.poeNinjaCache = poeNinjaCache; this.staticDataService = staticDataService; this.languageProvider = languageProvider; this.poePriceInfoClient = poePriceInfoClient; this.nativeClipboard = nativeClipboard; this.parserService = parserService; this.settings = settings; this.statDataService = statDataService; this.itemCategoryService = itemCategoryService; Task.Run(Initialize); PropertyChanged += PriceViewModel_PropertyChanged; }
public TrayIconViewModel(App application, SidekickSettings settings, IUILanguageProvider uiLanguageProvider, IViewLocator viewLocator) { this.application = application; this.settings = settings; this.uiLanguageProvider = uiLanguageProvider; this.viewLocator = viewLocator; }
public EventsHandler( IKeybindEvents events, IWhisperService whisperService, INativeClipboard clipboard, INativeKeyboard keyboard, ILogger logger, ITradeSearchService tradeSearchService, IWikiProvider wikiProvider, IViewLocator viewLocator, IChatService chatService, IStashService stashService, SidekickSettings settings, IParserService parserService) { this.events = events; this.whisperService = whisperService; this.clipboard = clipboard; this.keyboard = keyboard; this.logger = logger.ForContext(GetType()); this.tradeSearchService = tradeSearchService; this.logger = logger.ForContext(GetType()); this.wikiProvider = wikiProvider; this.viewLocator = viewLocator; this.chatService = chatService; this.stashService = stashService; this.settings = settings; this.parserService = parserService; Initialize(); }
public PoeNinjaCache(IPoeNinjaClient client, ILogger logger, SidekickSettings configuration) { this.client = client; this.logger = logger; this.configuration = configuration; }
public PoeNinjaCache(IPoeNinjaClient client, ILogger logger, SidekickSettings configuration) { this.client = client; this.logger = logger.ForContext(GetType()); this.configuration = configuration; }
public UILanguageProvider(SidekickSettings settings) { AvailableLanguages = SupportedLanguages .Select(x => new CultureInfo(x)) .ToList(); this.settings = settings; }
public LeagueDataService(IPoeTradeClient poeTradeClient, SidekickSettings settings, ICacheService cacheService) { this.poeTradeClient = poeTradeClient; this.settings = settings; this.cacheService = cacheService; }
public Logger(SidekickSettings configuration, IInitializer initializer) { this.configuration = configuration; this.initializer = initializer; initializer.OnProgress += Initializer_OnProgress; }
public PartyService( ILogger logger, SidekickSettings settings, IChatService chatService) { this.logger = logger.ForContext(GetType()); this.settings = settings; this.chatService = chatService; }
public PoePriceInfoClient(ILogger logger, IHttpClientFactory httpClientFactory, SidekickSettings configuration) { this.logger = logger.ForContext(GetType()); this.configuration = configuration; client = httpClientFactory.CreateClient(); client.BaseAddress = new Uri(PoePricesBaseUrl); }
public KeybindEvents(ILogger logger, INativeProcess nativeProcess, SidekickSettings configuration, INativeKeyboard nativeKeyboard) { this.logger = logger; this.nativeProcess = nativeProcess; this.configuration = configuration; this.nativeKeyboard = nativeKeyboard; }
public LeagueViewModel( SidekickSettings settings) { this.settings = settings; Betrayal = new BetrayalLeague(); Blight = new BlightLeague(); Delve = new DelveLeague(); Incursion = new IncursionLeague(); Metamorph = new MetamorphLeague(); }
public ChatService( ILogger logger, INativeKeyboard keyboard, INativeClipboard clipboard, SidekickSettings settings) { this.logger = logger.ForContext(GetType()); this.keyboard = keyboard; this.clipboard = clipboard; this.settings = settings; }
public PoeNinjaCache(IPoeNinjaClient client, ILogger logger, ILanguageProvider languageProvider, ILeagueDataService leagueDataService, SidekickSettings configuration) { this.client = client; this.languageProvider = languageProvider; this.logger = logger.ForContext(GetType()); this.configuration = configuration; leagueDataService.OnLeagueChange += async() => await RefreshData(); }
public BaseWindow(IServiceProvider serviceProvider, bool closeOnBlur = false) { keybindEvents = serviceProvider.GetService <IKeybindEvents>(); settings = serviceProvider.GetService <SidekickSettings>(); Deactivated += BaseWindow_Deactivated; MouseLeftButtonDown += Window_MouseLeftButtonDown; SizeChanged += EnsureBounds; IsVisibleChanged += EnsureBounds; Loaded += EnsureBounds; keybindEvents.OnCloseWindow += KeybindEvents_OnCloseWindow; this.closeOnBlur = closeOnBlur; }
public KeybindEvents(ILogger logger, INativeProcess nativeProcess, SidekickSettings configuration, INativeKeyboard nativeKeyboard, IStashService stashService, HookProvider hookProvider) { this.logger = logger.ForContext(GetType()); this.nativeProcess = nativeProcess; this.configuration = configuration; this.nativeKeyboard = nativeKeyboard; this.stashService = stashService; this.hookProvider = hookProvider; }
public TradeClient(ILogger logger, ILanguageProvider languageProvider, IHttpClientProvider httpClientProvider, IStaticItemCategoryService staticItemCategoryService, SidekickSettings configuration, IPoeApiClient poeApiClient, INativeBrowser nativeBrowser) { this.logger = logger; this.languageProvider = languageProvider; this.httpClientProvider = httpClientProvider; this.staticItemCategoryService = staticItemCategoryService; this.configuration = configuration; this.poeApiClient = poeApiClient; this.nativeBrowser = nativeBrowser; }
public MapInfoViewModel( INativeClipboard nativeClipboard, IParserService parserService, SidekickSettings settings) { this.nativeClipboard = nativeClipboard; this.parserService = parserService; DangerousModsRegex = new Regex( settings.DangerousModsRegex, RegexOptions.Compiled | RegexOptions.IgnoreCase); DangerousMapMods = new ObservableList <DangerousMapModModel>(); NewLinePattern = new Regex("(?:\\\\)*[\\r\\n]+"); IsParsing = true; Task.Run(Initialize); }
public TradeSearchService(ILogger logger, ILanguageProvider languageProvider, IHttpClientProvider httpClientProvider, IStaticDataService staticDataService, SidekickSettings configuration, IPoeTradeClient poeTradeClient, INativeBrowser nativeBrowser) { this.logger = logger.ForContext(GetType()); this.languageProvider = languageProvider; this.httpClientProvider = httpClientProvider; this.staticDataService = staticDataService; this.configuration = configuration; this.poeTradeClient = poeTradeClient; this.nativeBrowser = nativeBrowser; }
public UILanguageProvider(SidekickSettings settings) { AvailableLanguages = SupportedLanguages .Select(x => new CultureInfo(x)) .ToList(); var current = AvailableLanguages.FirstOrDefault(x => x.Name == settings.Language_UI); if (current != null) { SetLanguage(settings.Language_UI); } else { SetLanguage(SupportedLanguages.FirstOrDefault()); } }
public LanguageProvider(ILogger logger, IInitializer initializeService, SidekickSettings settings) { this.logger = logger.ForContext(GetType()); this.initializeService = initializeService; this.settings = settings; AvailableLanguages = new List <LanguageAttribute>(); foreach (var type in typeof(LanguageAttribute).GetImplementedAttribute()) { var attribute = type.GetAttribute <LanguageAttribute>(); attribute.ImplementationType = type; AvailableLanguages.Add(attribute); } if (!SetLanguage(settings.Language_Parser)) { SetLanguage(DefaultLanguage); } }
public static IServiceCollection AddSidekickApplication(this IServiceCollection services) { var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile(SaveSettingsHandler.FileName, optional: true, reloadOnChange: true); var configuration = builder.Build(); var sidekickConfiguration = new SidekickSettings(); configuration.Bind(sidekickConfiguration); services.AddSingleton(sidekickConfiguration); services.AddSingleton <IGameLanguageProvider, GameLanguageProvider>(); services.AddSingleton <ISidekickSettings>(sp => sp.GetRequiredService <SidekickSettings>()); services.AddSingleton <IKeybindsExecutor, KeybindsExecutor>(); services.AddSingleton <IClipboardProvider, ClipboardProvider>(); services.AddSingleton <IParserPatterns, ParserPatterns>(); return(services); }
public PriceViewModel( ITradeSearchService tradeSearchService, IPoeNinjaCache poeNinjaCache, IStaticDataService staticDataService, ILanguageProvider languageProvider, IPoePriceInfoClient poePriceInfoClient, INativeClipboard nativeClipboard, IParserService parserService, SidekickSettings settings, IStatDataService statDataService) { this.tradeSearchService = tradeSearchService; this.poeNinjaCache = poeNinjaCache; this.staticDataService = staticDataService; this.languageProvider = languageProvider; this.poePriceInfoClient = poePriceInfoClient; this.nativeClipboard = nativeClipboard; this.parserService = parserService; this.settings = settings; this.statDataService = statDataService; Task.Run(Initialize); }
public LeagueDataService(IPoeTradeClient poeTradeClient, SidekickSettings settings) { this.poeTradeClient = poeTradeClient; this.settings = settings; }
public NativeClipboard(SidekickSettings settings, INativeKeyboard keyboard) { this.settings = settings; this.keyboard = keyboard; }
public LeagueService(IPoeApiClient poeApiClient, SidekickSettings configuration) { this.poeApiClient = poeApiClient; this.configuration = configuration; }
private void AssignValues(SidekickSettings src, SidekickSettings dest) { // iterates through src Settings (properties) and copies them to dest settings (properties) // If there ever comes a time, where some properties do not have to be copied, we can add attributes to exclude them src.GetType().GetProperties().ToList().ForEach(x => x.SetValue(dest, x.GetValue(src))); }