private async void LoadToolStripMenuItem_Click(object sender, EventArgs e) { if (ModListView.Items.Count != 0) { DialogResult overwrite = MessageBox.Show("The mod list is not empty, are you sure you want to overwrite the current list?", "Confirm Overwrite", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2); if (overwrite == DialogResult.No) { return; } } try { if (LoadModListDialog.ShowDialog() == DialogResult.OK) { ToggleLoadingLabel(true); ModListView.BeginUpdate(); ModListView.Items.Clear(); ModListView.Sorting = SortOrder.None; await Task.Run(() => LoadModList(LoadModListDialog.FileName)); if (KeepSortedCheckBox.Checked) { ModListView.Sorting = SortOrder.Ascending; ModListView.Sort(); } ModListView.EndUpdate(); ToggleLoadingLabel(false); } } catch (Exception ex) { MessageBox.Show($"There was an error loading the mod list.\r\n\r\nType: {ex.GetType().Name}\r\n\r\n{ex.Message}", "Error Loading Mod List", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void SortLinkLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { if (MessageBox.Show("Sort mod list?", "Confirm Sort", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes) { ModListView.Sorting = SortOrder.Ascending; ModListView.Sort(); ModListView.Sorting = SortOrder.None; } }
private void KeepSortedCheckBox_CheckedChanged(object sender, EventArgs e) { if (KeepSortedCheckBox.Checked) { SortLinkLabel.Visible = false; ModListView.Sorting = SortOrder.Ascending; ModListView.Sort(); } else { SortLinkLabel.Visible = true; ModListView.Sorting = SortOrder.None; } }