From 89c151a36e7662dab3f7a638805abfc4a26cfab5 Mon Sep 17 00:00:00 2001 From: Matt Parker <61717342+MattParkerDev@users.noreply.github.com> Date: Thu, 2 Oct 2025 21:27:51 +1000 Subject: [PATCH] auto open sln if checked --- src/SharpIDE.Godot/Features/SlnPicker/SlnPicker.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/SharpIDE.Godot/Features/SlnPicker/SlnPicker.cs b/src/SharpIDE.Godot/Features/SlnPicker/SlnPicker.cs index 15738fc..23e1ec8 100644 --- a/src/SharpIDE.Godot/Features/SlnPicker/SlnPicker.cs +++ b/src/SharpIDE.Godot/Features/SlnPicker/SlnPicker.cs @@ -27,6 +27,14 @@ public partial class SlnPicker : Control var windowParent = GetParentOrNull(); _fileDialog.FileSelected += path => _tcs.SetResult(path); windowParent?.CloseRequested += () => _tcs.SetResult(null); + if (Singletons.AppState.IdeSettings.AutoOpenLastSolution && GetParent() is not Window) + { + var lastSln = Singletons.AppState.RecentSlns.LastOrDefault(); + if (lastSln is not null && File.Exists(lastSln.FilePath)) + { + _tcs.TrySetResult(lastSln.FilePath); + } + } PopulatePreviousSolutions(); } @@ -37,7 +45,7 @@ public partial class SlnPicker : Control { var node = _previousSlnEntryScene.Instantiate(); node.RecentSln = previousSln; - node.Clicked = path => _tcs.SetResult(path); + node.Clicked = path => _tcs.TrySetResult(path); _previousSlnsVBoxContainer.AddChild(node); } }