Skip to content

Commit

Permalink
Do not open the project when copying a PackageVersion node
Browse files Browse the repository at this point in the history
  • Loading branch information
tom-englert committed Aug 15, 2024
1 parent e61e6bd commit 21f87cb
Showing 1 changed file with 15 additions and 5 deletions.
20 changes: 15 additions & 5 deletions src/View/DependencyTree/DependencyTreeViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,12 @@

namespace NuGetMonitor.View.DependencyTree;

internal enum PackageNode
{
PackageReference,
PackageVersion
}

internal sealed partial class ChildNode : INotifyPropertyChanged
{
private readonly PackageInfo _packageInfo;
Expand Down Expand Up @@ -47,11 +53,11 @@ public ChildNode(PackageInfo packageInfo, TransitiveDependencies transitiveDepen

public bool IsPinned => _packageInfo.IsPinned;

public ICommand CopyPackageReferenceCommand => new DelegateCommand(() => CopyPackageDefinition("PackageReference"));
public ICommand CopyPackageReferenceCommand => new DelegateCommand(() => CopyNode(PackageNode.PackageReference));

public ICommand CopyPackageVersionCommand => new DelegateCommand(() => CopyPackageDefinition("PackageVersion"));
public ICommand CopyPackageVersionCommand => new DelegateCommand(() => CopyNode(PackageNode.PackageVersion));

private void CopyPackageDefinition(string key)
private void CopyNode(PackageNode node)
{
var currentVersion = PackageIdentity.Version;

Expand All @@ -60,8 +66,12 @@ private void CopyPackageDefinition(string key)
.DefaultIfEmpty(currentVersion)
.Max();

Clipboard.SetText($"""<{key} Include="{PackageIdentity.Id}" Version="{latestVersion}" />""");
_solutionService.OpenDocument(_transitiveDependencies.ProjectFullPath);
Clipboard.SetText($"""<{node} Include="{PackageIdentity.Id}" Version="{latestVersion}" />""");

if (node == PackageNode.PackageReference)
{
_solutionService.OpenDocument(_transitiveDependencies.ProjectFullPath);
}
}

private string GetIssues()
Expand Down

0 comments on commit 21f87cb

Please sign in to comment.