Index: trunk/src/org/openstreetmap/josm/gui/dialogs/ToggleDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/ToggleDialog.java	(revision 6726)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/ToggleDialog.java	(revision 6727)
@@ -73,9 +73,18 @@
 public class ToggleDialog extends JPanel implements ShowHideButtonListener, Helpful, AWTEventListener, Destroyable {
 
-    public enum ButtonHiddingType {
-        ALWAYS_SHOWN, ALWAYS_HIDDEN, DYNAMIC
-    }
-
-    private final ParametrizedEnumProperty<ButtonHiddingType> PROP_BUTTON_HIDING = new ParametrizedEnumProperty<ToggleDialog.ButtonHiddingType>(ButtonHiddingType.class, ButtonHiddingType.DYNAMIC) {
+    /**
+     * The button-hiding strategy in toggler dialogs.
+     */
+    public enum ButtonHidingType {
+        /** Buttons are always shown (default) **/
+        ALWAYS_SHOWN,
+        /** Buttons are always hidden **/
+        ALWAYS_HIDDEN,
+        /** Buttons are dynamically hidden, i.e. only shown when mouse cursor is in dialog */
+        DYNAMIC
+    }
+
+    private final ParametrizedEnumProperty<ButtonHidingType> PROP_BUTTON_HIDING = new ParametrizedEnumProperty<ToggleDialog.ButtonHidingType>(
+            ButtonHidingType.class, ButtonHidingType.ALWAYS_SHOWN) {
         @Override
         protected String getKey(String... params) {
@@ -83,10 +92,10 @@
         }
         @Override
-        protected ButtonHiddingType parse(String s) {
+        protected ButtonHidingType parse(String s) {
             try {
                 return super.parse(s);
             } catch (IllegalArgumentException e) {
                 // Legacy settings
-                return Boolean.parseBoolean(s)?ButtonHiddingType.DYNAMIC:ButtonHiddingType.ALWAYS_SHOWN;
+                return Boolean.parseBoolean(s)?ButtonHidingType.DYNAMIC:ButtonHidingType.ALWAYS_SHOWN;
             }
         }
@@ -107,4 +116,5 @@
      */
     protected boolean isShowing;
+
     /**
      * If isShowing is true, indicates whether the dialog is docked or not, e. g.
@@ -112,4 +122,5 @@
      */
     protected boolean isDocked;
+
     /**
      * If isShowing and isDocked are true, indicates whether the dialog is
@@ -117,8 +128,9 @@
      */
     protected boolean isCollapsed;
+
     /**
      * Indicates whether dynamic button hiding is active or not.
      */
-    protected ButtonHiddingType buttonHiding;
+    protected ButtonHidingType buttonHiding;
 
     /** the preferred height if the toggle dialog is expanded */
@@ -385,5 +397,5 @@
         Component[] comps = getComponents();
         for (Component comp : comps) {
-            if (comp != titleBar && (!visible || comp != buttonsPanel || buttonHiding != ButtonHiddingType.ALWAYS_HIDDEN)) {
+            if (comp != titleBar && (!visible || comp != buttonsPanel || buttonHiding != ButtonHidingType.ALWAYS_HIDDEN)) {
                 comp.setVisible(visible);
             }
@@ -475,5 +487,5 @@
 
             if(Main.pref.getBoolean("dialog.dynamic.buttons", true)) {
-                buttonsHide = new JButton(ImageProvider.get("misc", buttonHiding != ButtonHiddingType.ALWAYS_SHOWN ? "buttonhide" : "buttonshow"));
+                buttonsHide = new JButton(ImageProvider.get("misc", buttonHiding != ButtonHidingType.ALWAYS_SHOWN ? "buttonhide" : "buttonshow"));
                 buttonsHide.setToolTipText(tr("Toggle dynamic buttons"));
                 buttonsHide.setBorder(BorderFactory.createEmptyBorder());
@@ -482,5 +494,5 @@
                             @Override
                             public void actionPerformed(ActionEvent e) {
-                                setIsButtonHiding(buttonHiding == ButtonHiddingType.ALWAYS_SHOWN?ButtonHiddingType.DYNAMIC:ButtonHiddingType.ALWAYS_SHOWN);
+                                setIsButtonHiding(buttonHiding == ButtonHidingType.ALWAYS_SHOWN?ButtonHidingType.DYNAMIC:ButtonHidingType.ALWAYS_SHOWN);
                             }
                         }
@@ -559,21 +571,21 @@
             public final JRadioButtonMenuItem alwaysShown = new JRadioButtonMenuItem(new AbstractAction(tr("Always shown")) {
                 @Override public void actionPerformed(ActionEvent e) {
-                    setIsButtonHiding(ButtonHiddingType.ALWAYS_SHOWN);
+                    setIsButtonHiding(ButtonHidingType.ALWAYS_SHOWN);
                 }
             });
             public final JRadioButtonMenuItem dynamic = new JRadioButtonMenuItem(new AbstractAction(tr("Dynamic")) {
                 @Override public void actionPerformed(ActionEvent e) {
-                    setIsButtonHiding(ButtonHiddingType.DYNAMIC);
+                    setIsButtonHiding(ButtonHidingType.DYNAMIC);
                 }
             });
             public final JRadioButtonMenuItem alwaysHidden = new JRadioButtonMenuItem(new AbstractAction(tr("Always hidden")) {
                 @Override public void actionPerformed(ActionEvent e) {
-                    setIsButtonHiding(ButtonHiddingType.ALWAYS_HIDDEN);
+                    setIsButtonHiding(ButtonHidingType.ALWAYS_HIDDEN);
                 }
             });
             public DialogPopupMenu() {
-                alwaysShown.setSelected(buttonHiding == ButtonHiddingType.ALWAYS_SHOWN);
-                dynamic.setSelected(buttonHiding == ButtonHiddingType.DYNAMIC);
-                alwaysHidden.setSelected(buttonHiding == ButtonHiddingType.ALWAYS_HIDDEN);
+                alwaysShown.setSelected(buttonHiding == ButtonHidingType.ALWAYS_SHOWN);
+                dynamic.setSelected(buttonHiding == ButtonHidingType.DYNAMIC);
+                alwaysHidden.setSelected(buttonHiding == ButtonHidingType.ALWAYS_HIDDEN);
                 buttonHidingMenu.add(alwaysShown);
                 buttonHidingMenu.add(dynamic);
@@ -711,5 +723,5 @@
     protected void setIsDocked(boolean val) {
         if(buttonsPanel != null && buttonsHide != null) {
-            buttonsPanel.setVisible(val ? buttonHiding == ButtonHiddingType.ALWAYS_SHOWN : true);
+            buttonsPanel.setVisible(val ? buttonHiding == ButtonHidingType.ALWAYS_SHOWN : true);
         }
         isDocked = val;
@@ -724,12 +736,12 @@
     }
 
-    protected void setIsButtonHiding(ButtonHiddingType val) {
+    protected void setIsButtonHiding(ButtonHidingType val) {
         buttonHiding = val;
         PROP_BUTTON_HIDING.put(val);
         if (buttonsHide != null) {
-            buttonsHide.setIcon(ImageProvider.get("misc", val != ButtonHiddingType.ALWAYS_SHOWN ? "buttonhide" : "buttonshow"));
+            buttonsHide.setIcon(ImageProvider.get("misc", val != ButtonHidingType.ALWAYS_SHOWN ? "buttonhide" : "buttonshow"));
         }
         if (buttonsPanel != null) {
-            buttonsPanel.setVisible(val != ButtonHiddingType.ALWAYS_HIDDEN);
+            buttonsPanel.setVisible(val != ButtonHidingType.ALWAYS_HIDDEN);
         }
         stateChanged();
@@ -854,6 +866,6 @@
             if (Main.pref.getBoolean("dialog.dynamic.buttons", true)) {
                 Toolkit.getDefaultToolkit().addAWTEventListener(this, AWTEvent.MOUSE_MOTION_EVENT_MASK);
-                buttonsPanel.setVisible(buttonHiding == ButtonHiddingType.ALWAYS_SHOWN || !isDocked);
-            } else if (buttonHiding == ButtonHiddingType.ALWAYS_HIDDEN) {
+                buttonsPanel.setVisible(buttonHiding == ButtonHidingType.ALWAYS_SHOWN || !isDocked);
+            } else if (buttonHiding == ButtonHidingType.ALWAYS_HIDDEN) {
                 buttonsPanel.setVisible(false);
             }
@@ -870,5 +882,5 @@
     @Override
     public void eventDispatched(AWTEvent event) {
-        if(isShowing() && !isCollapsed && isDocked && buttonHiding == ButtonHiddingType.DYNAMIC) {
+        if(isShowing() && !isCollapsed && isDocked && buttonHiding == ButtonHidingType.DYNAMIC) {
             Rectangle b = this.getBounds();
             b.setLocation(getLocationOnScreen());
