Index: src/org/openstreetmap/josm/gui/preferences/ToolbarPreferences.java
===================================================================
--- src/org/openstreetmap/josm/gui/preferences/ToolbarPreferences.java	(revision 2031)
+++ src/org/openstreetmap/josm/gui/preferences/ToolbarPreferences.java	(working copy)
@@ -83,10 +83,11 @@
                     }
                     for (TreePath selectedAction : actionsTree.getSelectionPaths()) {
                         DefaultMutableTreeNode node = (DefaultMutableTreeNode) selectedAction.getLastPathComponent();
-                        if (node.getUserObject() == null)
+                        if (node.getUserObject() == null) {
                             selected.add(leadItem++, null);
-                        else if (node.getUserObject() == null || node.getUserObject() instanceof Action)
+                        } else if (node.getUserObject() == null || node.getUserObject() instanceof Action) {
                             selected.add(leadItem++, ((Action)node.getUserObject()).getValue("toolbar"));
+                        }
                     }
                 } else if (e.getActionCommand().equals(">") && selectedList.getSelectedIndex() != -1) {
                     while (selectedList.getSelectedIndex() != -1) {
@@ -159,12 +160,13 @@
 
         private JButton createButton(String name) {
             JButton b = new JButton();
-            if (name.equals("up"))
+            if (name.equals("up")) {
                 b.setIcon(ImageProvider.get("dialogs", "up"));
-            else if (name.equals("down"))
+            } else if (name.equals("down")) {
                 b.setIcon(ImageProvider.get("dialogs", "down"));
-            else
+            } else {
                 b.setText(name);
+            }
             b.addActionListener(moveAction);
             b.setActionCommand(name);
             return b;
@@ -212,8 +214,9 @@
             selectedList.addListSelectionListener(new ListSelectionListener(){
                 public void valueChanged(ListSelectionEvent e) {
                     boolean sel = selectedList.getSelectedIndex() != -1;
-                    if (sel)
+                    if (sel) {
                         actionsTree.clearSelection();
+                    }
                     upButton.setEnabled(sel);
                     downButton.setEnabled(sel);
                 }
@@ -234,9 +237,8 @@
                 @Override
                 public boolean canImport(JComponent comp, DataFlavor[] transferFlavors) {
                     for (DataFlavor f : transferFlavors) {
-                        if (ACTION_FLAVOR.equals(f)) {
+                        if (ACTION_FLAVOR.equals(f))
                             return true;
-                        }
                     }
                     return false;
                 }
@@ -256,18 +258,20 @@
                         Object leadItem = dropIndex >= 0 ? selected.elementAt(dropIndex) : null;
                         int dataLength = draggedData.length;
 
-                        if (leadItem != null)
+                        if (leadItem != null) {
                             for (int i = 0; i < dataLength; i++)
                                 if (leadItem.equals(draggedData[i]))
                                     return false;
+                        }
 
                         int dragLeadIndex = -1;
                         boolean localDrop = "list".equals(movingComponent);
 
                         if (localDrop) {
                             dragLeadIndex = selected.indexOf(draggedData[0]);
-                            for (int i = 0; i < dataLength; i++)
+                            for (int i = 0; i < dataLength; i++) {
                                 selected.removeElement(draggedData[i]);
+                            }
                         }
                         int[] indices = new int[dataLength];
 
@@ -396,20 +400,22 @@
 
             selected.removeAllElements();
             for (String s : getToolString()) {
-                if (s.equals("|"))
+                if (s.equals("|")) {
                     selected.addElement(null);
-                else if (Main.toolbar.getAction(s) != null)
+                } else if (Main.toolbar.getAction(s) != null) {
                     selected.addElement(s);
+                }
             }
         }
 
         public boolean ok() {
             Collection<String> t = new LinkedList<String>();
             for (int i = 0; i < selected.size(); ++i) {
-                if (selected.get(i) == null)
+                if (selected.get(i) == null) {
                     t.add("|");
-                else
+                } else {
                     t.add((String)((Main.toolbar.getAction((String)selected.get(i))).getValue("toolbar")));
+                }
             }
             Main.pref.putCollection("toolbar", t);
             Main.toolbar.refreshToolbarControl();
@@ -450,8 +456,9 @@
     public Action getAction(String s)
     {
         Action e = actions.get(s);
-        if(e == null)
+        if(e == null) {
             e = regactions.get(s);
+        }
         return e;
     }
 
@@ -460,14 +467,32 @@
         loadAction(rootActionsNode, Main.main.menu);
         for(Map.Entry<String, Action> a : regactions.entrySet())
         {
-            if(actions.get(a.getKey()) == null)
+            if(actions.get(a.getKey()) == null) {
                 rootActionsNode.add(new DefaultMutableTreeNode(a.getValue()));
+            }
         }
         rootActionsNode.add(new DefaultMutableTreeNode(null));
     }
 
-    private static final String[] deftoolbar = {"open", "save", "exportgpx", "|",
-    "download", "upload", "|", "undo", "redo", "|", "preference"};
+    // This is the toolbar as suggested in #3366. If you have comments or ideas,
+    // please add them there and reopen the ticket if it's closed.
+    // http://josm.openstreetmap.de/ticket/3366
+    private static final String[] deftoolbar = {
+        "open", "save", "|", "download", "upload", "|", "undo", "redo", "|",
+        "dialogs/search", "preference", "|", "splitway", "combineway", "ortho",
+        "wayflip", "|", "tagging_Streets/Primary", "tagging_Streets/Secondary",
+        "tagging_Streets/Tertiary", "tagging_Streets/Residential",
+        "tagging_Streets/Living Street", "tagging_Ways/Footway",
+        "tagging_Ways/Steps", "tagging_Ways/Cycleway", "tagging_Ways/Track",
+        "tagging_Railway/Rail", "|", "tagging_Railway/Level Crossing",
+        "tagging_Waypoints/Pedestrian Crossing", "tagging_Waypoints/Turning Circle",
+        "|", "tagging_Car/Parking", "tagging_Public Transport/Bus Stop",
+        "tagging_Public Transport/Station", "tagging_Public Transport/Tram Stop",
+        "|", "tagging_Amenities/Toilets", "tagging_Amenities/Telephone",
+        "tagging_Amenities/Post Box", "tagging_Amenities/Fountain",
+        "tagging_Amenities/Recycling", "|", "tagging_Cash/Bank",
+        "tagging_Shops/Supermarket", "tagging_Shops/Butcher", "tagging_Shops/Baker"
+    };
 
     private static Collection<String> getToolString() {
         return Main.pref.getCollection("toolbar", Arrays.asList(deftoolbar));
@@ -491,10 +516,11 @@
         loadActions();
         control.removeAll();
         for (String s : getToolString()) {
-            if (s.equals("|"))
+            if (s.equals("|")) {
                 control.addSeparator();
-            else
+            } else {
                 control.add(getAction(s));
+            }
         }
         control.setVisible(control.getComponentCount() != 0);
     }
