Exemple #1
0
        private async void MainForm_Shown(object sender, EventArgs e)
        {
            this.SetVersion();
            this.currentTitleStatusLabel.Text = string.Empty;

            if (!File.Exists(Files.DbPath))
            {
                var result = MessageBox.Show(
                    Properties.Resources.Disclaimer,
                    "boo",
                    MessageBoxButtons.OKCancel,
                    MessageBoxIcon.Warning);

                if (result == DialogResult.Cancel)
                {
                    Environment.Exit(0);
                }

                this.statusProgressbar.Style = ProgressBarStyle.Marquee;
                this.UpdateAction("Downloading database...");
                await Task.Run(() => DatabaseParser.DownloadDatabase(Files.DbPath));

                this.UpdateAction($"Prettifying JSON in \"{Files.DbPath}\"...");
                File.WriteAllText(Files.DbPath, JsonPrettifier.FormatJson(File.ReadAllText(Files.DbPath)));
            }

            if (!File.Exists(Files.SizesPath))
            {
                this.UpdateAction("Downloading sizes data...");
                await Task.Run(() => DatabaseParser.DownloadSizes(Files.SizesPath));
            }

            this.UpdateAction($"Reading data from \"{Files.DbPath}\" and \"{Files.SizesPath}\"...");
            this.allTitles = DatabaseParser.ParseFromDatabase(Files.DbPath, Files.SizesPath);

            if (File.Exists(Files.FilterPath))
            {
                this.titleFilter = TitleFilterStorage.ParseFilterSettings(Files.FilterPath);
            }

            this.titles = new SortableBindingList <Nintendo3DSTitle>(TitleFilter.FilterTitles(this.allTitles, this.titleFilter));

            this.titlesDataGrid.DoubleBuffered(true);
            this.titlesDataGrid.DataSource = this.titles;
            this.SortDataGrid();

            this.UpdateAction(string.Empty);
            this.currentTitleStatusLabel.Text = string.Empty;
            this.titlesCountLabel.Text        = this.titles.Count + " titles";
            this.statusProgressbar.Style      = ProgressBarStyle.Blocks;

            this.generateAllTicketsButton.Enabled = true;
            this.filterButton.Enabled             = true;
            this.generateQrCodeButton.Enabled     = true;
        }
Exemple #2
0
        private void filterButton_Click(object sender, EventArgs e)
        {
            var dialog = new FilterDialog(this.titleFilter.Clone());
            var result = dialog.ShowDialog();

            if (result == DialogResult.OK)
            {
                if (!dialog.TitleFilter.Equals(this.titleFilter))
                {
                    this.titleFilter = dialog.TitleFilter.Clone();
                    TitleFilterStorage.WriteFilterSettings(this.titleFilter, Files.FilterPath);

                    this.FilterTitlesAndUpdate();
                }
            }
        }