From c9968cd1f8cc983c3aebf45c4dac2794213843d7 Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Sat, 18 Jun 2011 15:59:59 +0100 Subject: [PATCH] Remove code duplication. --- .../Project/PackageManagement.csproj | 5 + .../Src/PackageManagementViewModels.cs | 30 +++- .../RegisteredPackageSourcesUserControl.xaml | 138 ++++++++++++++++++ ...egisteredPackageSourcesUserControl.xaml.cs | 26 ++++ .../Src/RegisteredPackageSourcesView.xaml | 134 ++--------------- ...eredProjectTemplatePackageSourcesView.xaml | 134 ++--------------- 6 files changed, 215 insertions(+), 252 deletions(-) create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/RegisteredPackageSourcesUserControl.xaml create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/RegisteredPackageSourcesUserControl.xaml.cs diff --git a/src/AddIns/Misc/PackageManagement/Project/PackageManagement.csproj b/src/AddIns/Misc/PackageManagement/Project/PackageManagement.csproj index 3c5ac1edbc..eb4d742ff7 100644 --- a/src/AddIns/Misc/PackageManagement/Project/PackageManagement.csproj +++ b/src/AddIns/Misc/PackageManagement/Project/PackageManagement.csproj @@ -226,6 +226,10 @@ + + RegisteredPackageSourcesUserControl.xaml + Code + RegisteredPackageSourcesView.xaml Code @@ -337,6 +341,7 @@ + diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/PackageManagementViewModels.cs b/src/AddIns/Misc/PackageManagement/Project/Src/PackageManagementViewModels.cs index 7418e614a4..8327ead92e 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/PackageManagementViewModels.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/PackageManagementViewModels.cs @@ -4,6 +4,7 @@ using System; using ICSharpCode.PackageManagement.Design; using ICSharpCode.PackageManagement.Scripting; +using NuGet; namespace ICSharpCode.PackageManagement { @@ -69,8 +70,7 @@ namespace ICSharpCode.PackageManagement public RegisteredPackageSourcesViewModel RegisteredPackageSourcesViewModel { get { if (registeredPackageSourcesViewModel == null) { - RegisteredPackageSources packageSources = - PackageManagementServices.Options.PackageSources; + RegisteredPackageSources packageSources = GetRegisteredPackageSources(); registeredPackageSourcesViewModel = CreateRegisteredPackageSourcesViewModel(packageSources); } @@ -78,6 +78,20 @@ namespace ICSharpCode.PackageManagement } } + RegisteredPackageSources GetRegisteredPackageSources() + { + if (IsInDesignMode()) { + return CreateDesignTimeRegisteredPackageSources(); + } else { + return PackageManagementServices.Options.PackageSources; + } + } + + RegisteredPackageSources CreateDesignTimeRegisteredPackageSources() + { + return new RegisteredPackageSources(new PackageSource[0]); + } + RegisteredPackageSourcesViewModel CreateRegisteredPackageSourcesViewModel(RegisteredPackageSources packageSources) { CreateRegisteredPackageRepositories(); @@ -91,8 +105,7 @@ namespace ICSharpCode.PackageManagement public RegisteredPackageSourcesViewModel RegisteredProjectTemplatePackageSourcesViewModel { get { if (registeredProjectTemplatePackageSourcesViewModel == null) { - RegisteredPackageSources packageSources = - PackageManagementServices.ProjectTemplatePackageSources; + RegisteredPackageSources packageSources = GetProjectTemplatePackageSources(); registeredProjectTemplatePackageSourcesViewModel = CreateRegisteredPackageSourcesViewModel(packageSources); } @@ -100,6 +113,15 @@ namespace ICSharpCode.PackageManagement } } + RegisteredPackageSources GetProjectTemplatePackageSources() + { + if (IsInDesignMode()) { + return CreateDesignTimeRegisteredPackageSources(); + } else { + return PackageManagementServices.ProjectTemplatePackageSources; + } + } + public PackageManagementOptionsViewModel PackageManagementOptionsViewModel { get { if (packageManagementOptionsViewModel == null) { diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/RegisteredPackageSourcesUserControl.xaml b/src/AddIns/Misc/PackageManagement/Project/Src/RegisteredPackageSourcesUserControl.xaml new file mode 100644 index 0000000000..69b2c00ec4 --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/RegisteredPackageSourcesUserControl.xaml @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +