Exemplo n.º 1
0
        private void UITestForm_Load(object sender, EventArgs e)
        {
            testWelcomeControl      = new WelcomeControl();
            testWelcomeControl.Dock = DockStyle.Fill;

            testLocationControl      = new LocationControl();
            testLocationControl.Dock = DockStyle.Fill;

            testTeamControl      = new TeamControl();
            testTeamControl.Dock = DockStyle.Fill;

            testStructureControl      = new StructureControl();
            testStructureControl.Dock = DockStyle.Fill;

            testHistoryControl      = new HistoryControl();
            testHistoryControl.Dock = DockStyle.Fill;

            testMethodologyControl      = new MethodologyControl();
            testMethodologyControl.Dock = DockStyle.Fill;

            activeControlPanel.Controls.Add(testWelcomeControl);
            welcomeTabButton.BackColor = Color.DarkGray;

            progress  = 1;
            this.data = new Data.Unit();
        }
Exemplo n.º 2
0
        private async void Window_Loaded(object sender, RoutedEventArgs e)
        {
            App.NotificationList            = new ObservableCollection <NotificationOption>();
            NotificationOverlay.ItemsSource = App.NotificationList;
            if (AppSettings.Current.General.FirstOpen)
            {
                WelcomeControl.Show();
                await Services.Get <OsuDbInst>().LoadLocalDbAsync();
            }
            else
            {
                await Services.Get <OsuFileScanner>().NewScanAndAddAsync(AppSettings.Current.General.CustomSongsPath);

                if (DateTime.Now - AppSettings.Current.LastTimeScanOsuDb > TimeSpan.FromDays(1))
                {
                    await Services.Get <OsuDbInst>().SyncOsuDbAsync(AppSettings.Current.General.DbPath, true);

                    AppSettings.Current.LastTimeScanOsuDb = DateTime.Now;
                    AppSettings.SaveCurrent();
                }
            }

            UpdateCollections();

            PlayController.Default.OnNewFileLoaded += Controller_OnNewFileLoaded;
            PlayController.Default.OnLikeClick     += Controller_OnLikeClick;
            PlayController.Default.OnThumbClick    += Controller_OnThumbClick;

            var  updater   = Services.Get <Updater>();
            bool?hasUpdate = await updater.CheckUpdateAsync();

            if (hasUpdate == true && updater.NewRelease.NewVerString != AppSettings.Current.IgnoredVer)
            {
                var newVersionWindow = new NewVersionWindow(updater.NewRelease, this);
                newVersionWindow.ShowDialog();
            }
        }
        private async void Window_Loaded(object sender, RoutedEventArgs e)
        {
            UpdateCardPopupPosition();

            if (string.IsNullOrWhiteSpace(ConfigModel.SigninProvider) == false)
            {
                string token = ConfigModel.SigninProvider switch
                {
                    "Google" => await TokenManager.GoogleSignin(),
                    "Facebook" => TokenManager.FacebookSignin(this),
                    _ => null
                };

                ValidateExternalToken(ConfigModel.SigninProvider, token);
            }
            else if (string.IsNullOrWhiteSpace(ConfigModel.SigninEmail) == false)
            {
                if (string.IsNullOrWhiteSpace(ConfigModel.SigninPassword) == false)
                {
                    AccountResponse info = Api.AutoSigninLocalUser(ConfigModel.SigninEmail, ConfigModel.SigninPassword);
                    if (info == null)
                    {
                        MessageBox.Show("Cannot auto-signin the local account", "MTGAHelper");
                    }
                    else if (info.IsAuthenticated)
                    {
                        SetSignedIn(info);
                    }
                }
                else
                {
                    MainWindowVM.SigninEmail.Value = ConfigModel.SigninEmail;
                    WelcomeControl.SetRememberEmail();
                }
            }
        }
        public MainWindow(
            ConfigModel configApp,
            ICollection <Card> allCards,
            MainWindowVM viewModel,
            ProcessMonitor processMonitor,
            LogFileZipper zipper,
            ServerApiCaller api,
            StartupShortcutManager startupManager,
            LogSplitter logSplitter,
            MtgaResourcesLocator resourcesLocator,
            FileMonitor fileMonitor,
            DraftCardsPicker draftHelper,
            ReaderMtgaOutputLog readerMtgaOutputLog,
            InGameTracker2 inMatchTracker,
            ExternalProviderTokenManager tokenManager,
            PasswordHasher passwordHasher,
            CacheSingleton <Dictionary <string, DraftRatings> > draftRatings,
            DraftHelperRunner draftHelperRunner)
        {
            // Set the config model reference
            ConfigModel = configApp;


            Reader = readerMtgaOutputLog;
            processMonitor.OnProcessMonitorStatusChanged += OnProcessMonitorStatusChanged;
            Zipper           = zipper;
            Api              = api;
            StartupManager   = startupManager;
            LogSplitter      = logSplitter;
            ResourcesLocator = resourcesLocator;
            FileMonitor      = fileMonitor;
            fileMonitor.OnFileSizeChangedNewText += OnFileSizeChangedNewText;
            DraftHelper = draftHelper;
            //this.logProcessor = logProcessor;
            InGameTracker     = inMatchTracker;
            TokenManager      = tokenManager;
            PasswordHasher    = passwordHasher;
            DraftRatings      = draftRatings;
            DraftHelperRunner = draftHelperRunner;
            ResourcesLocator.LocateLogFilePath(ConfigModel);
            ResourcesLocator.LocateGameClientFilePath(ConfigModel);

            fileMonitor.SetFilePath(ConfigModel.LogFilePath);

            // Set the view model
            MainWindowVM = viewModel;

            // Set the data context to the view model
            DataContext = MainWindowVM;

            InitializeComponent();

            WelcomeControl.Init(tokenManager);
            PlayingControl.Init(MainWindowVM);
            StatusBarTop.Init(this, MainWindowVM);
            ReadyControl.Init(ConfigModel.GameFilePath);
            DraftingControl.Init(allCards, MainWindowVM.DraftingVM);

            DraftingControl.SetPopupRatingsSource(ConfigModel.ShowLimitedRatings, ConfigModel.ShowLimitedRatingsSource);

            processMonitor.Start(new System.Threading.CancellationToken());

            FileMonitor.Start(new System.Threading.CancellationToken());

            var timer = new DispatcherTimer {
                Interval = TimeSpan.FromMilliseconds(200)
            };

            timer.Tick += (sender, e) =>
            {
                MainWindowVM.SetCardsDraftFromBuffered();
                MainWindowVM.SetCardsInMatchTrackingFromBuffered();
            };
            timer.Start();

            var timerTokenRefresh = new DispatcherTimer {
                Interval = TimeSpan.FromMinutes(9)
            };

            timerTokenRefresh.Tick += (sender, e) =>
            {
                RefreshAccessToken();
            };
            timerTokenRefresh.Start();
        }