Index: trunk/src/org/openstreetmap/josm/actions/JosmAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/JosmAction.java	(revision 1181)
+++ trunk/src/org/openstreetmap/josm/actions/JosmAction.java	(revision 1182)
@@ -1,4 +1,6 @@
 // License: GPL. Copyright 2007 by Immanuel Scholz and others
 package org.openstreetmap.josm.actions;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
 
 import java.awt.event.InputEvent;
@@ -29,7 +31,8 @@
     public Shortcut getShortcut() {
         if (sc == null) {
-            sc = Shortcut.registerShortcut("core:none", "No Shortcut", 0, Shortcut.GROUP_NONE);
-            sc.setAutomatic(); // as this shortcut is shared by all action that don't want to have a shortcut,
-                               // we shouldn't allow the user to change it...
+            sc = Shortcut.registerShortcut("core:none", tr("No Shortcut"), 0, Shortcut.GROUP_NONE);
+            // as this shortcut is shared by all action that don't want to have a shortcut,
+            // we shouldn't allow the user to change it...
+            // this is handled by special name "core:none"
         }
         return sc;
Index: trunk/src/org/openstreetmap/josm/command/ChangePropertyCommand.java
===================================================================
--- trunk/src/org/openstreetmap/josm/command/ChangePropertyCommand.java	(revision 1181)
+++ trunk/src/org/openstreetmap/josm/command/ChangePropertyCommand.java	(revision 1182)
@@ -89,11 +89,18 @@
 
     @Override public MutableTreeNode description() {
-        String text = value == null ? tr( "Remove \"{0}\" for", key) : tr("Set {0}={1} for",key,value);
+        String text;
         if (objects.size() == 1) {
             NameVisitor v = new NameVisitor();
             objects.iterator().next().visit(v);
-            text += " "+tr(v.className)+" "+v.name;
-        } else
-            text += " "+objects.size()+" "+trn("object","objects",objects.size());
+            text = value == null
+            ? tr("Remove \"{0}\" for {1} ''{2}''", key, tr(v.className), v.name)
+            : tr("Set {0}={1} for {1} ''{2}''",key,value, tr(v.className), v.name);
+        }
+        else
+        {
+            text = value == null
+            ? tr("Remove \"{0}\" for {1} {2}", key, objects.size(), trn("object","objects",objects.size()))
+            : tr("Set {0}={1} for {1} {2}",key,value, objects.size(), trn("object","objects",objects.size()));
+        }
         DefaultMutableTreeNode root = new DefaultMutableTreeNode(new JLabel(text, ImageProvider.get("data", "key"), JLabel.HORIZONTAL));
         if (objects.size() == 1)
Index: trunk/src/org/openstreetmap/josm/gui/preferences/prefJPanel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/prefJPanel.java	(revision 1181)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/prefJPanel.java	(revision 1182)
@@ -392,5 +392,5 @@
                     tfKey.setSelectedItem(keyList.get(-1));
                 }
-                if (sc.getAutomatic()) {
+                if (sc.isChangeable()) {
                     panel.cbDefault.setEnabled(false);
                     panel.cbDisable.setEnabled(false);
Index: trunk/src/org/openstreetmap/josm/tools/Shortcut.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/Shortcut.java	(revision 1181)
+++ trunk/src/org/openstreetmap/josm/tools/Shortcut.java	(revision 1182)
@@ -101,4 +101,8 @@
     }
 
+    public boolean isChangeable() {
+        return !automatic && !shortText.equals("core:none");
+    }
+
     private boolean getReset() {
         return reset;
