private void FillRecentWorldsList(bool justClear = false)
{
if (justClear)
{
DialogResult res = MessageBox.Show(this, "Are you sure you want to clear the list of recent worlds?", "Clear", MessageBoxButtons.YesNo, MessageBoxIcon.None, MessageBoxDefaultButton.Button2);
if (res != DialogResult.Yes)
{
return;
}
}
for (int i = menuRecentWorlds.DropDownItems.Count - 1; i >= 0; i--)
{
if (menuRecentWorlds.DropDownItems[i] != menuRecentWorldsSeparator && menuRecentWorlds.DropDownItems[i] != menuClearRecentWorlds)
{
menuRecentWorlds.DropDownItems.RemoveAt(i);
}
}
if (justClear)
{
Settings.ClearRecentWorlds();
return;
}
List <String> worlds = new List <string>();
for (int i = 0; i < Settings.RecentWorlds.Count; i++)
{
worlds.Add(String.Format("&{0} {1} ({2})", worlds.Count + 1, Regex.Replace(Settings.RecentWorlds[i].Path, @"^.*([\/\\][^\/\\]+[\/\\]level.dat)$", "...$1"), Settings.RecentWorlds[i].Name));
}
for (int i = 0; i < worlds.Count; i++)
{
menuRecentWorlds.DropDownItems.Insert(i, new ToolStripMenuItem(worlds[i], null, menuRecentWorldItem_Click));
}
}