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; }
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(); } } }