From 54959918c936c9b41cb0663aa32d12e7d3569698 Mon Sep 17 00:00:00 2001 From: Matt Parker <61717342+MattParkerDev@users.noreply.github.com> Date: Sat, 1 Nov 2025 23:36:28 +1000 Subject: [PATCH] refactor --- .../Features/Nuget/NugetClientService.cs | 4 +++- .../Features/Nuget/NugetPackageDetails.cs | 14 ++++++-------- .../Features/Nuget/NugetPackageDetails.tscn | 1 + 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/SharpIDE.Application/Features/Nuget/NugetClientService.cs b/src/SharpIDE.Application/Features/Nuget/NugetClientService.cs index 5fe1c8e..ace984f 100644 --- a/src/SharpIDE.Application/Features/Nuget/NugetClientService.cs +++ b/src/SharpIDE.Application/Features/Nuget/NugetClientService.cs @@ -102,6 +102,8 @@ public class NugetClientService _sourceCacheContext, _nugetLogger, cancellationToken).ConfigureAwait(false); //var packageByIdResource = await repository.GetResourceAsync(cancellationToken).ConfigureAwait(false); - return metadata.ToList(); + var metadataList = metadata.ToList(); + metadataList.Reverse(); + return metadataList; } } diff --git a/src/SharpIDE.Godot/Features/Nuget/NugetPackageDetails.cs b/src/SharpIDE.Godot/Features/Nuget/NugetPackageDetails.cs index 7b92aa9..ffb9826 100644 --- a/src/SharpIDE.Godot/Features/Nuget/NugetPackageDetails.cs +++ b/src/SharpIDE.Godot/Features/Nuget/NugetPackageDetails.cs @@ -13,6 +13,7 @@ public partial class NugetPackageDetails : VBoxContainer private IdePackageResult? _package; private readonly Texture2D _defaultIconTextureRect = ResourceLoader.Load("uid://b5ih61vdjv5e6"); + private readonly Texture2D _warningIconTextureRect = ResourceLoader.Load("uid://pd3h5qfjn8pb"); [Inject] private readonly NugetPackageIconCacheService _nugetPackageIconCacheService = null!; [Inject] private readonly NugetClientService _nugetClientService = null!; @@ -51,20 +52,17 @@ public partial class NugetPackageDetails : VBoxContainer }); } - private async void OnNugetSourceSelected(long index) + private async void OnNugetSourceSelected(long sourceIndex) { - var source = _package!.PackageFromSources[(int)index]; + var source = _package!.PackageFromSources[(int)sourceIndex]; var results = await _nugetClientService.GetAllVersionsOfPackageInSource(source.PackageSearchMetadata.Identity.Id, source.Source); await this.InvokeAsync(() => { _versionOptionButton.Clear(); - var versions = results - .Select(p => p.Identity.Version) - .Distinct() - .OrderByDescending(v => v); - foreach (var version in versions) + foreach (var (index, metadata) in results.Index()) { - _versionOptionButton.AddItem(version.ToNormalizedString()); + _versionOptionButton.AddItem(metadata.Identity.Version.ToNormalizedString()); + //_versionOptionButton.SetItemIcon(index, _warningIconTextureRect); } _versionOptionButton.Selected = 0; }); diff --git a/src/SharpIDE.Godot/Features/Nuget/NugetPackageDetails.tscn b/src/SharpIDE.Godot/Features/Nuget/NugetPackageDetails.tscn index 97e3660..f4e6de1 100644 --- a/src/SharpIDE.Godot/Features/Nuget/NugetPackageDetails.tscn +++ b/src/SharpIDE.Godot/Features/Nuget/NugetPackageDetails.tscn @@ -41,6 +41,7 @@ text = "Version" unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 +expand_icon = true selected = 0 item_count = 1 popup/item_0/text = "1.13.0"