fix reordering

This commit is contained in:
Matt Parker
2025-10-02 21:41:03 +10:00
parent 89c151a36e
commit bb151f4802
3 changed files with 5 additions and 3 deletions

View File

@@ -4,7 +4,7 @@ public class AppState
{
public string? LastOpenSolutionFilePath { get; set; }
public IdeSettings IdeSettings { get; set; } = new IdeSettings();
public HashSet<RecentSln> RecentSlns { get; set; } = [];
public List<RecentSln> RecentSlns { get; set; } = [];
}
public class IdeSettings

View File

@@ -41,7 +41,7 @@ public partial class SlnPicker : Control
private void PopulatePreviousSolutions()
{
_previousSlnsVBoxContainer.QueueFreeChildren();
foreach (var previousSln in Singletons.AppState.RecentSlns.Reverse())
foreach (var previousSln in Singletons.AppState.RecentSlns.AsEnumerable().Reverse())
{
var node = _previousSlnEntryScene.Instantiate<PreviousSlnEntry>();
node.RecentSln = previousSln;

View File

@@ -79,7 +79,9 @@ public partial class IdeWindow : Control
return;
}
ideRoot.SetSlnFilePath(slnPath);
Singletons.AppState.RecentSlns.Add(new RecentSln { FilePath = slnPath, Name = Path.GetFileName(slnPath) });
var recentSln = new RecentSln { FilePath = slnPath, Name = Path.GetFileName(slnPath) };
Singletons.AppState.RecentSlns.RemoveAll(s => s == recentSln); // Move to end (most recent)
Singletons.AppState.RecentSlns.Add(recentSln);
await this.InvokeAsync(() =>
{