From 07bef8b703e9b12fa7e420ba6188f11644c95009 Mon Sep 17 00:00:00 2001 From: Utkarsh Tiwari Date: Tue, 17 Nov 2015 17:31:25 +0530 Subject: [PATCH] contribution-manager: No visual feedback of update progress #4105 --- app/src/processing/app/contrib/ContributionTab.java | 4 ++++ app/src/processing/app/contrib/ListPanel.java | 9 ++++++++- app/src/processing/app/contrib/UpdateListPanel.java | 4 ++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/app/src/processing/app/contrib/ContributionTab.java b/app/src/processing/app/contrib/ContributionTab.java index b10801ca4..40ac6b8e9 100644 --- a/app/src/processing/app/contrib/ContributionTab.java +++ b/app/src/processing/app/contrib/ContributionTab.java @@ -443,6 +443,10 @@ public class ContributionTab extends JPanel { contributionListPanel.panelByContribution.values(); for (DetailPanel detailPanel : collection) { detailPanel.update(); + + // Refreshing the ContributionUpdateTab's status icons + contributionListPanel.updatePanelOrdering(contributionListPanel + .panelByContribution.keySet()); } } diff --git a/app/src/processing/app/contrib/ListPanel.java b/app/src/processing/app/contrib/ListPanel.java index 3d9a4fa87..15ee27f5d 100644 --- a/app/src/processing/app/contrib/ListPanel.java +++ b/app/src/processing/app/contrib/ListPanel.java @@ -59,6 +59,7 @@ implements Scrollable, ContributionListing.ChangeListener { static Icon updateAvailableIcon; static Icon incompatibleIcon; static Icon foundationIcon; + static Icon downloadingIcon; static Font plainFont; static Font boldFont; @@ -74,6 +75,7 @@ implements Scrollable, ContributionListing.ChangeListener { updateAvailableIcon = Toolkit.getLibIconX("manager/update-available"); incompatibleIcon = Toolkit.getLibIconX("manager/incompatible"); foundationIcon = Toolkit.getLibIconX("icons/foundation", 16); + downloadingIcon = Toolkit.getLibIconX("manager/downloading"); plainFont = Toolkit.getSansFont(14, Font.PLAIN); boldFont = Toolkit.getSansFont(14, Font.BOLD); @@ -316,7 +318,12 @@ implements Scrollable, ContributionListing.ChangeListener { icon = incompatibleIcon; } } - label.setIcon(icon); + if ((panelByContribution.get(contribution)).updateInProgress) { + // Display "Loading icon" if download in progress + label.setIcon(downloadingIcon); + } else { + label.setIcon(icon); + } label.setHorizontalAlignment(SwingConstants.CENTER); if (isSelected) { label.setBackground(new Color(0xe0fffd)); diff --git a/app/src/processing/app/contrib/UpdateListPanel.java b/app/src/processing/app/contrib/UpdateListPanel.java index f5d292fac..f1751ee6b 100644 --- a/app/src/processing/app/contrib/UpdateListPanel.java +++ b/app/src/processing/app/contrib/UpdateListPanel.java @@ -200,6 +200,10 @@ public class UpdateListPanel extends ListPanel { icon = incompatibleIcon; } } + if ((panelByContribution.get(entry)).updateInProgress) { + // Display "Loading icon" if download in progress + icon = downloadingIcon; + } model.addRow(new Object[] { icon, "" + fontFace + entry.getName() + "",