void PopulateListView()
{
int indexToSelect = 0;
if (listViewStrings.SelectedIndices.Count > 0)
indexToSelect = listViewStrings.SelectedIndices[0];
listViewStrings.Items.Clear();
groupMap.Clear();
foreach (ResXFile resXFile in resourceDirectory.AllFiles) {
ListViewGroup group = new ListViewGroup(Path.GetFileNameWithoutExtension(resXFile.NonLocalizedFileName));
group.Tag = resXFile;
groupMap[resXFile] = group;
listViewStrings.Groups.Add(group);
foreach (LocString str in resXFile.AllStrings) {
ListViewItem item = CreateItem(str);
listViewStrings.Items.Add(item);
itemMap[str] = item;
}
}
if (listViewStrings.Items.Count > 0) {
listViewStrings.Items[indexToSelect].Selected = true;
listViewStrings.EnsureVisible(indexToSelect);
UpdateColumnWidths();
}
UpdateUI();
}