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