Browse Source

PackageManagement: Refresh AvailablePackages

pull/374/head
Dragan 12 years ago
parent
commit
6142cf9b4d
  1. 20
      src/AddIns/Misc/PackageManagement/Project/Src/AvailablePackagesViewModel.cs
  2. 2
      src/AddIns/Misc/PackageManagement/Project/Src/Design/FakePackageManagementSolution.cs
  3. 1
      src/AddIns/Misc/PackageManagement/Project/Src/IPackageViewModelParent.cs
  4. 8
      src/AddIns/Misc/PackageManagement/Project/Src/ManagePackagesViewModel.cs
  5. 3
      src/AddIns/Misc/PackageManagement/Project/Src/PackageViewModel.cs
  6. 23
      src/AddIns/Misc/PackageManagement/Project/Src/PackagesViewModel.cs
  7. 2
      src/AddIns/Misc/PackageManagement/Project/Src/PackagesViewModels.cs
  8. 5
      src/AddIns/Misc/PackageManagement/Project/Src/SelectedProjectsForUpdatedPackages.cs

20
src/AddIns/Misc/PackageManagement/Project/Src/AvailablePackagesViewModel.cs

@ -27,10 +27,12 @@ namespace ICSharpCode.PackageManagement @@ -27,10 +27,12 @@ namespace ICSharpCode.PackageManagement
public class AvailablePackagesViewModel : PackagesViewModel
{
IPackageRepository repository;
IPackageManagementEvents packageManagementEvents;
string errorMessage;
public AvailablePackagesViewModel(
PackagesViewModels packagesViewModelParent,
IPackageManagementEvents packageManagementEvents,
IRegisteredPackageRepositories registeredPackageRepositories,
IPackageViewModelFactory packageViewModelFactory,
ITaskFactory taskFactory)
@ -39,6 +41,24 @@ namespace ICSharpCode.PackageManagement @@ -39,6 +41,24 @@ namespace ICSharpCode.PackageManagement
IsSearchable = true;
ShowPackageSources = true;
ShowPrerelease = true;
this.packageManagementEvents = packageManagementEvents;
RegisterEvents();
}
void RegisterEvents()
{
packageManagementEvents.ParentPackageInstalled += PackagesChanged;
packageManagementEvents.ParentPackageUninstalled += PackagesChanged;
packageManagementEvents.ParentPackagesUpdated += PackagesChanged;
}
void PackagesChanged(object sender, EventArgs e)
{
foreach (var found in this.PackageViewModels) {
found.OnPropertyChanged(model => model.IsAdded);
found.OnPropertyChanged(model => model.IsManaged);
}
}
protected override void UpdateRepositoryBeforeReadPackagesTaskStarts()

2
src/AddIns/Misc/PackageManagement/Project/Src/Design/FakePackageManagementSolution.cs

@ -19,9 +19,7 @@ @@ -19,9 +19,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
using ICSharpCode.Core;
using ICSharpCode.PackageManagement;
using ICSharpCode.PackageManagement.Scripting;
using ICSharpCode.SharpDevelop.Project;
using NuGet;

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

@ -23,6 +23,5 @@ namespace ICSharpCode.PackageManagement @@ -23,6 +23,5 @@ namespace ICSharpCode.PackageManagement
public interface IPackageViewModelParent
{
bool IncludePrerelease { get; }
void OnPackageManaged (IPackageFromRepository package);
}
}

8
src/AddIns/Misc/PackageManagement/Project/Src/ManagePackagesViewModel.cs

@ -59,14 +59,14 @@ namespace ICSharpCode.PackageManagement @@ -59,14 +59,14 @@ namespace ICSharpCode.PackageManagement
get { return packagesViewModels.InstalledPackagesViewModel; }
}
public RecentPackagesViewModel RecentPackagesViewModel {
get { return packagesViewModels.RecentPackagesViewModel; }
}
public UpdatedPackagesViewModel UpdatedPackagesViewModel {
get { return packagesViewModels.UpdatedPackagesViewModel; }
}
public RecentPackagesViewModel RecentPackagesViewModel {
get { return packagesViewModels.RecentPackagesViewModel; }
}
public string Title {
get { return viewTitle.Title; }
}

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

@ -231,7 +231,6 @@ namespace ICSharpCode.PackageManagement @@ -231,7 +231,6 @@ namespace ICSharpCode.PackageManagement
logger.LogAfterPackageOperationCompletes();
OnPropertyChanged(model => model.IsAdded);
OnPropertyChanged(model => model.IsManaged);
parent.OnPackageManaged (package);
}
protected virtual IDisposable StartOperation(IPackageFromRepository package)
@ -393,7 +392,6 @@ namespace ICSharpCode.PackageManagement @@ -393,7 +392,6 @@ namespace ICSharpCode.PackageManagement
logger.LogAfterPackageOperationCompletes();
OnPropertyChanged(model => model.IsAdded);
OnPropertyChanged(model => model.IsManaged);
parent.OnPackageManaged (package);
}
void LogRemovingPackage()
@ -477,7 +475,6 @@ namespace ICSharpCode.PackageManagement @@ -477,7 +475,6 @@ namespace ICSharpCode.PackageManagement
logger.LogAfterPackageOperationCompletes();
OnPropertyChanged(model => model.IsAdded);
OnPropertyChanged(model => model.IsManaged);
parent.OnPackageManaged (package);
}
void TryManagePackagesForSelectedProjects(IList<IPackageManagementSelectedProject> projects)

23
src/AddIns/Misc/PackageManagement/Project/Src/PackagesViewModel.cs

@ -21,9 +21,7 @@ using System.Collections.Generic; @@ -21,9 +21,7 @@ using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Collections.Specialized;
using System.Linq;
using System.Text;
using System.Windows.Input;
using NuGet;
namespace ICSharpCode.PackageManagement
@ -92,7 +90,6 @@ namespace ICSharpCode.PackageManagement @@ -92,7 +90,6 @@ namespace ICSharpCode.PackageManagement
public IRegisteredPackageRepositories RegisteredPackageRepositories {
get { return registeredPackageRepositories; }
}
public bool IsReadingPackages { get; private set; }
public void ReadPackages()
@ -131,26 +128,6 @@ namespace ICSharpCode.PackageManagement @@ -131,26 +128,6 @@ namespace ICSharpCode.PackageManagement
OnPackagesReadForSelectedPage);
}
public void OnPackageManaged (IPackageFromRepository package) {
if (packagesViewModelParent != null) { // it is null at design time
foreach (PackagesViewModel packagesViewModel in packagesViewModelParent.GetPackagesViewModels) {
if (packagesViewModel != this) {
OnPackageManaged(packagesViewModel, package);
}
}
}
}
static void OnPackageManaged (PackagesViewModel packagesViewModel, IPackageName package) {
foreach (var found in packagesViewModel.PackageViewModels) {
if (found.Id == package.Id && found.Version == package.Version) {
found.OnPropertyChanged(model => model.IsAdded);
found.OnPropertyChanged(model => model.IsManaged);
break;
}
}
}
PackagesForSelectedPageResult GetPackagesForSelectedPageResult()
{
IEnumerable<IPackage> packages = GetPackagesForSelectedPage();

2
src/AddIns/Misc/PackageManagement/Project/Src/PackagesViewModels.cs

@ -32,7 +32,7 @@ namespace ICSharpCode.PackageManagement @@ -32,7 +32,7 @@ namespace ICSharpCode.PackageManagement
var packageViewModelFactory = new PackageViewModelFactory(solution, packageManagementEvents, actionRunner);
var updatedPackageViewModelFactory = new UpdatedPackageViewModelFactory(packageViewModelFactory);
AvailablePackagesViewModel = new AvailablePackagesViewModel(this, registeredPackageRepositories, packageViewModelFactory, taskFactory);
AvailablePackagesViewModel = new AvailablePackagesViewModel(this, packageManagementEvents, registeredPackageRepositories, packageViewModelFactory, taskFactory);
InstalledPackagesViewModel = new InstalledPackagesViewModel(this, solution, packageManagementEvents, registeredPackageRepositories, packageViewModelFactory, taskFactory);
UpdatedPackagesViewModel = new UpdatedPackagesViewModel(this, solution, registeredPackageRepositories, updatedPackageViewModelFactory, taskFactory);
RecentPackagesViewModel = new RecentPackagesViewModel(this, packageManagementEvents, registeredPackageRepositories, packageViewModelFactory, taskFactory);

5
src/AddIns/Misc/PackageManagement/Project/Src/SelectedProjectsForUpdatedPackages.cs

@ -29,11 +29,6 @@ namespace ICSharpCode.PackageManagement @@ -29,11 +29,6 @@ namespace ICSharpCode.PackageManagement
{
}
// protected override bool IsProjectSelected(IPackageManagementProject project, IPackageFromRepository package)
// {
// return base.IsProjectSelected(project, package) && IsProjectEnabled(project, package);
// }
protected override bool IsProjectEnabled(IPackageManagementProject project, IPackageFromRepository package)
{
return project.GetPackages()

Loading…
Cancel
Save