From 3fa158075dc26e3974d89e524f4d9cc83085ee2d Mon Sep 17 00:00:00 2001 From: Akarshit Wal Date: Wed, 1 Jul 2015 23:14:57 +0530 Subject: [PATCH 1/9] Progress bar is working Yipppegit add app/src/processing/app/contrib/ContributionPanel.java app/src/processing/app/contrib/StatusPanel.java --- .../app/contrib/ContributionPanel.java | 9 ++-- .../processing/app/contrib/StatusPanel.java | 44 +++++++++++++------ 2 files changed, 34 insertions(+), 19 deletions(-) diff --git a/app/src/processing/app/contrib/ContributionPanel.java b/app/src/processing/app/contrib/ContributionPanel.java index 9f3ade668..0481c0042 100644 --- a/app/src/processing/app/contrib/ContributionPanel.java +++ b/app/src/processing/app/contrib/ContributionPanel.java @@ -98,7 +98,7 @@ class ContributionPanel extends JPanel { private JTextPane descriptionPane; private JLabel notificationLabel; private JButton updateButton; - private JProgressBar installProgressBar; + JProgressBar installProgressBar; private JButton installRemoveButton; private JPopupMenu contextMenu; private JMenuItem openFolder; @@ -114,7 +114,6 @@ class ContributionPanel extends JPanel { StringBuilder description; - ContributionPanel(ContributionListPanel contributionListPanel) { listPanel = contributionListPanel; barButtonCardPane = new JPanel(); @@ -316,7 +315,7 @@ class ContributionPanel extends JPanel { JPanel barPane = new JPanel(); barPane.setOpaque(false); - barPane.add(installProgressBar); +// barPane.add(installProgressBar); JPanel buttonPane = new JPanel(); buttonPane.setOpaque(false); @@ -373,7 +372,7 @@ class ContributionPanel extends JPanel { JPanel barPane = new JPanel(); barPane.setOpaque(false); barPane.setInheritsPopupMenu(true); - barPane.add(installProgressBar); +// barPane.add(installProgressBar); rightPane.add(barPane); if (isUpdateInProgress) @@ -387,7 +386,7 @@ class ContributionPanel extends JPanel { JPanel barPane = new JPanel(); barPane.setOpaque(false); barPane.setInheritsPopupMenu(true); - barPane.add(installProgressBar); +// barPane.add(installProgressBar); JPanel buttonPane = new JPanel(); buttonPane.setOpaque(false); diff --git a/app/src/processing/app/contrib/StatusPanel.java b/app/src/processing/app/contrib/StatusPanel.java index 87a61e1fe..df315b833 100644 --- a/app/src/processing/app/contrib/StatusPanel.java +++ b/app/src/processing/app/contrib/StatusPanel.java @@ -21,6 +21,7 @@ */ package processing.app.contrib; +import java.awt.BorderLayout; import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; @@ -45,10 +46,11 @@ class StatusPanel extends JPanel { JTextPane label; JButton installButton; - JProgressBar installProgressBar; + JPanel progressBarPanel; JLabel updateLabel; JButton updateButton; JButton removeButton; + GroupLayout layout; ContributionListing contributionListing = ContributionListing.getInstance(); ContributionManagerDialog contributionManagerDialog; @@ -76,18 +78,24 @@ class StatusPanel extends JPanel { @Override public void actionPerformed(ActionEvent e) { - StatusPanel.this.contributionManagerDialog.getActiveTab().contributionListPanel - .getSelectedPanel().install(); + ContributionPanel currentPanel = StatusPanel.this.contributionManagerDialog.getActiveTab().contributionListPanel + .getSelectedPanel(); + currentPanel.install(); + StatusPanel.this.update(currentPanel); } }); - installProgressBar = new JProgressBar(); + progressBarPanel = new JPanel(); + progressBarPanel.setLayout(new BorderLayout());; updateLabel = new JLabel(" "); updateButton = new JButton("Update"); updateButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - StatusPanel.this.contributionManagerDialog.getActiveTab().contributionListPanel.getSelectedPanel().update(); + ContributionPanel currentPanel = StatusPanel.this.contributionManagerDialog.getActiveTab().contributionListPanel + .getSelectedPanel(); + currentPanel.update(); + StatusPanel.this.update(currentPanel); } }); @@ -96,12 +104,15 @@ class StatusPanel extends JPanel { @Override public void actionPerformed(ActionEvent e) { - StatusPanel.this.contributionManagerDialog.getActiveTab().contributionListPanel.getSelectedPanel().remove(); + ContributionPanel currentPanel = StatusPanel.this.contributionManagerDialog.getActiveTab().contributionListPanel + .getSelectedPanel(); + currentPanel.remove(); + StatusPanel.this.update(currentPanel); } }); int labelWidth = width != 0 ? width * 3 / 4 : GroupLayout.PREFERRED_SIZE; - GroupLayout layout = new GroupLayout(this); + layout = new GroupLayout(this); this.setLayout(layout); layout.setAutoCreateContainerGaps(true); @@ -115,7 +126,7 @@ class StatusPanel extends JPanel { .addGroup(layout .createParallelGroup(GroupLayout.Alignment.CENTER) .addComponent(installButton, BUTTON_WIDTH, BUTTON_WIDTH, - BUTTON_WIDTH).addComponent(installProgressBar) + BUTTON_WIDTH).addComponent(progressBarPanel) .addComponent(updateLabel).addComponent(updateButton) .addComponent(removeButton))); @@ -126,14 +137,14 @@ class StatusPanel extends JPanel { .createSequentialGroup() .addComponent(installButton) .addGroup(layout.createParallelGroup() - .addComponent(installProgressBar) + .addComponent(progressBarPanel) .addComponent(updateLabel)) .addComponent(updateButton).addComponent(removeButton))); layout - .linkSize(SwingConstants.HORIZONTAL, installButton, installProgressBar, updateButton, removeButton); + .linkSize(SwingConstants.HORIZONTAL, installButton, progressBarPanel, updateButton, removeButton); - installProgressBar.setVisible(false); + progressBarPanel.setVisible(false); updateLabel.setVisible(false); installButton.setEnabled(false); @@ -163,6 +174,8 @@ class StatusPanel extends JPanel { } public void update(ContributionPanel panel) { + + progressBarPanel.removeAll(); label.setText(panel.description.toString()); @@ -200,10 +213,13 @@ class StatusPanel extends JPanel { updateLabel.setText(currentVersion + " installed"); } - updateLabel.setVisible(true); - removeButton.setEnabled(panel.getContrib().isInstalled()); - + progressBarPanel.add(panel.installProgressBar); + if (panel.installProgressBar.isEnabled()) { + progressBarPanel.setVisible(true); + updateLabel.setVisible(false); + progressBarPanel.repaint(); + } } } From cfbea0c474b601349e0e76d68bd0462b53c7774d Mon Sep 17 00:00:00 2001 From: Akarshit Wal Date: Thu, 2 Jul 2015 13:28:55 +0530 Subject: [PATCH 2/9] Update tab started and try again window is added --- .../app/contrib/ContributionListPanel.java | 32 ++++++-- .../contrib/ContributionManagerDialog.java | 74 ++++++++++++++++++- .../app/contrib/ContributionTab.java | 1 + .../processing/app/contrib/StatusPanel.java | 1 - 4 files changed, 99 insertions(+), 9 deletions(-) diff --git a/app/src/processing/app/contrib/ContributionListPanel.java b/app/src/processing/app/contrib/ContributionListPanel.java index 4fb842d82..d7a767f50 100644 --- a/app/src/processing/app/contrib/ContributionListPanel.java +++ b/app/src/processing/app/contrib/ContributionListPanel.java @@ -88,16 +88,38 @@ public class ContributionListPanel extends JPanel implements Scrollable, Contrib private void updatePanelOrdering() { - int row = 0; - for (Entry entry : panelByContribution.entrySet()) { + if(contributionTab.contributionType != null){ + int row = 0; + for (Entry entry : panelByContribution.entrySet()) { + GridBagConstraints c = new GridBagConstraints(); + c.fill = GridBagConstraints.HORIZONTAL; + c.weightx = 1; + c.gridx = 0; + c.gridy = row++; + c.anchor = GridBagConstraints.NORTH; + + add(entry.getValue(), c); + } + } else { + int row = 0; + for (Entry entry : panelByContribution.entrySet()) { + GridBagConstraints c = new GridBagConstraints(); + c.fill = GridBagConstraints.HORIZONTAL; + c.weightx = 1; + c.gridx = 0; + c.gridy = row++; + c.anchor = GridBagConstraints.NORTH; + + add(entry.getValue(), c); + } GridBagConstraints c = new GridBagConstraints(); - c.fill = GridBagConstraints.HORIZONTAL; + c.fill = GridBagConstraints.BOTH; c.weightx = 1; + c.weighty = 1; c.gridx = 0; c.gridy = row++; c.anchor = GridBagConstraints.NORTH; - - add(entry.getValue(), c); + add(new JLabel("gdgsdgGrthsrhrr"), c); } /* GridBagConstraints c = new GridBagConstraints(); diff --git a/app/src/processing/app/contrib/ContributionManagerDialog.java b/app/src/processing/app/contrib/ContributionManagerDialog.java index 40c2eb18e..79ae0b873 100644 --- a/app/src/processing/app/contrib/ContributionManagerDialog.java +++ b/app/src/processing/app/contrib/ContributionManagerDialog.java @@ -21,6 +21,7 @@ */ package processing.app.contrib; +import java.awt.Dimension; import java.awt.event.*; import java.io.File; import java.io.IOException; @@ -29,6 +30,9 @@ import java.net.SocketTimeoutException; import java.util.*; import javax.swing.*; +import javax.swing.text.SimpleAttributeSet; +import javax.swing.text.StyleConstants; +import javax.swing.text.StyledDocument; import processing.app.*; import processing.app.ui.Editor; @@ -50,7 +54,13 @@ public class ContributionManagerDialog { String title; JButton restartButton; StatusPanel statusPanel; - + + + JPanel errorPanel; + JTextPane errorMessage; + JButton tryAgainButton; + JButton closeButton; + // the calling editor, so updates can be applied Editor editor; @@ -138,12 +148,16 @@ public class ContributionManagerDialog { tabbedPane.addTab("Updates", null, updatesContributionTab.panel, "Updates"); tabbedPane.setMnemonicAt(3, KeyEvent.VK_5); + buildErrorPanel(); + GroupLayout layout = new GroupLayout(dialog.getContentPane()); dialog.getContentPane().setLayout(layout); - layout.setHorizontalGroup(layout.createParallelGroup().addComponent(tabbedPane).addComponent(statusPanel)); - layout.setVerticalGroup(layout.createSequentialGroup().addComponent(tabbedPane).addComponent(statusPanel)); + layout.setHorizontalGroup(layout.createParallelGroup().addComponent(tabbedPane).addComponent(errorPanel).addComponent(statusPanel)); + layout.setVerticalGroup(layout.createSequentialGroup().addGroup(layout.createParallelGroup(GroupLayout.Alignment.TRAILING).addComponent(tabbedPane).addComponent(errorPanel)).addComponent(statusPanel)); + dialog.getContentPane().setComponentZOrder(errorPanel, 0); + restartButton = new JButton(Language.text("contrib.restart")); restartButton.setVisible(false); restartButton.addActionListener(new ActionListener() { @@ -196,6 +210,60 @@ public class ContributionManagerDialog { dialog.pack(); dialog.setLocationRelativeTo(null); } + + private void buildErrorPanel(){ + errorPanel = new JPanel(); + GroupLayout layout = new GroupLayout(errorPanel); + layout.setAutoCreateGaps(true); + layout.setAutoCreateContainerGaps(true); + errorPanel.setLayout(layout); + errorMessage = new JTextPane(); + errorMessage.setText("Could not connect to the Processing server. " + + "Contributions cannot be installed or updated without an Internet connection. " + + "Please verify your network connection again, then try connecting again."); + errorMessage.setMaximumSize(new Dimension(450, 20)); + errorMessage.setOpaque(false); + + StyledDocument doc = errorMessage.getStyledDocument(); + SimpleAttributeSet center = new SimpleAttributeSet(); + StyleConstants.setAlignment(center, StyleConstants.ALIGN_CENTER); + doc.setParagraphAttributes(0, doc.getLength(), center, false); + + + closeButton = new JButton(""); + closeButton.addActionListener(new ActionListener() { + + @Override + public void actionPerformed(ActionEvent e) { + errorPanel.setVisible(false); + } + }); + tryAgainButton = new JButton("Try Again"); + tryAgainButton.addActionListener(new ActionListener() { + + @Override + public void actionPerformed(ActionEvent e) { + // TODO Auto-generated method stub + + } + }); + layout.setHorizontalGroup(layout + .createSequentialGroup() + .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, + GroupLayout.PREFERRED_SIZE, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(GroupLayout.Alignment.CENTER) + .addComponent(errorMessage).addComponent(tryAgainButton)) + .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, + GroupLayout.PREFERRED_SIZE, Short.MAX_VALUE) + .addComponent(closeButton)); + layout.setVerticalGroup(layout + .createSequentialGroup() + .addGroup(layout.createParallelGroup().addComponent(errorMessage) + .addComponent(closeButton)).addComponent(tryAgainButton)); + errorPanel.setLocation(tabbedPane.getHeight() - errorPanel.getHeight(),0); + + errorPanel.setVisible(false); + } /** * Close the window after an OK or Cancel. diff --git a/app/src/processing/app/contrib/ContributionTab.java b/app/src/processing/app/contrib/ContributionTab.java index ec0a2662c..5afbcea39 100644 --- a/app/src/processing/app/contrib/ContributionTab.java +++ b/app/src/processing/app/contrib/ContributionTab.java @@ -91,6 +91,7 @@ public class ContributionTab { filter = type.createFilter(); } + this.contributionType = type; this.statusPanel = statusPanel; this.contributionManagerDialog = contributionManagerDialog; contribListing = ContributionListing.getInstance(); diff --git a/app/src/processing/app/contrib/StatusPanel.java b/app/src/processing/app/contrib/StatusPanel.java index df315b833..68bdc7e2a 100644 --- a/app/src/processing/app/contrib/StatusPanel.java +++ b/app/src/processing/app/contrib/StatusPanel.java @@ -30,7 +30,6 @@ import javax.swing.GroupLayout; import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JPanel; -import javax.swing.JProgressBar; import javax.swing.JTextPane; import javax.swing.LayoutStyle; import javax.swing.SwingConstants; From ca72b355359b5594028e911a0dc9c88149054618 Mon Sep 17 00:00:00 2001 From: Akarshit Wal Date: Fri, 3 Jul 2015 12:14:49 +0530 Subject: [PATCH 3/9] Error working --- .../contrib/ContributionManagerDialog.java | 71 +++++++++++++++---- .../app/contrib/ContributionTab.java | 3 +- .../processing/app/contrib/StatusPanel.java | 2 +- 3 files changed, 60 insertions(+), 16 deletions(-) diff --git a/app/src/processing/app/contrib/ContributionManagerDialog.java b/app/src/processing/app/contrib/ContributionManagerDialog.java index 79ae0b873..d20885a64 100644 --- a/app/src/processing/app/contrib/ContributionManagerDialog.java +++ b/app/src/processing/app/contrib/ContributionManagerDialog.java @@ -21,6 +21,7 @@ */ package processing.app.contrib; +import java.awt.Color; import java.awt.Dimension; import java.awt.event.*; import java.io.File; @@ -148,15 +149,9 @@ public class ContributionManagerDialog { tabbedPane.addTab("Updates", null, updatesContributionTab.panel, "Updates"); tabbedPane.setMnemonicAt(3, KeyEvent.VK_5); - buildErrorPanel(); - GroupLayout layout = new GroupLayout(dialog.getContentPane()); - dialog.getContentPane().setLayout(layout); - - layout.setHorizontalGroup(layout.createParallelGroup().addComponent(tabbedPane).addComponent(errorPanel).addComponent(statusPanel)); - layout.setVerticalGroup(layout.createSequentialGroup().addGroup(layout.createParallelGroup(GroupLayout.Alignment.TRAILING).addComponent(tabbedPane).addComponent(errorPanel)).addComponent(statusPanel)); - - dialog.getContentPane().setComponentZOrder(errorPanel, 0); +// tabbedPane.setSize(450, 400); + setLayoutWithoutError(); restartButton = new JButton(Language.text("contrib.restart")); restartButton.setVisible(false); @@ -210,6 +205,47 @@ public class ContributionManagerDialog { dialog.pack(); dialog.setLocationRelativeTo(null); } + + private void setLayoutWithError() { + System.out.println(tabbedPane.getPreferredSize()); + GroupLayout layout = new GroupLayout(dialog.getContentPane()); + dialog.getContentPane().setLayout(layout); + dialog.setResizable(true); + layout.setHorizontalGroup(layout.createParallelGroup() + .addComponent(statusPanel).addComponent(errorPanel) + .addComponent(tabbedPane)); + layout.setVerticalGroup(layout + .createSequentialGroup() + .addComponent(tabbedPane, + tabbedPane.getSize().height + - errorPanel.getPreferredSize().height - 200, + tabbedPane.getSize().height + - errorPanel.getPreferredSize().height, + GroupLayout.PREFERRED_SIZE) + .addComponent(errorPanel, GroupLayout.PREFERRED_SIZE, + GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE) + .addComponent(statusPanel, GroupLayout.PREFERRED_SIZE, + GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)); + errorPanel.setVisible(true); + dialog.validate(); + dialog.pack(); + dialog.repaint(); + } + + private void setLayoutWithoutError() { + GroupLayout layout = new GroupLayout(dialog.getContentPane()); + dialog.getContentPane().setLayout(layout); + + layout.setVerticalGroup(layout + .createSequentialGroup() + .addComponent(tabbedPane) + .addComponent(statusPanel)); + layout.setHorizontalGroup(layout.createParallelGroup() + .addComponent(tabbedPane) + .addComponent(statusPanel)); + + dialog.pack(); + } private void buildErrorPanel(){ errorPanel = new JPanel(); @@ -218,10 +254,11 @@ public class ContributionManagerDialog { layout.setAutoCreateContainerGaps(true); errorPanel.setLayout(layout); errorMessage = new JTextPane(); + errorMessage.setEditable(false); errorMessage.setText("Could not connect to the Processing server. " + "Contributions cannot be installed or updated without an Internet connection. " + "Please verify your network connection again, then try connecting again."); - errorMessage.setMaximumSize(new Dimension(450, 20)); + errorMessage.setMaximumSize(new Dimension(450, 50)); errorMessage.setOpaque(false); StyledDocument doc = errorMessage.getStyledDocument(); @@ -236,6 +273,7 @@ public class ContributionManagerDialog { @Override public void actionPerformed(ActionEvent e) { errorPanel.setVisible(false); + setLayoutWithoutError(); } }); tryAgainButton = new JButton("Try Again"); @@ -243,8 +281,9 @@ public class ContributionManagerDialog { @Override public void actionPerformed(ActionEvent e) { - // TODO Auto-generated method stub - + // TODO see if this is complete + closeButton.doClick(); + downloadAndUpdateContributionListing(editor.getBase()); } }); layout.setHorizontalGroup(layout @@ -260,7 +299,7 @@ public class ContributionManagerDialog { .createSequentialGroup() .addGroup(layout.createParallelGroup().addComponent(errorMessage) .addComponent(closeButton)).addComponent(tryAgainButton)); - errorPanel.setLocation(tabbedPane.getHeight() - errorPanel.getHeight(),0); + errorPanel.setBackground(Color.BLUE); errorPanel.setVisible(false); } @@ -587,15 +626,21 @@ public class ContributionManagerDialog { } exception.printStackTrace(); activeTab.retryConnectingButton.setVisible(true); - + + buildErrorPanel(); + setLayoutWithError(); + } else { + activeTab.statusPanel.setMessage(Language.text("contrib.status.done")); activeTab.retryConnectingButton.setVisible(false); } } + }); } + /** * * @return the currently selected tab diff --git a/app/src/processing/app/contrib/ContributionTab.java b/app/src/processing/app/contrib/ContributionTab.java index 5afbcea39..7cc9061b8 100644 --- a/app/src/processing/app/contrib/ContributionTab.java +++ b/app/src/processing/app/contrib/ContributionTab.java @@ -367,7 +367,7 @@ public class ContributionTab { // pane.add(filterField, c); // } - panel.setMinimumSize(new Dimension(450, 400)); +// panel.setSize(new Dimension(450, 400));//TODO try to remove this } @@ -485,7 +485,6 @@ public class ContributionTab { } exception.printStackTrace(); retryConnectingButton.setVisible(true); - } else { statusPanel.setMessage(Language.text("contrib.status.done")); retryConnectingButton.setVisible(false); diff --git a/app/src/processing/app/contrib/StatusPanel.java b/app/src/processing/app/contrib/StatusPanel.java index 68bdc7e2a..751da196f 100644 --- a/app/src/processing/app/contrib/StatusPanel.java +++ b/app/src/processing/app/contrib/StatusPanel.java @@ -173,7 +173,7 @@ class StatusPanel extends JPanel { } public void update(ContributionPanel panel) { - + progressBarPanel.removeAll(); label.setText(panel.description.toString()); From 317e784c66b26b1fb9660d4d26162f39617f83a6 Mon Sep 17 00:00:00 2001 From: Akarshit Wal Date: Fri, 3 Jul 2015 12:22:53 +0530 Subject: [PATCH 4/9] Fixed a few bugs --- app/src/processing/app/contrib/ContributionManagerDialog.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/app/src/processing/app/contrib/ContributionManagerDialog.java b/app/src/processing/app/contrib/ContributionManagerDialog.java index d20885a64..21044674a 100644 --- a/app/src/processing/app/contrib/ContributionManagerDialog.java +++ b/app/src/processing/app/contrib/ContributionManagerDialog.java @@ -151,6 +151,7 @@ public class ContributionManagerDialog { // tabbedPane.setSize(450, 400); + buildErrorPanel(); setLayoutWithoutError(); restartButton = new JButton(Language.text("contrib.restart")); @@ -207,7 +208,6 @@ public class ContributionManagerDialog { } private void setLayoutWithError() { - System.out.println(tabbedPane.getPreferredSize()); GroupLayout layout = new GroupLayout(dialog.getContentPane()); dialog.getContentPane().setLayout(layout); dialog.setResizable(true); @@ -627,11 +627,9 @@ public class ContributionManagerDialog { exception.printStackTrace(); activeTab.retryConnectingButton.setVisible(true); - buildErrorPanel(); setLayoutWithError(); } else { - activeTab.statusPanel.setMessage(Language.text("contrib.status.done")); activeTab.retryConnectingButton.setVisible(false); } From b5e0c7baa2ae01243e03d7df741f012a5186085f Mon Sep 17 00:00:00 2001 From: Akarshit Wal Date: Fri, 3 Jul 2015 12:31:04 +0530 Subject: [PATCH 5/9] Install and update buttons only visible when net is active --- app/src/processing/app/contrib/StatusPanel.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/processing/app/contrib/StatusPanel.java b/app/src/processing/app/contrib/StatusPanel.java index 751da196f..d7071ba68 100644 --- a/app/src/processing/app/contrib/StatusPanel.java +++ b/app/src/processing/app/contrib/StatusPanel.java @@ -178,7 +178,7 @@ class StatusPanel extends JPanel { label.setText(panel.description.toString()); - updateButton.setEnabled(!contributionListing.hasListDownloadFailed() + updateButton.setEnabled(contributionListing.hasDownloadedLatestList() && (contributionListing.hasUpdates(panel.getContrib()) && !panel .getContrib().isUpdateFlagged())); @@ -203,7 +203,7 @@ class StatusPanel extends JPanel { updateButton.setText("Update"); } - installButton.setEnabled(!panel.getContrib().isInstalled() && !contributionListing.hasListDownloadFailed()); + installButton.setEnabled(!panel.getContrib().isInstalled() && contributionListing.hasDownloadedLatestList()); if(installButton.isEnabled()){ From 962f4b8cc716e2d36e37b724413362f6ebcae22d Mon Sep 17 00:00:00 2001 From: Akarshit Wal Date: Fri, 3 Jul 2015 12:33:51 +0530 Subject: [PATCH 6/9] Got rid of the retry button --- .../app/contrib/ContributionManagerDialog.java | 4 ---- .../processing/app/contrib/ContributionTab.java | 17 ----------------- 2 files changed, 21 deletions(-) diff --git a/app/src/processing/app/contrib/ContributionManagerDialog.java b/app/src/processing/app/contrib/ContributionManagerDialog.java index 21044674a..6f20c3e00 100644 --- a/app/src/processing/app/contrib/ContributionManagerDialog.java +++ b/app/src/processing/app/contrib/ContributionManagerDialog.java @@ -585,7 +585,6 @@ public class ContributionManagerDialog { //activeTab is required now but should be removed //as there is only one instance of contribListing and it should be present in this class final ContributionTab activeTab = getActiveTab(); - activeTab.retryConnectingButton.setEnabled(false); activeTab.statusPanel.setMessage(Language .text("contrib.status.downloading_list")); activeTab.contribListing.downloadAvailableList(base, new ContribProgressBar( @@ -614,7 +613,6 @@ public class ContributionManagerDialog { activeTab.updateContributionListing(); activeTab.updateCategoryChooser(); - activeTab.retryConnectingButton.setEnabled(true); if (error) { if (exception instanceof SocketTimeoutException) { @@ -625,13 +623,11 @@ public class ContributionManagerDialog { .text("contrib.errors.list_download")); } exception.printStackTrace(); - activeTab.retryConnectingButton.setVisible(true); setLayoutWithError(); } else { activeTab.statusPanel.setMessage(Language.text("contrib.status.done")); - activeTab.retryConnectingButton.setVisible(false); } } diff --git a/app/src/processing/app/contrib/ContributionTab.java b/app/src/processing/app/contrib/ContributionTab.java index 7cc9061b8..a7ce7dc6a 100644 --- a/app/src/processing/app/contrib/ContributionTab.java +++ b/app/src/processing/app/contrib/ContributionTab.java @@ -55,7 +55,6 @@ public class ContributionTab { StatusPanel statusPanel; FilterField filterField; JButton restartButton; - JButton retryConnectingButton; JProgressBar progressBar; // the calling editor, so updates can be applied @@ -184,18 +183,6 @@ public class ContributionTab { }); - retryConnectingButton = new JButton("Retry"); - retryConnectingButton.setVisible(false); - retryConnectingButton.addActionListener(new ActionListener() { - - @Override - public void actionPerformed(ActionEvent arg0) { - // The message is set to null so that every time the retry button is hit - // no previous error is displayed in the status - statusPanel.setMessage(null); - downloadAndUpdateContributionListing(editor.getBase()); - } - }); progressBar = new JProgressBar(); progressBar.setVisible(false); @@ -446,7 +433,6 @@ public class ContributionTab { protected void downloadAndUpdateContributionListing(Base base) { - retryConnectingButton.setEnabled(false); statusPanel.setMessage(Language.text("contrib.status.downloading_list")); contribListing.downloadAvailableList(base, new ContribProgressBar(progressBar) { @@ -473,7 +459,6 @@ public class ContributionTab { updateContributionListing(); updateCategoryChooser(); - retryConnectingButton.setEnabled(true); if (error) { if (exception instanceof SocketTimeoutException) { @@ -484,10 +469,8 @@ public class ContributionTab { .text("contrib.errors.list_download")); } exception.printStackTrace(); - retryConnectingButton.setVisible(true); } else { statusPanel.setMessage(Language.text("contrib.status.done")); - retryConnectingButton.setVisible(false); } } }); From 9a508f8dc2c8f4d553c3f78a0748563ba1b3e91b Mon Sep 17 00:00:00 2001 From: Akarshit Wal Date: Fri, 3 Jul 2015 12:35:49 +0530 Subject: [PATCH 7/9] Added message for the status tab --- app/src/processing/app/contrib/ContributionListPanel.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/processing/app/contrib/ContributionListPanel.java b/app/src/processing/app/contrib/ContributionListPanel.java index d7a767f50..1a98b28a7 100644 --- a/app/src/processing/app/contrib/ContributionListPanel.java +++ b/app/src/processing/app/contrib/ContributionListPanel.java @@ -101,6 +101,8 @@ public class ContributionListPanel extends JPanel implements Scrollable, Contrib add(entry.getValue(), c); } } else { + //TODO This is where the status tab will be made + int row = 0; for (Entry entry : panelByContribution.entrySet()) { GridBagConstraints c = new GridBagConstraints(); @@ -119,7 +121,6 @@ public class ContributionListPanel extends JPanel implements Scrollable, Contrib c.gridx = 0; c.gridy = row++; c.anchor = GridBagConstraints.NORTH; - add(new JLabel("gdgsdgGrthsrhrr"), c); } /* GridBagConstraints c = new GridBagConstraints(); From 41b0bf02522b9cca63ddc58c375d070f7e4bb90e Mon Sep 17 00:00:00 2001 From: Akarshit Wal Date: Fri, 3 Jul 2015 13:19:54 +0530 Subject: [PATCH 8/9] Fixed bugs realted to tab switching --- .../app/contrib/ContributionListPanel.java | 2 +- .../app/contrib/ContributionManagerDialog.java | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/app/src/processing/app/contrib/ContributionListPanel.java b/app/src/processing/app/contrib/ContributionListPanel.java index 1a98b28a7..b4d8e826b 100644 --- a/app/src/processing/app/contrib/ContributionListPanel.java +++ b/app/src/processing/app/contrib/ContributionListPanel.java @@ -226,12 +226,12 @@ public class ContributionListPanel extends JPanel implements Scrollable, Contrib protected void setSelectedPanel(ContributionPanel contributionPanel) { + contributionTab.contributionManagerDialog.updateStatusPanel(contributionPanel); if (selectedPanel == contributionPanel) { selectedPanel.setSelected(true); } else { - contributionTab.contributionManagerDialog.updateStatusPanel(contributionPanel); ContributionPanel lastSelected = selectedPanel; selectedPanel = contributionPanel; diff --git a/app/src/processing/app/contrib/ContributionManagerDialog.java b/app/src/processing/app/contrib/ContributionManagerDialog.java index 6f20c3e00..b8136314e 100644 --- a/app/src/processing/app/contrib/ContributionManagerDialog.java +++ b/app/src/processing/app/contrib/ContributionManagerDialog.java @@ -31,6 +31,8 @@ import java.net.SocketTimeoutException; import java.util.*; import javax.swing.*; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; import javax.swing.text.StyledDocument; @@ -149,6 +151,17 @@ public class ContributionManagerDialog { tabbedPane.addTab("Updates", null, updatesContributionTab.panel, "Updates"); tabbedPane.setMnemonicAt(3, KeyEvent.VK_5); + tabbedPane.addChangeListener(new ChangeListener() { + + @Override + public void stateChanged(ChangeEvent e) { + // When the tab is changed update status to the current selected panel + getActiveTab().contributionListPanel + .setSelectedPanel(getActiveTab().contributionListPanel + .getSelectedPanel()); + } + }); + // tabbedPane.setSize(450, 400); buildErrorPanel(); From 3e00f5d74e02e72f0cee4da0ba1dcadf4c936efe Mon Sep 17 00:00:00 2001 From: Akarshit Wal Date: Fri, 3 Jul 2015 13:43:45 +0530 Subject: [PATCH 9/9] Fixed a NPE --- .../processing/app/contrib/ContributionManagerDialog.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app/src/processing/app/contrib/ContributionManagerDialog.java b/app/src/processing/app/contrib/ContributionManagerDialog.java index b8136314e..bb0658c7b 100644 --- a/app/src/processing/app/contrib/ContributionManagerDialog.java +++ b/app/src/processing/app/contrib/ContributionManagerDialog.java @@ -156,9 +156,11 @@ public class ContributionManagerDialog { @Override public void stateChanged(ChangeEvent e) { // When the tab is changed update status to the current selected panel - getActiveTab().contributionListPanel - .setSelectedPanel(getActiveTab().contributionListPanel - .getSelectedPanel()); + ContributionPanel currentPanel = getActiveTab().contributionListPanel + .getSelectedPanel(); + if (currentPanel != null) { + getActiveTab().contributionListPanel.setSelectedPanel(currentPanel); + } } });