This is an automated email from the ASF dual-hosted git repository.

hectorespert pushed a commit to branch NETBEANS-4029
in repository https://gitbox.apache.org/repos/asf/netbeans.git

commit abe985cafc7df5d26f72a18cc84364bc386c5963
Author: Hector Espert <hectorespertpa...@gmail.com>
AuthorDate: Thu Apr 9 23:21:11 2020 +0200

    [NETBEANS-4029] Fix feature dialog
---
 .../ide/ergonomics/fod/ConfigurationPanel.java     | 32 +++++++++++++++-------
 1 file changed, 22 insertions(+), 10 deletions(-)

diff --git 
a/ergonomics/ide.ergonomics/src/org/netbeans/modules/ide/ergonomics/fod/ConfigurationPanel.java
 
b/ergonomics/ide.ergonomics/src/org/netbeans/modules/ide/ergonomics/fod/ConfigurationPanel.java
index be78b57..6f98a8a 100644
--- 
a/ergonomics/ide.ergonomics/src/org/netbeans/modules/ide/ergonomics/fod/ConfigurationPanel.java
+++ 
b/ergonomics/ide.ergonomics/src/org/netbeans/modules/ide/ergonomics/fod/ConfigurationPanel.java
@@ -24,9 +24,11 @@ import java.awt.EventQueue;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashSet;
+import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.Callable;
@@ -142,29 +144,39 @@ public class ConfigurationPanel extends JPanel implements 
Runnable {
             downloadLabel.setVisible(true);
             activateButton.setVisible(true);
             downloadButton.setVisible(true);
-            StringBuilder sbDownload = new StringBuilder();
-
+            
+            List<String> downloadStringList = new ArrayList<>();
+            
             // collect descriptions from features contributing installed extras
             for (FeatureInfo fi : extrasMap.values()) {
                 String s = required
                         ? fi.getExtraModulesRequiredText()
                         : fi.getExtraModulesRecommendedText();
-                if (s != null) {
-                    if (sbDownload.length() > 0) {
-                        sbDownload.append("\n");
-                    }
-                    sbDownload.append(s);
+                if (!downloadStringList.contains(s)) {
+                    downloadStringList.add(s);
                 }
             }
+            
             if (required) {
                 activateButton.setEnabled(false);
             } else {
                 activateButton.setEnabled(true);
             }
 
-            String lblDownloadMsg = sbDownload.toString();
+            String lblDownloadMsg = "";
+            if (!downloadStringList.isEmpty()) {
+                StringBuilder sbDownload = new StringBuilder("<html><body>");
+                for (int i = 0; i < downloadStringList.size(); i++) {
+                    sbDownload.append(downloadStringList.get(i));
+                    if (i > 0 || i < downloadStringList.size() - 1) {
+                        sbDownload.append("<br>");
+                    }
+                }
+                
+                sbDownload.append("</body></html>");
+                lblDownloadMsg = sbDownload.toString();
+            }
 
-            String list = "";
             if (!missingModules.isEmpty()) {
                 StringBuilder sb = new StringBuilder();
                 for (FeatureInfo.ExtraModuleInfo s : missingModules) {
@@ -173,7 +185,7 @@ public class ConfigurationPanel extends JPanel implements 
Runnable {
                     }
                     sb.append(s.displayName());
                 }
-                list = sb.toString();
+                String list = sb.toString();
                 if (required) {
                     lblDownloadMsg = 
NbBundle.getMessage(ConfigurationPanel.class, "MSG_MissingRequiredModules", 
displayName, list);
                     activateButton.setEnabled(false);


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@netbeans.apache.org
For additional commands, e-mail: commits-h...@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists

Reply via email to