sln explorer set selected fast path
This commit is contained in:
@@ -98,6 +98,14 @@ public partial class SolutionExplorerPanel : MarginContainer
|
|||||||
{
|
{
|
||||||
await Task.CompletedTask.ConfigureAwait(ConfigureAwaitOptions.ForceYielding);
|
await Task.CompletedTask.ConfigureAwait(ConfigureAwaitOptions.ForceYielding);
|
||||||
var task = GodotGlobalEvents.Instance.FileSelected.InvokeParallelAsync(file, fileLinePosition);
|
var task = GodotGlobalEvents.Instance.FileSelected.InvokeParallelAsync(file, fileLinePosition);
|
||||||
|
// First check if the file is already selected
|
||||||
|
var selectedItem = _tree.GetSelected();
|
||||||
|
if (selectedItem is not null)
|
||||||
|
{
|
||||||
|
var selectedFile = selectedItem.GetTypedMetadata<RefCountedContainer<SharpIdeFile>?>(0)?.Item;
|
||||||
|
if (selectedFile == file)
|
||||||
|
return;
|
||||||
|
}
|
||||||
var item = FindItemRecursive(_tree.GetRoot(), file);
|
var item = FindItemRecursive(_tree.GetRoot(), file);
|
||||||
if (item is not null)
|
if (item is not null)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user