private void UpdateBottomButtons() { OnlinePackageItem onlineItem = this.selectedItem as OnlinePackageItem; if (onlineItem != null) { onlineItem.UpdateLocalPackageData(this.packageManager); } bool isItemSelected = this.selectedItem != null; bool isItemInstalled = isItemSelected && this.selectedItem.IsInstalled; bool isItemUpdatable = isItemInstalled && this.selectedItem.IsUpdatable; bool canUninstall = isItemInstalled && this.packageManager.CanUninstallPackage(this.selectedItem.ItemPackageInfo.Name); bool canUpdate = isItemUpdatable; this.buttonInstall.Visible = isItemSelected && !isItemInstalled; this.buttonUninstall.Visible = isItemInstalled && canUninstall; this.buttonUpdate.Visible = isItemInstalled && canUpdate; this.bottomFlowSpacer2.Visible = this.buttonInstall.Visible || this.buttonUninstall.Visible || this.buttonUpdate.Visible; this.buttonUpdateAll.Visible = this.packageList.Root.Children.Select(n => n.Tag as PackageItem).NotNull().Any(n => n.IsUpdatable); this.buttonApply.Visible = this.restartRequired; this.labelRequireRestart.Visible = this.restartRequired; }
private void UpdateBottomButtons() { OnlinePackageItem onlineItem = this.selectedItem as OnlinePackageItem; if (onlineItem != null) { onlineItem.UpdateLocalPackageData(this.packageManager); } bool isItemSelected = this.selectedItem != null; bool isItemInstalled = isItemSelected && this.selectedItem.IsInstalled; bool isItemUpdatable = isItemInstalled && this.selectedItem.IsUpdatable; bool canUninstall = isItemInstalled && this.packageManager.CanUninstallPackage(this.selectedItem.ItemPackageInfo); bool canUpdate = isItemUpdatable && (this.checkBoxShowAdvanced.Checked || this.selectedItem.UpdateCompatibility.Satisfies(PackageCompatibility.Likely)); this.buttonInstall.Visible = isItemSelected && !isItemInstalled; this.buttonUninstall.Visible = isItemInstalled && canUninstall; this.buttonChangeVersion.Visible = isItemInstalled && this.checkBoxShowAdvanced.Checked; this.buttonUpdate.Visible = isItemInstalled && canUpdate; this.bottomFlowSpacer2.Visible = this.buttonInstall.Visible || this.buttonUninstall.Visible || this.buttonChangeVersion.Visible || this.buttonUpdate.Visible; this.buttonUpdateAll.Visible = this.packageList.Root.Children.Select(n => n.Tag as PackageItem).Any(n => n.IsUpdatable); this.buttonApply.Visible = this.restartRequired; this.labelRequireRestart.Visible = this.restartRequired; }