예제 #1
0
        private async void ChooseDriverStoreToolStripMenuItem_Click(object sender, EventArgs e)
        {
            using (ChooseDriverStore chooseDriverStore = new ChooseDriverStore())
            {
                chooseDriverStore.StoreType = this.driverStore.Type;
                if (this.driverStore.Type == DriverStoreType.Offline)
                {
                    chooseDriverStore.OfflineStoreLocation = this.driverStore.OfflineStoreLocation;
                }

                chooseDriverStore.RightToLeft       = this.RightToLeft;
                chooseDriverStore.RightToLeftLayout = this.RightToLeftLayout;

                DialogResult result = chooseDriverStore.ShowDialog();

                if (result == DialogResult.OK)
                {
                    switch (chooseDriverStore.StoreType)
                    {
                    case DriverStoreType.Online:
                        this.UpdateDriverStore(DriverStoreFactory.CreateOnlineDriverStore());
                        break;

                    case DriverStoreType.Offline:
                        this.UpdateDriverStore(DriverStoreFactory.CreateOfflineDriverStore(chooseDriverStore.OfflineStoreLocation));
                        break;
                    }

                    await this.PopulateUIWithDriverStoreEntries().ConfigureAwait(true);
                }
            }
        }
예제 #2
0
        public DSEForm()
        {
            if (!DSEFormHelper.IsOSSupported)
            {
                this.ShowMessageBox(
                    Language.Message_Requires_Later_OS,
                    Language.Product_Name,
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Information);

                Application.Exit();
            }

            if (!DSEFormHelper.IsRunAsAdmin)
            {
                DSEFormHelper.RunAsAdministrator();
            }

            var lang = Settings.Default.Language;

            if (lang != null && !CultureInfo.InvariantCulture.Equals(lang))
            {
                Thread.CurrentThread.CurrentCulture   = lang;
                Thread.CurrentThread.CurrentUICulture = lang;
            }

            this.Font = SystemFonts.MessageBoxFont;

            this.InitializeComponent();

            this.Icon = DSEFormHelper.ExtractAssociatedIcon(Application.ExecutablePath);
            this.BuildLanguageMenu();

            this.lstDriverStoreEntries.PrimarySortColumn   = this.driverClassColumn;
            this.lstDriverStoreEntries.PrimarySortOrder    = SortOrder.Ascending;
            this.lstDriverStoreEntries.SecondarySortColumn = this.driverDateColumn;
            this.lstDriverStoreEntries.SecondarySortOrder  = SortOrder.Descending;
            this.lstDriverStoreEntries.CheckBoxes          = DSEFormHelper.IsRunAsAdmin;

            this.SetupListViewColumns();

            Trace.TraceInformation("---------------------------------------------------------------");
            Trace.TraceInformation($"{Application.ProductName} started");

            this.UpdateDriverStore(DriverStoreFactory.CreateOnlineDriverStore());

            this.UpdateCheckedItemSizeTimer = new Timer(x => this.BeginInvoke((Action)(() => this.UpdateCheckedItemSize())));
        }
예제 #3
0
        private void ChooseDriverStoreToolStripMenuItem_Click(object sender, EventArgs e)
        {
            using (ChooseDriverStore chooseDriverStore = new ChooseDriverStore())
            {
                chooseDriverStore.StoreType = this.driverStore.Type;
                if (this.driverStore.Type == DriverStoreType.Offline)
                {
                    chooseDriverStore.OfflineStoreLocation = this.driverStore.OfflineStoreLocation;
                }

                DialogResult result = chooseDriverStore.ShowDialog();

                if (result == DialogResult.OK)
                {
                    if (!this.backgroundWorker1.IsBusy)
                    {
                        switch (chooseDriverStore.StoreType)
                        {
                        case DriverStoreType.Online:
                            this.UpdateDriverStore(DriverStoreFactory.CreateOnlineDriverStore());
                            break;

                        case DriverStoreType.Offline:
                            this.UpdateDriverStore(DriverStoreFactory.CreateOfflineDriverStore(chooseDriverStore.OfflineStoreLocation));
                            break;
                        }

                        this.PopulateUIWithDriverStoreEntries(true);
                    }
                    else
                    {
                        this.InProgress();
                    }
                }
            }
        }