Browse Source

Show NuGet package id when package selected.

The list of packages now shows the package title so
the package id is shown as a hyperlink on the right
hand side of the Manage Packages dialog when the
package is selected.
pull/44/merge
Matt Ward 12 years ago
parent
commit
7cadb40e97
  1. 1
      src/AddIns/Misc/PackageManagement/Project/Src/Design/FakePackage.cs
  2. 1
      src/AddIns/Misc/PackageManagement/Project/Src/IPackageFromRepository.cs
  3. 10
      src/AddIns/Misc/PackageManagement/Project/Src/PackageFromRepository.cs
  4. 12
      src/AddIns/Misc/PackageManagement/Project/Src/PackageViewModel.cs
  5. 18
      src/AddIns/Misc/PackageManagement/Project/Src/PackagesView.xaml
  6. 58
      src/AddIns/Misc/PackageManagement/Test/Src/PackageViewModelTests.cs

1
src/AddIns/Misc/PackageManagement/Project/Src/Design/FakePackage.cs

@ -194,5 +194,6 @@ namespace ICSharpCode.PackageManagement.Design @@ -194,5 +194,6 @@ namespace ICSharpCode.PackageManagement.Design
}
public Version MinClientVersion { get; set; }
public Uri GalleryUrl { get; set; }
}
}

1
src/AddIns/Misc/PackageManagement/Project/Src/IPackageFromRepository.cs

@ -11,5 +11,6 @@ namespace ICSharpCode.PackageManagement @@ -11,5 +11,6 @@ namespace ICSharpCode.PackageManagement
IPackageRepository Repository { get; }
bool HasDependencies { get; }
DateTime? LastUpdated { get; }
Uri GalleryUrl { get; }
}
}

10
src/AddIns/Misc/PackageManagement/Project/Src/PackageFromRepository.cs

@ -182,5 +182,15 @@ namespace ICSharpCode.PackageManagement @@ -182,5 +182,15 @@ namespace ICSharpCode.PackageManagement
public Version MinClientVersion {
get { return package.MinClientVersion; }
}
public Uri GalleryUrl {
get {
var dataServicePackage = package as DataServicePackage;
if (dataServicePackage != null) {
return dataServicePackage.GalleryDetailsUrl;
}
return null;
}
}
}
}

12
src/AddIns/Misc/PackageManagement/Project/Src/PackageViewModel.cs

@ -137,6 +137,18 @@ namespace ICSharpCode.PackageManagement @@ -137,6 +137,18 @@ namespace ICSharpCode.PackageManagement
get { return package.GetName(); }
}
public bool HasGalleryUrl {
get { return GalleryUrl != null; }
}
public bool HasNoGalleryUrl {
get { return !HasGalleryUrl; }
}
public Uri GalleryUrl {
get { return package.GalleryUrl; }
}
public Uri IconUrl {
get { return package.IconUrl; }
}

18
src/AddIns/Misc/PackageManagement/Project/Src/PackagesView.xaml

@ -160,6 +160,24 @@ @@ -160,6 +160,24 @@
Margin="4, 0"
ItemsSource="{Binding Path=Authors}"/>
</StackPanel>
<StackPanel
Orientation="Horizontal"
Margin="0, 4">
<TextBlock
Text="Id:"
FontWeight="Bold"
Margin="0, 0, 4, 0"/>
<TextBlock Visibility="{Binding Path=HasGalleryUrl, Converter={StaticResource BoolToVisibility}}">
<Hyperlink
Command="{StaticResource OpenHyperlinkCommand}"
CommandParameter="{Binding Path=GalleryUrl}">
<TextBlock Text="{Binding Path=Id}"/>
</Hyperlink>
</TextBlock>
<TextBlock
Visibility="{Binding Path=HasNoGalleryUrl, Converter={StaticResource BoolToVisibility}}"
Text="{Binding Path=Id}"/>
</StackPanel>
<StackPanel
Orientation="Horizontal"
Margin="0, 4">

58
src/AddIns/Misc/PackageManagement/Test/Src/PackageViewModelTests.cs

@ -1391,5 +1391,63 @@ namespace PackageManagement.Tests @@ -1391,5 +1391,63 @@ namespace PackageManagement.Tests
Assert.AreEqual("My Package Title", name);
}
[Test]
public void GalleryUrl_PackageHasGalleryUrl_ReturnsUrl()
{
CreateViewModel();
var expectedUrl = new Uri("http://test.com/MyPackage");
fakePackage.GalleryUrl = expectedUrl;
Uri url = viewModel.GalleryUrl;
Assert.AreEqual(expectedUrl, url);
}
[Test]
public void HasGalleryUrl_PackageHasGalleryUrl_ReturnsTrue()
{
CreateViewModel();
var expectedUrl = new Uri("http://test.com/MyPackage");
fakePackage.GalleryUrl = expectedUrl;
bool result = viewModel.HasGalleryUrl;
Assert.IsTrue(result);
}
[Test]
public void HasNoGalleryUrl_PackageHasNoGalleryUrl_ReturnsFalse()
{
CreateViewModel();
fakePackage.GalleryUrl = null;
bool result = viewModel.HasGalleryUrl;
Assert.IsFalse(result);
}
[Test]
public void HasNoGalleryUrl_PackageHasGalleryUrl_ReturnsFalse()
{
CreateViewModel();
var expectedUrl = new Uri("http://test.com/MyPackage");
fakePackage.GalleryUrl = expectedUrl;
bool result = viewModel.HasNoGalleryUrl;
Assert.IsFalse(result);
}
[Test]
public void IsGalleryUrlMissing_PackageHasNoGalleryUrl_ReturnsTrue()
{
CreateViewModel();
fakePackage.GalleryUrl = null;
bool result = viewModel.HasNoGalleryUrl;
Assert.IsTrue(result);
}
}
}

Loading…
Cancel
Save