diff --git a/swing/src/net/sf/openrocket/communication/AssetHandler.java b/swing/src/net/sf/openrocket/communication/AssetHandler.java index 5ddb63929..e21b5e997 100644 --- a/swing/src/net/sf/openrocket/communication/AssetHandler.java +++ b/swing/src/net/sf/openrocket/communication/AssetHandler.java @@ -14,26 +14,28 @@ import java.util.TreeMap; * @author Sibo Van Gool */ public class AssetHandler { - private static final Map mapExtensionToPlatform = new HashMap<>(); // Map file extensions to operating platform + private static final Map mapExtensionToPlatform = new HashMap<>(); // Map file extensions to operating platform private static final Map mapPlatformToName = new HashMap<>(); // Map operating platform to a name public enum UpdatePlatform { WINDOWS, MAC_OS, LINUX, + UNIX, JAR } static { - mapExtensionToPlatform.put(".dmg", UpdatePlatform.MAC_OS); - mapExtensionToPlatform.put(".exe", UpdatePlatform.WINDOWS); - mapExtensionToPlatform.put(".AppImage", UpdatePlatform.LINUX); - mapExtensionToPlatform.put(".sh", UpdatePlatform.LINUX); - mapExtensionToPlatform.put(".jar", UpdatePlatform.JAR); + mapExtensionToPlatform.put(".dmg", new UpdatePlatform[] {UpdatePlatform.MAC_OS}); + mapExtensionToPlatform.put(".exe", new UpdatePlatform[] {UpdatePlatform.WINDOWS}); + mapExtensionToPlatform.put(".AppImage", new UpdatePlatform[] {UpdatePlatform.LINUX, UpdatePlatform.UNIX}); + mapExtensionToPlatform.put(".sh", new UpdatePlatform[] {UpdatePlatform.LINUX, UpdatePlatform.UNIX}); + mapExtensionToPlatform.put(".jar", new UpdatePlatform[] {UpdatePlatform.JAR}); mapPlatformToName.put(UpdatePlatform.MAC_OS, "Mac OS"); mapPlatformToName.put(UpdatePlatform.WINDOWS, "Windows"); mapPlatformToName.put(UpdatePlatform.LINUX, "Linux"); + mapPlatformToName.put(UpdatePlatform.UNIX, "Linux"); mapPlatformToName.put(UpdatePlatform.JAR, "JAR"); } @@ -45,13 +47,13 @@ public class AssetHandler { * @return map with as key the operating platform name and as value the corresponding asset URL */ public static Map mapURLToPlatform(List urls) { - Map output = new TreeMap<>(); + Map output = new HashMap<>(); if (urls == null) return null; for (String url : urls) { for (String ext : mapExtensionToPlatform.keySet()) { if (url.endsWith(ext)) { - output.put(mapExtensionToPlatform.get(ext), url); + output.put(mapExtensionToPlatform.get(ext)[0], url); // First Platform element is enough } } } diff --git a/swing/src/net/sf/openrocket/gui/dialogs/UpdateInfoDialog.java b/swing/src/net/sf/openrocket/gui/dialogs/UpdateInfoDialog.java index da22da924..e5587a812 100644 --- a/swing/src/net/sf/openrocket/gui/dialogs/UpdateInfoDialog.java +++ b/swing/src/net/sf/openrocket/gui/dialogs/UpdateInfoDialog.java @@ -3,6 +3,7 @@ package net.sf.openrocket.gui.dialogs; import java.awt.Component; import java.awt.Desktop; import java.awt.Dimension; +import java.awt.Insets; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.net.URI; @@ -61,6 +62,7 @@ public class UpdateInfoDialog extends JDialog { final JTextPane textPane = new JTextPane(); textPane.setEditable(false); textPane.setContentType("text/html"); + textPane.setMargin(new Insets(10, 10, 40, 10)); textPane.putClientProperty(JTextPane.HONOR_DISPLAY_PROPERTIES, true); ReleaseInfo release = info.getLatestRelease(); @@ -99,6 +101,7 @@ public class UpdateInfoDialog extends JDialog { }); textPane.setText(sb.toString()); + textPane.setCaretPosition(0); // Scroll to the top panel.add(new JScrollPane(textPane), "left, grow, span, push, gapleft 40px, gapbottom 6px, wrap");