webResourceToolStripMenuItem.Visible = (pkgCount == 1);\r
uninstallToolStripMenuItem.Visible = uninstallBtnEnabled;\r
installToolStripMenuItem.Visible = installBtnEnabled;\r
+ downloadToolStripMenuItem.Visible = (pkgCount > 0);\r
\r
// detailBoxのメッセージ設定\r
switch (pkgCount) {\r
}\r
}\r
\r
+ internal void downloadActionInvoke(Installation[] pkgs)\r
+ {\r
+ AppliStation.Util.ExecutionProgressViewer prog = new AppliStation.Util.ExecutionProgressViewer();\r
+ prog.Shown += delegate(object sender2, EventArgs e2) {\r
+ NaGet.SubCommands.NaGetDownloadToCache tasks = new NaGet.SubCommands.NaGetDownloadToCache(pkgListsMan, pkgs);\r
+ prog.SetTaskSet(tasks);\r
+ prog.Refresh();\r
+ prog.StartTaskSet();\r
+ };\r
+ prog.Text = string.Format("キャッシュへのダウンロード");\r
+ prog.ShowDialog(this);\r
+ }\r
+ \r
+ void DownloadToolStripMenuItemClick(object sender, EventArgs e)\r
+ {\r
+ Installation[] insts = Installation.ConvertInstallations( NaGet.Utils.IEnumerable2Array(packageListView.SelectedPackages) );\r
+ \r
+ downloadActionInvoke(insts);\r
+ \r
+ UpdatePackageList();\r
+ }\r
\r
void WebOfficialMenuItemClick(object sender, EventArgs e)\r
{\r
// webGoogleSearchMenuItem always active.\r
}\r
\r
- private IEnumerable<Package> getUpdatedPackages(PackageList<InstalledPackage> installedPkgList, PackageList<Package> avaiablePkgList, IComparer<string> verComp)\r
- {\r
- foreach (InstalledPackage pkg in installedPkgList) {\r
- Package avaiablePkg = avaiablePkgList.GetPackageForName(pkg.Name);\r
- \r
- if (avaiablePkg != null) {\r
- if (verComp.Compare(pkg.Version, avaiablePkg.Version) < 0 &&\r
- installedPkgList.GetPackageForPackage(pkg.Name, avaiablePkg.Version) == null) {\r
- \r
- yield return avaiablePkg;\r
- }\r
- }\r
- }\r
- }\r
- \r
void UpgradeToolStripButtonClick(object sender, EventArgs e)\r
{\r
- List<Package> pkgs;\r
- VersionComparetor verComp = new VersionComparetor();\r
- PackageList<Package> avaiablePackageList = pkgListsMan.AvailablePkgList;\r
- \r
- pkgs = NaGet.Utils.MergeList(\r
- getUpdatedPackages(pkgListsMan.InstalledPkgList, avaiablePackageList, verComp),\r
- getUpdatedPackages(pkgListsMan.SystemInstalledPkgList, avaiablePackageList, verComp)\r
+ List<Package> pkgs = new List<Package>(\r
+ UpgradeFinder.GetUpgradePackages(pkgListsMan)\r
);\r
\r
if (pkgs.Count <= 0) {\r