From 1a6dc15c983e3bc628bf4d8b03c554df58611ba2 Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Mon, 7 Jan 2013 13:31:29 +0000 Subject: [PATCH] Remove All from package source combo box when only one source. Disabled package sources were being counted when deciding whether to add All to the combo box in the Manage Packages dialog. --- .../Project/Src/PackagesViewModel.cs | 2 +- .../Project/Src/RegisteredPackageRepositories.cs | 2 +- .../Project/Src/RegisteredPackageSources.cs | 4 ++-- .../Test/Src/RegisteredPackageRepositoriesTests.cs | 14 ++++++++++++++ 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/PackagesViewModel.cs b/src/AddIns/Misc/PackageManagement/Project/Src/PackagesViewModel.cs index 511a4587d2..01246df9c9 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/PackagesViewModel.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/PackagesViewModel.cs @@ -345,7 +345,7 @@ namespace ICSharpCode.PackageManagement foreach (PackageSource packageSource in registeredPackageRepositories.PackageSources.GetEnabledPackageSources()) { yield return packageSource; } - if (registeredPackageRepositories.PackageSources.HasMultiplePackageSources) { + if (registeredPackageRepositories.PackageSources.HasMultipleEnabledPackageSources) { yield return RegisteredPackageSourceSettings.AggregatePackageSource; } } diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/RegisteredPackageRepositories.cs b/src/AddIns/Misc/PackageManagement/Project/Src/RegisteredPackageRepositories.cs index 0add26e9fd..0637ef34e9 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/RegisteredPackageRepositories.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/RegisteredPackageRepositories.cs @@ -43,7 +43,7 @@ namespace ICSharpCode.PackageManagement } public bool HasMultiplePackageSources { - get { return registeredPackageSources.HasMultiplePackageSources; } + get { return registeredPackageSources.HasMultipleEnabledPackageSources; } } public PackageSource ActivePackageSource { diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/RegisteredPackageSources.cs b/src/AddIns/Misc/PackageManagement/Project/Src/RegisteredPackageSources.cs index 4596ccea84..dabec52ea3 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/RegisteredPackageSources.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/RegisteredPackageSources.cs @@ -48,8 +48,8 @@ namespace ICSharpCode.PackageManagement get { return Count == 0; } } - public bool HasMultiplePackageSources { - get { return Count > 1; } + public bool HasMultipleEnabledPackageSources { + get { return GetEnabledPackageSources().Count() > 1; } } public IEnumerable GetEnabledPackageSources() diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/RegisteredPackageRepositoriesTests.cs b/src/AddIns/Misc/PackageManagement/Test/Src/RegisteredPackageRepositoriesTests.cs index 00e4ad3959..d146db0938 100644 --- a/src/AddIns/Misc/PackageManagement/Test/Src/RegisteredPackageRepositoriesTests.cs +++ b/src/AddIns/Misc/PackageManagement/Test/Src/RegisteredPackageRepositoriesTests.cs @@ -80,6 +80,7 @@ namespace PackageManagement.Tests { CreateRegisteredPackageRepositories(); packageSourcesHelper.AddOnePackageSource(); + bool result = registeredRepositories.HasMultiplePackageSources; Assert.IsFalse(result); @@ -90,11 +91,24 @@ namespace PackageManagement.Tests { CreateRegisteredPackageRepositories(); packageSourcesHelper.AddTwoPackageSources(); + bool result = registeredRepositories.HasMultiplePackageSources; Assert.IsTrue(result); } + [Test] + public void HasMultiplePackageSources_TwoPackageSourcesButOneIsDisabled_ReturnsFalse() + { + CreateRegisteredPackageRepositories(); + packageSourcesHelper.AddTwoPackageSources(); + packageSourcesHelper.RegisteredPackageSources[0].IsEnabled = false; + + bool result = registeredRepositories.HasMultiplePackageSources; + + Assert.IsFalse(result); + } + [Test] public void ActivePackageSource_TwoPackageSources_ByDefaultReturnsFirstPackageSource() {