using System; using System.IO; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; using BizHawk.Common; using BizHawk.Client.Common; namespace BizHawk.MultiClient { public partial class ArchiveChooser : Form { public ArchiveChooser(HawkFile hawkfile) { InitializeComponent(); var items = hawkfile.ArchiveItems; for(int i=0;i lvitems = lvMembers.Items.Cast().ToList(); List sorteditems = new List(); sorteditems.AddRange(lvitems.Where(x => IsVerifiedRegion(x.SubItems[1].Text, "(W)")).OrderBy(x => x.Name).ToList()); sorteditems.AddRange(lvitems.Where(x => IsUnverifiedRegion(x.SubItems[1].Text, "(W)")).OrderBy(x => x.Name).ToList()); sorteditems.AddRange(lvitems.Where(x => IsVerifiedRegion(x.SubItems[1].Text, "(JU)")).OrderBy(x => x.Name).ToList()); sorteditems.AddRange(lvitems.Where(x => IsUnverifiedRegion(x.SubItems[1].Text, "(JU)")).OrderBy(x => x.Name).ToList()); sorteditems.AddRange(lvitems.Where(x => IsVerifiedRegion(x.SubItems[1].Text, "(U)")).OrderBy(x => x.Name).ToList()); sorteditems.AddRange(lvitems.Where(x => IsUnverifiedRegion(x.SubItems[1].Text, "(U)")).OrderBy(x => x.Name).ToList()); sorteditems.AddRange(lvitems.Where(x => IsVerifiedRegion(x.SubItems[1].Text, "(J)")).OrderBy(x => x.Name).ToList()); sorteditems.AddRange(lvitems.Where(x => IsUnverifiedRegion(x.SubItems[1].Text, "(J)")).OrderBy(x => x.Name).ToList()); sorteditems.AddRange(lvitems.Where(x => IsVerifiedRegion(x.SubItems[1].Text, "(E)")).OrderBy(x => x.Name).ToList()); sorteditems.AddRange(lvitems.Where(x => IsUnverifiedRegion(x.SubItems[1].Text, "(E)")).OrderBy(x => x.Name).ToList()); sorteditems.AddRange(lvitems.Where(x => IsNotRegion(x.SubItems[1].Text)).ToList()); lvMembers.Items.Clear(); foreach (ListViewItem i in sorteditems) { lvMembers.Items.Add(i); } } public int SelectedMemberIndex { get { if (lvMembers.SelectedIndices.Count == 0) return -1; int? ai = lvMembers.SelectedItems[0].Tag as int?; return ai ?? -1; } } private void btnOK_Click(object sender, EventArgs e) { DialogResult = DialogResult.OK; Close(); } private void btnCancel_Click(object sender, EventArgs e) { DialogResult = DialogResult.Cancel; } private void lvMembers_ItemActivate(object sender, EventArgs e) { DialogResult = DialogResult.OK; Close(); } private void ArchiveChooser_Load(object sender, EventArgs e) { lvMembers.Items[0].Selected = true; } } }