Index: /java/SwingComponents/.classpath
===================================================================
--- /java/SwingComponents/.classpath	(revision 849)
+++ /java/SwingComponents/.classpath	(revision 849)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
Index: /java/SwingComponents/.project
===================================================================
--- /java/SwingComponents/.project	(revision 849)
+++ /java/SwingComponents/.project	(revision 849)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>SwingComponents</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
Index: /java/SwingComponents/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- /java/SwingComponents/.settings/org.eclipse.jdt.core.prefs	(revision 849)
+++ /java/SwingComponents/.settings/org.eclipse.jdt.core.prefs	(revision 849)
@@ -0,0 +1,11 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
Index: /java/SwingComponents/src/net/oni2/swingcomponents/ColorCopy.java
===================================================================
--- /java/SwingComponents/src/net/oni2/swingcomponents/ColorCopy.java	(revision 849)
+++ /java/SwingComponents/src/net/oni2/swingcomponents/ColorCopy.java	(revision 849)
@@ -0,0 +1,17 @@
+package net.oni2.swingcomponents;
+
+import java.awt.Color;
+
+/**
+ * @author Christian Illy
+ */
+public class ColorCopy {
+	/**
+	 * @param orig
+	 *            Color to copy
+	 * @return New color instance with same RGB but 100% opaque
+	 */
+	public static Color copyColor(Color orig) {
+		return new Color(orig.getRed(), orig.getGreen(), orig.getBlue());
+	}
+}
Index: /java/SwingComponents/src/net/oni2/swingcomponents/HTMLLinkLabel.java
===================================================================
--- /java/SwingComponents/src/net/oni2/swingcomponents/HTMLLinkLabel.java	(revision 849)
+++ /java/SwingComponents/src/net/oni2/swingcomponents/HTMLLinkLabel.java	(revision 849)
@@ -0,0 +1,104 @@
+package net.oni2.swingcomponents;
+
+import java.awt.Color;
+import java.awt.Desktop;
+import java.awt.Font;
+import java.io.IOException;
+import java.net.URISyntaxException;
+
+import javax.swing.JEditorPane;
+import javax.swing.JFrame;
+import javax.swing.JLabel;
+import javax.swing.UIDefaults;
+import javax.swing.border.Border;
+import javax.swing.event.HyperlinkEvent;
+import javax.swing.event.HyperlinkListener;
+import javax.swing.text.DefaultCaret;
+import javax.swing.text.html.HTMLEditorKit;
+import javax.swing.text.html.StyleSheet;
+
+/**
+ * @author Christian Illy
+ */
+public class HTMLLinkLabel extends JEditorPane {
+	private static final long serialVersionUID = 2416829757362043910L;
+
+	private String prefix;
+	private String suffix;
+
+	private boolean borderEnabled = true;
+
+	/**
+	 * Create a new HTMLLinkLabel
+	 */
+	public HTMLLinkLabel() {
+		super();
+
+		((DefaultCaret) this.getCaret())
+				.setUpdatePolicy(DefaultCaret.NEVER_UPDATE);
+
+		setContentType("text/html");
+
+		HTMLEditorKit hek = (HTMLEditorKit) getEditorKit();
+		StyleSheet css = hek.getStyleSheet();
+		css.removeStyle("p");
+
+		Font font = new JLabel().getFont();
+
+		StringBuffer style = new StringBuffer("font-family:" + font.getFamily()
+				+ ";");
+		style.append("font-weight:" + (font.isBold() ? "bold" : "normal") + ";");
+		style.append("font-size:" + font.getSize() + "pt;");
+		style.append("margin: 0; padding: 0;");
+
+		prefix = "<html><body style=\"" + style + "\">";
+		suffix = "</body></html>";
+
+		addHyperlinkListener(new HyperlinkListener() {
+
+			@Override
+			public void hyperlinkUpdate(HyperlinkEvent e) {
+				if (e.getEventType().equals(HyperlinkEvent.EventType.ACTIVATED))
+					try {
+						Desktop.getDesktop().browse(e.getURL().toURI());
+					} catch (IOException e1) {
+						e1.printStackTrace();
+					} catch (URISyntaxException e1) {
+						e1.printStackTrace();
+					}
+			}
+		});
+		setEditable(false);
+
+		Color bgColor = ColorCopy.copyColor(new JFrame().getBackground());
+		UIDefaults defaults = new UIDefaults();
+		defaults.put("EditorPane[Enabled].backgroundPainter", bgColor);
+		putClientProperty("Nimbus.Overrides", defaults);
+		putClientProperty("Nimbus.Overrides.InheritDefaults", true);
+		setBackground(bgColor);
+	}
+
+	/**
+	 * Allow or forbid to set a non-null border
+	 * 
+	 * @param enable
+	 *            Non-null border allowed?
+	 */
+	public void enableBorder(boolean enable) {
+		this.borderEnabled = enable;
+		if (!enable)
+			setBorder(null);
+	}
+
+	@Override
+	public void setBorder(Border border) {
+		if (borderEnabled || border == null)
+			super.setBorder(border);
+	}
+
+	@Override
+	public void setText(String t) {
+		super.setText(prefix + t + suffix);
+	}
+
+}
Index: /java/installer2/.classpath
===================================================================
--- /java/installer2/.classpath	(revision 848)
+++ /java/installer2/.classpath	(revision 849)
@@ -30,4 +30,5 @@
 	<classpathentry kind="lib" path="/_ThirdPartyLibs/xz-1.2.jar"/>
 	<classpathentry combineaccessrules="false" kind="src" path="/UTF8ResourceBundleLoader"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/SwingComponents"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
Index: /java/installer2/src/net/oni2/aeinstaller/AEInstaller.properties
===================================================================
--- /java/installer2/src/net/oni2/aeinstaller/AEInstaller.properties	(revision 848)
+++ /java/installer2/src/net/oni2/aeinstaller/AEInstaller.properties	(revision 849)
@@ -1,2 +1,2 @@
 appname=AE Installer 2
-appversion=.07
+appversion=.08
Index: /java/installer2/src/net/oni2/aeinstaller/AEInstaller2.java
===================================================================
--- /java/installer2/src/net/oni2/aeinstaller/AEInstaller2.java	(revision 848)
+++ /java/installer2/src/net/oni2/aeinstaller/AEInstaller2.java	(revision 849)
@@ -27,5 +27,4 @@
 import net.oni2.aeinstaller.backend.oni.OniSplit;
 import net.oni2.aeinstaller.backend.oni.management.Installer;
-import net.oni2.aeinstaller.gui.HTMLLinkLabel;
 import net.oni2.aeinstaller.gui.MainWin;
 import net.oni2.moddepot.DepotManager;
@@ -37,4 +36,5 @@
 import net.oni2.resourcebundle.UTF8ResourceBundleLoader;
 import net.oni2.svnaccess.SVN;
+import net.oni2.swingcomponents.HTMLLinkLabel;
 
 import org.javabuilders.swing.SwingJavaBuilder;
Index: va/installer2/src/net/oni2/aeinstaller/backend/ColorCopy.java
===================================================================
--- /java/installer2/src/net/oni2/aeinstaller/backend/ColorCopy.java	(revision 848)
+++ 	(revision )
@@ -1,17 +1,0 @@
-package net.oni2.aeinstaller.backend;
-
-import java.awt.Color;
-
-/**
- * @author Christian Illy
- */
-public class ColorCopy {
-	/**
-	 * @param orig
-	 *            Color to copy
-	 * @return New color instance with same RGB but 100% opaque
-	 */
-	public static Color copyColor(Color orig) {
-		return new Color(orig.getRed(), orig.getGreen(), orig.getBlue());
-	}
-}
Index: va/installer2/src/net/oni2/aeinstaller/gui/HTMLLinkLabel.java
===================================================================
--- /java/installer2/src/net/oni2/aeinstaller/gui/HTMLLinkLabel.java	(revision 848)
+++ 	(revision )
@@ -1,78 +1,0 @@
-package net.oni2.aeinstaller.gui;
-
-import java.awt.Color;
-import java.awt.Desktop;
-import java.awt.Font;
-import java.io.IOException;
-import java.net.URISyntaxException;
-
-import javax.swing.JEditorPane;
-import javax.swing.JFrame;
-import javax.swing.JLabel;
-import javax.swing.UIDefaults;
-import javax.swing.event.HyperlinkEvent;
-import javax.swing.event.HyperlinkListener;
-import javax.swing.text.DefaultCaret;
-
-import net.oni2.aeinstaller.backend.ColorCopy;
-
-/**
- * @author Christian Illy
- */
-public class HTMLLinkLabel extends JEditorPane {
-	private static final long serialVersionUID = 2416829757362043910L;
-
-	private String prefix;
-	private String suffix;
-
-	/**
-	 * Create a new HTMLLinkLabel
-	 */
-	public HTMLLinkLabel() {
-		super();
-
-		((DefaultCaret) this.getCaret()).setUpdatePolicy(DefaultCaret.NEVER_UPDATE);
-
-		setContentType("text/html");
-
-		JLabel label = new JLabel();
-		Font font = label.getFont();
-
-		StringBuffer style = new StringBuffer("font-family:" + font.getFamily()
-				+ ";");
-		style.append("font-weight:" + (font.isBold() ? "bold" : "normal") + ";");
-		style.append("font-size:" + font.getSize() + "pt;");
-
-		prefix = "<html><body style=\"" + style + "\">";
-		suffix = "</body></html>";
-
-		addHyperlinkListener(new HyperlinkListener() {
-
-			@Override
-			public void hyperlinkUpdate(HyperlinkEvent e) {
-				if (e.getEventType().equals(HyperlinkEvent.EventType.ACTIVATED))
-					try {
-						Desktop.getDesktop().browse(e.getURL().toURI());
-					} catch (IOException e1) {
-						e1.printStackTrace();
-					} catch (URISyntaxException e1) {
-						e1.printStackTrace();
-					}
-			}
-		});
-		setEditable(false);
-
-		Color bgColor = ColorCopy.copyColor(new JFrame().getBackground());
-		UIDefaults defaults = new UIDefaults();
-		defaults.put("EditorPane[Enabled].backgroundPainter", bgColor);
-		putClientProperty("Nimbus.Overrides", defaults);
-		putClientProperty("Nimbus.Overrides.InheritDefaults", true);
-		setBackground(bgColor);
-	}
-
-	@Override
-	public void setText(String t) {
-		super.setText(prefix + t + suffix);
-	}
-
-}
Index: /java/installer2/src/net/oni2/aeinstaller/gui/about/AboutDialog.java
===================================================================
--- /java/installer2/src/net/oni2/aeinstaller/gui/about/AboutDialog.java	(revision 848)
+++ /java/installer2/src/net/oni2/aeinstaller/gui/about/AboutDialog.java	(revision 849)
@@ -11,6 +11,6 @@
 import javax.swing.KeyStroke;
 
-import net.oni2.aeinstaller.gui.HTMLLinkLabel;
 import net.oni2.resourcebundle.UTF8ResourceBundleLoader;
+import net.oni2.swingcomponents.HTMLLinkLabel;
 
 import org.javabuilders.BuildResult;
Index: /java/installer2/src/net/oni2/aeinstaller/gui/packageinfobox/PackageInfoBox.java
===================================================================
--- /java/installer2/src/net/oni2/aeinstaller/gui/packageinfobox/PackageInfoBox.java	(revision 848)
+++ /java/installer2/src/net/oni2/aeinstaller/gui/packageinfobox/PackageInfoBox.java	(revision 849)
@@ -1,8 +1,6 @@
 package net.oni2.aeinstaller.gui.packageinfobox;
 
-import java.awt.Insets;
 import java.util.ResourceBundle;
 
-import javax.swing.JLabel;
 import javax.swing.JPanel;
 
@@ -10,6 +8,6 @@
 import net.oni2.aeinstaller.backend.packages.Package;
 import net.oni2.aeinstaller.backend.packages.Type;
-import net.oni2.aeinstaller.gui.HTMLLinkLabel;
 import net.oni2.resourcebundle.UTF8ResourceBundleLoader;
+import net.oni2.swingcomponents.HTMLLinkLabel;
 
 import org.javabuilders.BuildResult;
@@ -28,12 +26,12 @@
 	private BuildResult result = SwingJavaBuilder.build(this, bundle);
 
-	private JLabel lblTitleVal;
-	private JLabel lblCreatorVal;
-	private JLabel lblTypesVal;
-	private JLabel lblPlatformVal;
-	private JLabel lblPackageNumberVal;
-	private JLabel lblVersionNumberVal;
+	private HTMLLinkLabel lblTitleVal;
+	private HTMLLinkLabel lblCreatorVal;
+	private HTMLLinkLabel lblTypesVal;
+	private HTMLLinkLabel lblPlatformVal;
+	private HTMLLinkLabel lblPackageNumberVal;
+	private HTMLLinkLabel lblVersionNumberVal;
 	private HTMLLinkLabel lblDescriptionVal;
-	private JLabel lblDownloadSizeVal;
+	private HTMLLinkLabel lblDownloadSizeVal;
 
 	/**
@@ -42,5 +40,11 @@
 	public PackageInfoBox() {
 		super();
-		lblDescriptionVal.setMargin(new Insets(-15, 0, 0, 0));
+		lblTitleVal.enableBorder(false);
+		lblCreatorVal.enableBorder(false);
+		lblTypesVal.enableBorder(false);
+		lblPlatformVal.enableBorder(false);
+		lblPackageNumberVal.enableBorder(false);
+		lblVersionNumberVal.enableBorder(false);
+		lblDownloadSizeVal.enableBorder(false);
 	}
 
@@ -60,6 +64,6 @@
 
 		if (mod != null) {
-			lblTitleVal.setText("<html>" + mod.getName() + "</html>");
-			lblCreatorVal.setText("<html>" + mod.getCreator() + "</html>");
+			lblTitleVal.setText(mod.getName());
+			lblCreatorVal.setText(mod.getCreator());
 			lblDescriptionVal.setText(mod.getDescription());
 
@@ -70,5 +74,5 @@
 				types += t.getName();
 			}
-			lblTypesVal.setText("<html>" + types + "</html>");
+			lblTypesVal.setText(types);
 			lblPlatformVal.setText(mod.getPlatform().toString());
 			lblPackageNumberVal.setText(mod.getPackageNumberString());
Index: /java/installer2/src/net/oni2/aeinstaller/gui/packageinfobox/PackageInfoBox.yml
===================================================================
--- /java/installer2/src/net/oni2/aeinstaller/gui/packageinfobox/PackageInfoBox.yml	(revision 848)
+++ /java/installer2/src/net/oni2/aeinstaller/gui/packageinfobox/PackageInfoBox.yml	(revision 849)
@@ -3,19 +3,19 @@
   content:
     - JLabel(name=lblTitle, text=lblTitle.text)
-    - JLabel(name=lblTitleVal)
+    - HTMLLinkLabel(name=lblTitleVal)
     - JLabel(name=lblCreator, text=lblCreator.text)
-    - JLabel(name=lblCreatorVal)
+    - HTMLLinkLabel(name=lblCreatorVal)
     - JLabel(name=lblTypes, text=lblTypes.text)
-    - JLabel(name=lblTypesVal)
+    - HTMLLinkLabel(name=lblTypesVal)
     - JLabel(name=lblPlatform, text=lblPlatform.text)
-    - JLabel(name=lblPlatformVal)
+    - HTMLLinkLabel(name=lblPlatformVal)
     - JLabel(name=lblPackageNumber, text=lblPackageNumber.text)
-    - JLabel(name=lblPackageNumberVal)
+    - HTMLLinkLabel(name=lblPackageNumberVal)
     - JLabel(name=lblVersionNumber, text=lblVersionNumber.text)
-    - JLabel(name=lblVersionNumberVal)
+    - HTMLLinkLabel(name=lblVersionNumberVal)
     - JScrollPane(name=scrollDescription, vScrollBar=always, hScrollBar=asNeeded):
         HTMLLinkLabel(name=lblDescriptionVal)
     - JLabel(name=lblDownloadSize, text=lblDownloadSize.text)
-    - JLabel(name=lblDownloadSizeVal)
+    - HTMLLinkLabel(name=lblDownloadSizeVal)
     - MigLayout: |
          [min]             [grow]
