Index: trunk/src/org/openstreetmap/josm/gui/dialogs/LayerListDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/LayerListDialog.java	(revision 3662)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/LayerListDialog.java	(revision 3664)
@@ -180,14 +180,13 @@
         layerList.setShowGrid(false);
         layerList.setIntercellSpacing(new Dimension(0, 0));
-        final int ICON_WIDTH = 16;
         layerList.getColumnModel().getColumn(0).setCellRenderer(new ActiveLayerCellRenderer());
         layerList.getColumnModel().getColumn(0).setCellEditor(new DefaultCellEditor(new ActiveLayerCheckBox()));
-        layerList.getColumnModel().getColumn(0).setMaxWidth(ICON_WIDTH);
-        layerList.getColumnModel().getColumn(0).setPreferredWidth(ICON_WIDTH);
+        layerList.getColumnModel().getColumn(0).setMaxWidth(12);
+        layerList.getColumnModel().getColumn(0).setPreferredWidth(12);
         layerList.getColumnModel().getColumn(0).setResizable(false);
         layerList.getColumnModel().getColumn(1).setCellRenderer(new LayerVisibleCellRenderer());
         layerList.getColumnModel().getColumn(1).setCellEditor(new DefaultCellEditor(new LayerVisibleCheckBox()));
-        layerList.getColumnModel().getColumn(1).setMaxWidth(ICON_WIDTH);
-        layerList.getColumnModel().getColumn(1).setPreferredWidth(ICON_WIDTH);
+        layerList.getColumnModel().getColumn(1).setMaxWidth(16);
+        layerList.getColumnModel().getColumn(1).setPreferredWidth(16);
         layerList.getColumnModel().getColumn(1).setResizable(false);
         layerList.getColumnModel().getColumn(2).setCellRenderer(new LayerNameCellRenderer());
@@ -391,5 +390,4 @@
             putValue(SHORT_DESCRIPTION, tr("Toggle visible state of the selected layer."));
             putValue("help", HelpUtil.ht("/Dialog/LayerDialog#ShowHideLayer"));
-            putValue(NAME, tr("Show/Hide"));
             updateEnabledState();
         }
@@ -620,5 +618,5 @@
             setRolloverIcon(blank);
             setRolloverSelectedIcon(active);
-            setPressedIcon(active);
+            setPressedIcon(ImageProvider.get("dialogs/layerlist", "active-pressed"));
         }
     }
@@ -626,5 +624,5 @@
     private static class LayerVisibleCheckBox extends JCheckBox {
         public LayerVisibleCheckBox() {
-            setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
+            setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
             ImageIcon eye = ImageProvider.get("dialogs/layerlist", "eye");
             ImageIcon eye_off = ImageProvider.get("dialogs/layerlist", "eye-off");
@@ -683,5 +681,4 @@
                 label.setFont(label.getFont().deriveFont(Font.BOLD));
             }
-            //label.setEnabled(layer.isVisible());
             label.setIcon(layer.getIcon());
             label.setToolTipText(layer.getToolTipText());
@@ -786,5 +783,5 @@
      * the properties {@see Layer#VISIBLE_PROP} and {@see Layer#NAME_PROP}.
      */
-    public static class LayerListModel extends AbstractTableModel implements MapView.LayerChangeListener, PropertyChangeListener {
+    public class LayerListModel extends AbstractTableModel implements MapView.LayerChangeListener, PropertyChangeListener {
         /** manages list selection state*/
         private DefaultListSelectionModel selectionModel;
@@ -939,4 +936,5 @@
             fireTableDataChanged();
             int idx = getLayers().indexOf(layer);
+            layerList.setRowHeight(idx, Math.max(16, layer.getIcon().getIconHeight()));
             selectionModel.setSelectionInterval(idx, idx);
             ensureSelectedIsVisible();
