From fe73b00b991099ed45eb32cab302036a62ac0550 Mon Sep 17 00:00:00 2001 From: Akarshit Wal Date: Tue, 26 May 2015 11:22:39 +0530 Subject: [PATCH 1/6] Added the progress bar while downloading the contributions.txt --- .../contrib/ContributionManagerDialog.java | 30 ++++++++++++++----- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/app/src/processing/app/contrib/ContributionManagerDialog.java b/app/src/processing/app/contrib/ContributionManagerDialog.java index 7453b7b99..c40d10c64 100644 --- a/app/src/processing/app/contrib/ContributionManagerDialog.java +++ b/app/src/processing/app/contrib/ContributionManagerDialog.java @@ -53,6 +53,7 @@ public class ContributionManagerDialog { FilterField filterField; JButton restartButton; JButton retryConnectingButton; + JProgressBar progressBar; // the calling editor, so updates can be applied Editor editor; @@ -167,6 +168,9 @@ public class ContributionManagerDialog { downloadAndUpdateContributionListing(); } }); + + progressBar = new JProgressBar(); + progressBar.setVisible(true); Toolkit.setIcon(dialog); createComponents(); @@ -293,6 +297,7 @@ public class ContributionManagerDialog { statusRestartPane.setOpaque(false); statusRestartPane.add(status, BorderLayout.WEST); + statusRestartPane.add(progressBar, BorderLayout.LINE_END); // Adding both of these to EAST shouldn't pose too much of a problem, // since they can never get added together. @@ -465,18 +470,27 @@ public class ContributionManagerDialog { protected void downloadAndUpdateContributionListing() { retryConnectingButton.setEnabled(false); - contribListing.downloadAvailableList(new ContribProgressMonitor() { + contribListing.downloadAvailableList(new ContribProgressBar(progressBar) { + + + @Override + public void startTask(String name, int maxValue) { + super.startTask(name, maxValue); + progressBar.setString(null); + } @Override public void setProgress(int value) { super.setProgress(value); - int percent = 100 * value / this.max; - status.setMessage(Language.text("contrib.status.downloading_list") + " (" + percent + "%)"); +// int percent = 100 * value / this.max; + progressBar.setValue(value); + progressBar.setStringPainted(true); + status.setMessage(Language.text("contrib.status.downloading_list")); } @Override - public void finished() { - super.finished(); + public void finishedAction() { + progressBar.setVisible(false); updateContributionListing(); updateCategoryChooser(); @@ -485,9 +499,11 @@ public class ContributionManagerDialog { if (error) { if (exception instanceof SocketTimeoutException) { - status.setErrorMessage(Language.text("contrib.errors.list_download.timeout")); + status.setErrorMessage(Language + .text("contrib.errors.list_download.timeout")); } else { - status.setErrorMessage(Language.text("contrib.errors.list_download")); + status.setErrorMessage(Language + .text("contrib.errors.list_download")); } exception.printStackTrace(); retryConnectingButton.setVisible(true); From 77efc50401fde211e3732df56dc5918e7b7bb09f Mon Sep 17 00:00:00 2001 From: Akarshit Wal Date: Tue, 26 May 2015 12:50:35 +0530 Subject: [PATCH 2/6] Added connecting status --- app/src/processing/app/contrib/ContributionManagerDialog.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/processing/app/contrib/ContributionManagerDialog.java b/app/src/processing/app/contrib/ContributionManagerDialog.java index c40d10c64..595ce9ffb 100644 --- a/app/src/processing/app/contrib/ContributionManagerDialog.java +++ b/app/src/processing/app/contrib/ContributionManagerDialog.java @@ -469,7 +469,7 @@ public class ContributionManagerDialog { protected void downloadAndUpdateContributionListing() { retryConnectingButton.setEnabled(false); - + status.setMessage(Language.text("contrib.status.downloading_list")); contribListing.downloadAvailableList(new ContribProgressBar(progressBar) { From 396def397223b4240338def86eab951de960bf08 Mon Sep 17 00:00:00 2001 From: Akarshit Wal Date: Tue, 26 May 2015 12:51:59 +0530 Subject: [PATCH 3/6] Added connecting to PDE.properties --- build/shared/lib/languages/PDE.properties | 1 + 1 file changed, 1 insertion(+) diff --git a/build/shared/lib/languages/PDE.properties b/build/shared/lib/languages/PDE.properties index f59987600..f1099bd2d 100644 --- a/build/shared/lib/languages/PDE.properties +++ b/build/shared/lib/languages/PDE.properties @@ -423,6 +423,7 @@ contrib.errors.temporary_directory = Could not write to temporary directory. contrib.errors.contrib_download.timeout = Connection timed out while downloading %s. contrib.errors.no_internet_connection = You do not seem to be connected to the Internet. contrib.status.downloading_list = Downloading contribution list... +contrib.status.connecting = Connecting... contrib.status.done = Done. contrib.all = All contrib.undo = Undo From 188c5049b9f6b3cd04a1149e4007ab3ecd2c8582 Mon Sep 17 00:00:00 2001 From: Akarshit Wal Date: Tue, 26 May 2015 16:35:26 +0530 Subject: [PATCH 4/6] Fixed the scrolling issue --- app/src/processing/app/contrib/ContributionListPanel.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/src/processing/app/contrib/ContributionListPanel.java b/app/src/processing/app/contrib/ContributionListPanel.java index e9c0ed4db..cb366500a 100644 --- a/app/src/processing/app/contrib/ContributionListPanel.java +++ b/app/src/processing/app/contrib/ContributionListPanel.java @@ -125,6 +125,11 @@ public class ContributionListPanel extends JPanel implements Scrollable, Contrib updateColors(); // XXX this is the place } } + EventQueue.invokeLater(new Runnable() { + public void run() { + scrollRectToVisible(new Rectangle(0, 0, 1, 1)); + } + }); } }); } From ca9e0b0a9a305fbdc0855a8f76633573c323379b Mon Sep 17 00:00:00 2001 From: Akarshit Wal Date: Tue, 26 May 2015 16:36:32 +0530 Subject: [PATCH 5/6] Added link as comment --- app/src/processing/app/contrib/ContributionListPanel.java | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/processing/app/contrib/ContributionListPanel.java b/app/src/processing/app/contrib/ContributionListPanel.java index cb366500a..ef0bbf4d4 100644 --- a/app/src/processing/app/contrib/ContributionListPanel.java +++ b/app/src/processing/app/contrib/ContributionListPanel.java @@ -125,6 +125,7 @@ public class ContributionListPanel extends JPanel implements Scrollable, Contrib updateColors(); // XXX this is the place } } + // http://stackoverflow.com/questions/19400239/scrolling-to-the-top-jpanel-inside-a-jscrollpane EventQueue.invokeLater(new Runnable() { public void run() { scrollRectToVisible(new Rectangle(0, 0, 1, 1)); From 996d4c2bf33d7d81d6cecf8c12c237c410847ec7 Mon Sep 17 00:00:00 2001 From: Akarshit Wal Date: Tue, 26 May 2015 16:37:32 +0530 Subject: [PATCH 6/6] Added documentation --- app/src/processing/app/contrib/ContributionListPanel.java | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/processing/app/contrib/ContributionListPanel.java b/app/src/processing/app/contrib/ContributionListPanel.java index ef0bbf4d4..4e01060c6 100644 --- a/app/src/processing/app/contrib/ContributionListPanel.java +++ b/app/src/processing/app/contrib/ContributionListPanel.java @@ -125,6 +125,7 @@ public class ContributionListPanel extends JPanel implements Scrollable, Contrib updateColors(); // XXX this is the place } } + // To make the scroll shift to the first element // http://stackoverflow.com/questions/19400239/scrolling-to-the-top-jpanel-inside-a-jscrollpane EventQueue.invokeLater(new Runnable() { public void run() {