From a4bec0cc4f53c1b1a56df77f9654b594bd673cb9 Mon Sep 17 00:00:00 2001 From: Matt Parker <61717342+MattParkerDev@users.noreply.github.com> Date: Sun, 2 Nov 2025 12:47:31 +1000 Subject: [PATCH] display installed version of package --- .../Features/Nuget/NugetClientService.cs | 9 ++++++--- src/SharpIDE.Godot/Features/Nuget/NugetPanel.cs | 2 +- src/SharpIDE.Godot/Features/Nuget/PackageEntry.cs | 8 +++++--- src/SharpIDE.Godot/Features/Nuget/PackageEntry.tscn | 7 ++++++- 4 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/SharpIDE.Application/Features/Nuget/NugetClientService.cs b/src/SharpIDE.Application/Features/Nuget/NugetClientService.cs index fb2fb5c..a5a0512 100644 --- a/src/SharpIDE.Application/Features/Nuget/NugetClientService.cs +++ b/src/SharpIDE.Application/Features/Nuget/NugetClientService.cs @@ -9,8 +9,8 @@ using SharpIDE.Application.Features.SolutionDiscovery.VsPersistence; namespace SharpIDE.Application.Features.Nuget; -//public record IdePackageResult(IPackageSearchMetadata PackageSearchMetadata, List PackageSources); -public record IdePackageResult(string PackageId, List PackageFromSources, bool? IsTransitive); +public record InstalledNugetPackageInfo(bool IsTransitive, NuGetVersion Version); +public record IdePackageResult(string PackageId, List PackageFromSources, InstalledNugetPackageInfo? InstalledNugetPackageInfo); public record struct IdePackageFromSourceResult(IPackageSearchMetadata PackageSearchMetadata, PackageSource Source); public class NugetClientService { @@ -119,9 +119,12 @@ public class NugetClientService foreach (var installedPackage in installedPackages) { var isTransitive = installedPackage.IsTopLevel is false; - var idePackageResult = new IdePackageResult(installedPackage.Name, [], isTransitive); var nugetVersionString = installedPackage.ResolvedVersion ?? installedPackage.RequestedVersion; var nugetVersion = NuGetVersion.Parse(nugetVersionString); + + var installedNugetPackageInfo = new InstalledNugetPackageInfo(isTransitive, nugetVersion); + var idePackageResult = new IdePackageResult(installedPackage.Name, [], installedNugetPackageInfo); + var packageIdentity = new PackageIdentity(installedPackage.Name, nugetVersion); foreach (var source in packageSources) diff --git a/src/SharpIDE.Godot/Features/Nuget/NugetPanel.cs b/src/SharpIDE.Godot/Features/Nuget/NugetPanel.cs index 7b773b6..7f36858 100644 --- a/src/SharpIDE.Godot/Features/Nuget/NugetPanel.cs +++ b/src/SharpIDE.Godot/Features/Nuget/NugetPanel.cs @@ -54,7 +54,7 @@ public partial class NugetPanel : Control { foreach (var scene in scenes) { - var container = scene.PackageResult.IsTransitive!.Value ? _implicitlyInstalledPackagesItemList : _installedPackagesVboxContainer; + var container = scene.PackageResult.InstalledNugetPackageInfo!.IsTransitive ? _implicitlyInstalledPackagesItemList : _installedPackagesVboxContainer; container.AddChild(scene); } }); diff --git a/src/SharpIDE.Godot/Features/Nuget/PackageEntry.cs b/src/SharpIDE.Godot/Features/Nuget/PackageEntry.cs index 299595d..c3303bc 100644 --- a/src/SharpIDE.Godot/Features/Nuget/PackageEntry.cs +++ b/src/SharpIDE.Godot/Features/Nuget/PackageEntry.cs @@ -8,7 +8,8 @@ public partial class PackageEntry : MarginContainer { private Button _button; private Label _packageNameLabel = null!; - private Label _currentVersionLabel = null!; + private Label _installedVersionLabel = null!; + private Label _implicitlyInstalledVersionLabel = null!; private Label _latestVersionLabel = null!; private HBoxContainer _sourceNamesContainer = null!; private TextureRect _packageIconTextureRect = null!; @@ -37,7 +38,8 @@ public partial class PackageEntry : MarginContainer { _button = GetNode