### Eclipse Workspace Patch 1.0
#P JOSM
Index: src/org/openstreetmap/josm/gui/dialogs/SelectionListDialog.java
===================================================================
--- src/org/openstreetmap/josm/gui/dialogs/SelectionListDialog.java	(revision 4398)
+++ src/org/openstreetmap/josm/gui/dialogs/SelectionListDialog.java	(working copy)
@@ -16,7 +16,6 @@
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Comparator;
-import java.util.HashMap;
 import java.util.HashSet;
 import java.util.LinkedList;
 import java.util.List;
@@ -25,7 +24,6 @@
 import javax.swing.AbstractAction;
 import javax.swing.AbstractListModel;
 import javax.swing.DefaultListSelectionModel;
-import javax.swing.JButton;
 import javax.swing.JList;
 import javax.swing.JMenuItem;
 import javax.swing.JPopupMenu;
@@ -119,7 +117,7 @@
         });
 
         createLayout(lstPrimitives, true, Arrays.asList(new SideButton[] {
-            selectButton, searchButton
+                selectButton, searchButton
         }));
     }
 
@@ -128,7 +126,7 @@
                 Shortcut.registerShortcut("subwindow:selection", tr("Toggle: {0}", tr("Current Selection")), KeyEvent.VK_T, Shortcut.GROUP_LAYER, Shortcut.SHIFT_DEFAULT),
                 150, // default height
                 true // default is "show dialog"
-        );
+                );
 
         buildContentPanel();
         model.addListDataListener(new TitleUpdater());
@@ -462,7 +460,29 @@
                 case RELATION: numRelations++; break;
                 }
             }
-            return tr("Sel.: Rel.:{0} / Ways:{1} / Nodes:{2}", numRelations, numWays, numNodes);
+            if (numRelations < 2 && numWays < 2 && numNodes < 2)
+                return tr("Selection : {0} relation / {1} way / {2} node", numRelations, numWays, numNodes);
+
+            if (numRelations > 1 && numWays < 2 && numNodes < 2)
+                return tr("Selection : {0} relations / {1} way / {2} node", numRelations, numWays, numNodes);
+
+            if (numRelations > 1 && numWays > 1 && numNodes < 2)
+                return tr("Selection : {0} relations / {1} ways / {2} node", numRelations, numWays, numNodes);
+
+            if (numRelations > 1 && numWays < 2 && numNodes > 1)
+                return tr("Selection : {0} relations / {1} ways / {2} nodes", numRelations, numWays, numNodes);
+
+            if (numRelations < 2 && numWays < 2 && numNodes > 1)
+                return tr("Selection : {0} relation / {1} way / {2} nodes", numRelations, numWays, numNodes);
+
+            if (numRelations < 2 && numWays > 1 && numNodes > 1)
+                return tr("Selection : {0} relation / {1} ways / {2} nodes", numRelations, numWays, numNodes);
+
+            if (numRelations < 2 && numWays > 1 && numNodes < 2)
+                return tr("Selection : {0} relation / {1} ways / {2} node", numRelations, numWays, numNodes);
+
+            else
+                return tr("Selection : {0} relations / {1} ways / {2} nodes", numRelations, numWays, numNodes);
         }
 
         /**
@@ -576,8 +596,9 @@
             double dist = -1;
             if(this.selection.size() == 1) {
                 OsmPrimitive o = this.selection.get(0);
-                if(o instanceof Way)
-                   dist = ((Way)o).getLength();
+                if(o instanceof Way) {
+                    dist = ((Way)o).getLength();
+                }
             }
             Main.map.statusLine.setDist(dist);
         }
@@ -838,7 +859,7 @@
                     rels,
                     buildSetOfIncompleteMembers(rels),
                     Main.map.mapView.getEditLayer()
-            ));
+                    ));
         }
 
         protected void updateEnabledState() {
