Unimplement `IEnumerable` on `RecentFiles` and `PathEntryCollection`

This commit is contained in:
YoshiRulz 2024-06-06 14:33:08 +10:00
parent fab1fae66a
commit 75502e7ffb
No known key found for this signature in database
GPG Key ID: C4DE31C245353FB7
3 changed files with 5 additions and 13 deletions

View File

@ -1,13 +1,11 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using Newtonsoft.Json;
namespace BizHawk.Client.Common
{
[JsonObject]
public class RecentFiles : IEnumerable<string>
public class RecentFiles
{
// ReSharper disable once FieldCanBeMadeReadOnly.Local
private List<string> recentlist;
@ -43,7 +41,6 @@ namespace BizHawk.Client.Common
public string this[int index] => recentlist.Any() ? recentlist[index] : "";
public IEnumerator<string> GetEnumerator() => recentlist.GetEnumerator();
IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
public void Clear()
{

View File

@ -1,5 +1,4 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Linq;
@ -12,8 +11,7 @@ using Newtonsoft.Json;
namespace BizHawk.Client.Common
{
[JsonObject]
public class PathEntryCollection : IEnumerable<PathEntry>
public class PathEntryCollection
{
private static readonly string COMBINED_SYSIDS_GB = string.Join("_", VSystemID.Raw.GB, VSystemID.Raw.GBC, VSystemID.Raw.SGB);
@ -120,9 +118,6 @@ namespace BizHawk.Client.Common
public bool UseRecentForRoms { get; set; }
public string LastRomPath { get; set; } = ".";
public IEnumerator<PathEntry> GetEnumerator() => Paths.GetEnumerator();
IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
public PathEntry this[string system, string type]
=> Paths.Find(p => p.IsSystem(system) && p.Type == type) ?? TryGetDebugPath(system, type);

View File

@ -42,7 +42,7 @@ namespace BizHawk.Client.EmuHawk
{
RecentForROMs.Checked = _pathEntries.UseRecentForRoms;
DoTabs(_pathEntries.ToList(), _sysID);
DoTabs(_pathEntries.Paths, focusTabOfSystem: _sysID);
DoRomToggle();
}
@ -135,7 +135,7 @@ namespace BizHawk.Client.EmuHawk
tcMain.Visible = false;
PathTabControl.TabPages.Clear();
var systems = _pathEntries.Select(e => e.System).Distinct() // group entries by "system" (intentionally using instance field here, not parameter)
var systems = _pathEntries.Paths.Select(static e => e.System).Distinct() // group entries by "system" (intentionally using instance field here, not parameter)
.Select(sys => (SysGroup: sys, DisplayName: PathEntryCollection.GetDisplayNameFor(sys)))
.OrderBy(tuple => tuple.DisplayName)
.ToList();
@ -218,7 +218,7 @@ namespace BizHawk.Client.EmuHawk
foreach (var t in AllPathControls.OfType<TextBox>())
{
var pathEntry = _pathEntries.First(p => p.System == t.Parent.Name && p.Type == t.Name);
var pathEntry = _pathEntries.Paths.First(p => p.System == t.Parent.Name && p.Type == t.Name);
pathEntry.Path = t.Text;
}