Index: src/org/openstreetmap/josm/gui/MainMenu.java
===================================================================
--- src/org/openstreetmap/josm/gui/MainMenu.java	(revision 6061)
+++ src/org/openstreetmap/josm/gui/MainMenu.java	(working copy)
@@ -210,21 +210,25 @@
     public final JMenu editMenu = addMenu(marktr("Edit"), KeyEvent.VK_E, 1, ht("/Menu/Edit"));
     public final JMenu viewMenu = addMenu(marktr("View"), KeyEvent.VK_V, 2, ht("/Menu/View"));
     public final JMenu toolsMenu = addMenu(marktr("Tools"), KeyEvent.VK_T, 3, ht("/Menu/Tools"));
-    public final JMenu presetsMenu = addMenu(marktr("Presets"), KeyEvent.VK_P, 4, ht("/Menu/Presets"));
+    public final JMenu moreToolsMenu = addMenu(marktr("More tools"), KeyEvent.VK_Q, 4, ht("/Menu/MoreTools"));
+    public final JMenu dataMenu = addMenu(marktr("Data"), KeyEvent.VK_Y, 5, ht("/Menu/Data"));
+    public final JMenu selectionMenu = addMenu(marktr("Selection"), KeyEvent.VK_N, 6, ht("/Menu/Selection"));
+    public final JMenu presetsMenu = addMenu(marktr("Presets"), KeyEvent.VK_P, 7, ht("/Menu/Presets"));
     public final ImageryMenu imageryMenu =
-        (ImageryMenu)addMenu(new ImageryMenu(), marktr("Imagery"), KeyEvent.VK_I, 5, ht("/Menu/Imagery"));
+        (ImageryMenu)addMenu(new ImageryMenu(), marktr("Imagery"), KeyEvent.VK_I, 8, ht("/Menu/Imagery"));
     /** the window menu is split into several groups. The first is for windows that can be opened from
      * this menu any time, e.g. the changeset editor. The second group is for toggle dialogs and the third
      * group is for currently open windows that cannot be toggled, e.g. relation editors. It's recommended
      * to use WINDOW_MENU_GROUP to determine the group integer.
      */
-    public final JMenu windowMenu = addMenu(marktr("Windows"), KeyEvent.VK_W, 6, ht("/Menu/Windows"));
+    public final JMenu gpsMenu = addMenu(marktr("GPS tracks"), KeyEvent.VK_G, 9, ht("/Plugin/LiveGPS"));
+    public final JMenu windowMenu = addMenu(marktr("Windows"), KeyEvent.VK_W, 10, ht("/Menu/Windows"));
     public static enum WINDOW_MENU_GROUP { ALWAYS, TOGGLE_DIALOG, VOLATILE }
 
     public JMenu audioMenu = null;
-    public final JMenu helpMenu = addMenu(marktr("Help"), KeyEvent.VK_H, 7, ht("/Menu/Help"));
+    public final JMenu helpMenu = addMenu(marktr("Help"), KeyEvent.VK_H, 11, ht("/Menu/Help"));
 
-    public final int defaultMenuPos = 7;
+    public final int defaultMenuPos = 11;
 
     public final JosmAction moveUpAction = new MoveAction(MoveAction.Direction.UP);
     public final JosmAction moveDownAction = new MoveAction(MoveAction.Direction.DOWN);
@@ -319,6 +323,7 @@
         if (ks != null) {
             menuitem.setAccelerator(ks);
         }
+        if (!menu.isVisible()) menu.setVisible(true);
         return menuitem;
     }
 
@@ -427,7 +432,11 @@
 
     public MainMenu() {
         JMenuItem current;
-
+        
+        moreToolsMenu.setVisible(false);
+        dataMenu.setVisible(false);
+        gpsMenu.setVisible(false);
+        
         add(fileMenu, newAction);
         add(fileMenu, openFile);
         fileMenu.add(recentlyOpened);
@@ -479,9 +488,6 @@
         add(editMenu,merge);
         add(editMenu,mergeSelected);
         editMenu.addSeparator();
-        add(editMenu, selectAll);
-        add(editMenu, unselectAll);
-        editMenu.addSeparator();
         add(editMenu, search);
         editMenu.addSeparator();
         add(editMenu, preferences);
@@ -543,6 +549,9 @@
 
         add(presetsMenu, presetSearchAction);
         presetsMenu.addSeparator();
+        
+        add(selectionMenu, selectAll);
+        add(selectionMenu, unselectAll);
 
         add(toolsMenu, splitWay);
         add(toolsMenu, combineWay);
