コード例 #1
0
ファイル: EventsHandler.cs プロジェクト: mad2357/Sidekick
        private Task <bool> Events_OnOpenLeagueOverview()
        {
            if (viewLocator.IsOpened <LeagueView>())
            {
                viewLocator.CloseAll();
            }
            else
            {
                viewLocator.CloseAll();
                viewLocator.Open <LeagueView>();
            }

            return(Task.FromResult(true));
        }
コード例 #2
0
        public Task <bool> Handle(CloseMapViewCommand request, CancellationToken cancellationToken)
        {
            var result = viewLocator.IsOpened(View.Map);

            viewLocator.Close(View.Map);

            return(Task.FromResult(result));
        }
コード例 #3
0
 public Task Handle(InitializationStarted notification, CancellationToken cancellationToken)
 {
     viewLocator.Close(View.Settings);
     viewLocator.Close(View.Setup);
     if (settings.ShowSplashScreen && !viewLocator.IsOpened(View.Initialization))
     {
         viewLocator.Open(View.Initialization);
     }
     return(Task.CompletedTask);
 }
コード例 #4
0
        public Task <bool> Handle(ToggleCheatsheetsCommand request, CancellationToken cancellationToken)
        {
            if (viewLocator.IsOpened(View.League))
            {
                viewLocator.Close(View.League);
            }
            else
            {
                viewLocator.Open(View.League);
            }

            return(Task.FromResult(true));
        }
コード例 #5
0
        protected override async void OnStartup(StartupEventArgs e)
        {
            Instance = this;

            base.OnStartup(e);

            AttachErrorHandlers();

            // Tooltip opened indefinitely until mouse is moved.
            ToolTipService.ShowDurationProperty.OverrideMetadata(typeof(DependencyObject), new FrameworkPropertyMetadata(int.MaxValue));

            serviceProvider = Sidekick.Startup.InitializeServices(this);

            logger            = serviceProvider.GetRequiredService <ILogger>();
            nativeProcess     = serviceProvider.GetRequiredService <INativeProcess>();
            nativeBrowser     = serviceProvider.GetRequiredService <INativeBrowser>();
            leagueDataService = serviceProvider.GetRequiredService <ILeagueDataService>();
            initializer       = serviceProvider.GetRequiredService <IInitializer>();
            viewLocator       = serviceProvider.GetRequiredService <IViewLocator>();
            settings          = serviceProvider.GetRequiredService <SidekickSettings>();

            trayIcon             = (TaskbarIcon)FindResource("TrayIcon");
            trayIcon.DataContext = serviceProvider.GetRequiredService <TrayIconViewModel>();

            await RunAutoUpdate();

            EnsureSingleInstance();

            leagueDataService.OnNewLeagues += () =>
            {
                Dispatcher.Invoke(() =>
                {
                    AdonisUI.Controls.MessageBox.Show(InitializerResources.Warn_NewLeagues, buttons: AdonisUI.Controls.MessageBoxButton.OK);
                });
            };

            if (settings.ShowSplashScreen)
            {
                initializer.OnProgress += (a) =>
                {
                    if (!viewLocator.IsOpened <SplashScreenView>())
                    {
                        Dispatcher.Invoke(() =>
                        {
                            viewLocator.Open <SplashScreenView>();
                        });
                    }
                };
            }

            initializer.OnError += (error) =>
            {
                AdonisUI.Controls.MessageBox.Show(InitializerResources.ErrorDuringInit, buttons: AdonisUI.Controls.MessageBoxButton.OK);
                base.Shutdown(1);
            };

            await initializer.Initialize();

            trayIcon.ShowBalloonTip(
                TrayResources.Notification_Title,
                string.Format(TrayResources.Notification_Message, settings.Key_CheckPrices.ToKeybindString(), settings.Key_CloseWindow.ToKeybindString()),
                trayIcon.Icon,
                largeIcon: true);

            serviceProvider.GetRequiredService <EventsHandler>();
        }
コード例 #6
0
 public bool IsValid() => viewLocator.IsOpened(View.Map) || viewLocator.IsOpened(View.Trade);