diff --git a/app/src/processing/app/contrib/StatusPanel.java b/app/src/processing/app/contrib/StatusPanel.java index a53777ac6..fb42baf90 100644 --- a/app/src/processing/app/contrib/StatusPanel.java +++ b/app/src/processing/app/contrib/StatusPanel.java @@ -96,6 +96,7 @@ class StatusPanel extends JPanel { @Override public void actionPerformed(ActionEvent e) { + installButton.setEnabled(false); ContributionPanel currentPanel = contributionTab.contributionListPanel .getSelectedPanel(); currentPanel.install(); @@ -119,6 +120,7 @@ class StatusPanel extends JPanel { @Override public void actionPerformed(ActionEvent e) { + updateButton.setEnabled(false); ContributionPanel currentPanel = contributionTab.contributionListPanel .getSelectedPanel(); currentPanel.update(); @@ -136,6 +138,7 @@ class StatusPanel extends JPanel { @Override public void actionPerformed(ActionEvent e) { + removeButton.setEnabled(false); ContributionPanel currentPanel = contributionTab.contributionListPanel .getSelectedPanel(); currentPanel.remove(); @@ -232,7 +235,8 @@ class StatusPanel extends JPanel { updateButton.setEnabled(contributionListing.hasDownloadedLatestList() && (contributionListing.hasUpdates(panel.getContrib()) && !panel - .getContrib().isUpdateFlagged())); + .getContrib().isUpdateFlagged()) + && !panel.isUpdateInProgress); String latestVersion = contributionListing.getLatestVersion(panel.getContrib()); @@ -240,7 +244,8 @@ class StatusPanel extends JPanel { installButton.setEnabled(!panel.getContrib().isInstalled() && contributionListing.hasDownloadedLatestList() - && panel.getContrib().isCompatible(Base.getRevision())); + && panel.getContrib().isCompatible(Base.getRevision()) + && !panel.isInstallInProgress); if (installButton.isEnabled()) { updateLabel.setText(latestVersion + " available"); @@ -264,8 +269,8 @@ class StatusPanel extends JPanel { updateButton.setText("Update"); } - - removeButton.setEnabled(panel.getContrib().isInstalled()); + removeButton.setEnabled(panel.getContrib().isInstalled() + && !panel.isRemoveInProgress); progressBarPanel.add(panel.installProgressBar); progressBarPanel.setVisible(false); updateLabel.setVisible(true); diff --git a/app/src/processing/app/contrib/UpdateContributionTab.java b/app/src/processing/app/contrib/UpdateContributionTab.java index 8c46da002..7611e0179 100644 --- a/app/src/processing/app/contrib/UpdateContributionTab.java +++ b/app/src/processing/app/contrib/UpdateContributionTab.java @@ -328,7 +328,6 @@ public class UpdateContributionTab extends ContributionTab { updateButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - // TODO Auto-generated method stub for(ContributionPanel contributionPanel : contributionTab.contributionListPanel.panelByContribution.values()){ contributionPanel.update(); }