From 787fce196d903b0f23ccd14063cedb9326710cac Mon Sep 17 00:00:00 2001 From: mrward Date: Sat, 30 Apr 2011 18:25:08 +0100 Subject: [PATCH] Can now browse for a directory containing NuGet packages in the options dialog. --- .../Project/PackageManagement.addin | 16 ++- .../Project/PackageManagement.csproj | 13 ++- ...nTimeRegisteredPackageSourcesViewModel.cs} | 6 +- .../Project/Src/FolderBrowser.cs | 23 ++++ .../Project/Src/IFolderBrowser.cs | 12 ++ ...xaml => RegisteredPackageSourcesView.xaml} | 12 +- ...s => RegisteredPackageSourcesView.xaml.cs} | 12 +- ...s => RegisteredPackageSourcesViewModel.cs} | 66 ++++++++--- .../Project/Src/ViewModelLocator.cs | 16 +-- .../Test/PackageManagement.Tests.csproj | 3 +- .../Test/Src/Helpers/FakeFolderBrowser.cs | 18 +++ ...RegisteredPackageSourcesViewModelTests.cs} | 107 +++++++++++++++++- 12 files changed, 257 insertions(+), 47 deletions(-) rename src/AddIns/Misc/PackageManagement/Project/Src/Design/{DesignTimePackageManagementOptionsViewModel.cs => DesignTimeRegisteredPackageSourcesViewModel.cs} (80%) create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/FolderBrowser.cs create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/IFolderBrowser.cs rename src/AddIns/Misc/PackageManagement/Project/Src/{PackageManagementOptionsView.xaml => RegisteredPackageSourcesView.xaml} (90%) rename src/AddIns/Misc/PackageManagement/Project/Src/{PackageManagementOptionsView.xaml.cs => RegisteredPackageSourcesView.xaml.cs} (64%) rename src/AddIns/Misc/PackageManagement/Project/Src/{PackageManagementOptionsViewModel.cs => RegisteredPackageSourcesViewModel.cs} (77%) create mode 100644 src/AddIns/Misc/PackageManagement/Test/Src/Helpers/FakeFolderBrowser.cs rename src/AddIns/Misc/PackageManagement/Test/Src/{PackageManagementOptionsViewModelTests.cs => RegisteredPackageSourcesViewModelTests.cs} (81%) diff --git a/src/AddIns/Misc/PackageManagement/Project/PackageManagement.addin b/src/AddIns/Misc/PackageManagement/Project/PackageManagement.addin index 84c57fd859..271643c62e 100644 --- a/src/AddIns/Misc/PackageManagement/Project/PackageManagement.addin +++ b/src/AddIns/Misc/PackageManagement/Project/PackageManagement.addin @@ -52,11 +52,19 @@ - + + insertafter="Debugging" + insertbefore="TextEditorOptions"> + + + diff --git a/src/AddIns/Misc/PackageManagement/Project/PackageManagement.csproj b/src/AddIns/Misc/PackageManagement/Project/PackageManagement.csproj index a29704bfb4..b3a33669e1 100644 --- a/src/AddIns/Misc/PackageManagement/Project/PackageManagement.csproj +++ b/src/AddIns/Misc/PackageManagement/Project/PackageManagement.csproj @@ -45,6 +45,7 @@ 3.5 + 4.0 @@ -72,7 +73,7 @@ - + @@ -84,7 +85,9 @@ + + @@ -117,11 +120,11 @@ - - PackageManagementOptionsView.xaml + + RegisteredPackageSourcesView.xaml Code - + @@ -167,7 +170,7 @@ - + diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/Design/DesignTimePackageManagementOptionsViewModel.cs b/src/AddIns/Misc/PackageManagement/Project/Src/Design/DesignTimeRegisteredPackageSourcesViewModel.cs similarity index 80% rename from src/AddIns/Misc/PackageManagement/Project/Src/Design/DesignTimePackageManagementOptionsViewModel.cs rename to src/AddIns/Misc/PackageManagement/Project/Src/Design/DesignTimeRegisteredPackageSourcesViewModel.cs index 20942b337d..346149f46c 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/Design/DesignTimePackageManagementOptionsViewModel.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/Design/DesignTimeRegisteredPackageSourcesViewModel.cs @@ -8,14 +8,14 @@ using NuGet; namespace ICSharpCode.PackageManagement.Design { - public class DesignTimePackageManagementOptionsViewModel : PackageManagementOptionsViewModel + public class DesignTimeRegisteredPackageSourcesViewModel : RegisteredPackageSourcesViewModel { - public DesignTimePackageManagementOptionsViewModel() + public DesignTimeRegisteredPackageSourcesViewModel() : this(new PackageManagementOptions(new Properties())) { } - public DesignTimePackageManagementOptionsViewModel(PackageManagementOptions options) + public DesignTimeRegisteredPackageSourcesViewModel(PackageManagementOptions options) : base(options) { options.PackageSources.Add(new PackageSource("Source2", "http://sharpdevelop.codeplex.com")); diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/FolderBrowser.cs b/src/AddIns/Misc/PackageManagement/Project/Src/FolderBrowser.cs new file mode 100644 index 0000000000..46b040adb1 --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/FolderBrowser.cs @@ -0,0 +1,23 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; +using System.Windows.Forms; +using ICSharpCode.SharpDevelop.Gui; + +namespace ICSharpCode.PackageManagement +{ + public class FolderBrowser : IFolderBrowser + { + public string SelectFolder() + { + using (var dialog = new FolderBrowserDialog()) { + IWin32Window owner = WorkbenchSingleton.MainWin32Window; + if (dialog.ShowDialog(owner) == DialogResult.OK) { + return dialog.SelectedPath; + } + } + return null; + } + } +} diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/IFolderBrowser.cs b/src/AddIns/Misc/PackageManagement/Project/Src/IFolderBrowser.cs new file mode 100644 index 0000000000..084becd386 --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/IFolderBrowser.cs @@ -0,0 +1,12 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; + +namespace ICSharpCode.PackageManagement +{ + public interface IFolderBrowser + { + string SelectFolder(); + } +} diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/PackageManagementOptionsView.xaml b/src/AddIns/Misc/PackageManagement/Project/Src/RegisteredPackageSourcesView.xaml similarity index 90% rename from src/AddIns/Misc/PackageManagement/Project/Src/PackageManagementOptionsView.xaml rename to src/AddIns/Misc/PackageManagement/Project/Src/RegisteredPackageSourcesView.xaml index c417819ad2..c2c3c3e0a4 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/PackageManagementOptionsView.xaml +++ b/src/AddIns/Misc/PackageManagement/Project/Src/RegisteredPackageSourcesView.xaml @@ -1,5 +1,5 @@  - + @@ -127,7 +127,13 @@