Index: applications/editors/josm/plugins/infomode/build.xml
===================================================================
--- applications/editors/josm/plugins/infomode/build.xml	(revision 33719)
+++ applications/editors/josm/plugins/infomode/build.xml	(revision 33720)
@@ -5,5 +5,5 @@
     <property name="commit.message" value="InfoMode : for shortcurt parser"/>
     <!-- enter the *lowest* JOSM version this plugin is currently compatible with -->
-    <property name="plugin.main.version" value="10580"/>
+    <property name="plugin.main.version" value="12630"/>
 
     <!-- Configure these properties (replace "..." accordingly).
Index: applications/editors/josm/plugins/infomode/src/org/openstreetmap/josm/plugins/infomode/InfoMode.java
===================================================================
--- applications/editors/josm/plugins/infomode/src/org/openstreetmap/josm/plugins/infomode/InfoMode.java	(revision 33719)
+++ applications/editors/josm/plugins/infomode/src/org/openstreetmap/josm/plugins/infomode/InfoMode.java	(revision 33720)
@@ -30,9 +30,10 @@
 import org.openstreetmap.josm.data.gpx.GpxTrackSegment;
 import org.openstreetmap.josm.data.gpx.WayPoint;
-import org.openstreetmap.josm.gui.MapFrame;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.MapView;
 import org.openstreetmap.josm.gui.layer.GpxLayer;
 import org.openstreetmap.josm.gui.layer.Layer;
 import org.openstreetmap.josm.gui.layer.MapViewPaintable;
+import org.openstreetmap.josm.tools.Logging;
 import org.openstreetmap.josm.tools.Shortcut;
 
@@ -50,8 +51,8 @@
     private InfoPanel infoPanel;
 
-    InfoMode(MapFrame mapFrame) {
+    InfoMode() {
         super(tr("InfoMode"), "infomode.png", tr("GPX info mode"),
                 Shortcut.registerShortcut("mapmode:infomode", tr("Mode: {0}", tr("GPX info mode")), KeyEvent.VK_BACK_SLASH, Shortcut.DIRECT),
-                mapFrame, Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+                Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
         infoPanel = new InfoPanel();
     }
@@ -63,8 +64,8 @@
         if (!isEnabled()) return;
         super.enterMode();
-        mv = Main.map.mapView;
-        Main.map.mapView.addMouseListener(this);
-        Main.map.mapView.addMouseMotionListener(this);
-        Main.map.mapView.addTemporaryLayer(this);
+        mv = MainApplication.getMap().mapView;
+        mv.addMouseListener(this);
+        mv.addMouseMotionListener(this);
+        mv.addTemporaryLayer(this);
         /*if (!(Main.main.getActiveLayer() instanceof GpxLayer)) {
             boolean answer = ConditionalOptionPaneUtil.showConfirmationDialog(
@@ -75,6 +76,7 @@
         }*/
 
-        Main.map.statusLine.setHelpText(tr("Move the mouse to show trackpoint info for current layer. Hold shift to highlight tracks"));
-        Main.map.statusLine.repaint();
+        MainApplication.getMap().statusLine.setHelpText(
+                tr("Move the mouse to show trackpoint info for current layer. Hold shift to highlight tracks"));
+        MainApplication.getMap().statusLine.repaint();
 
         try {
@@ -82,5 +84,5 @@
                     AWTEvent.KEY_EVENT_MASK);
         } catch (SecurityException ex) {
-            Main.error(ex);
+            Logging.error(ex);
         }
     }
@@ -89,8 +91,8 @@
     public void exitMode() {
         super.exitMode();
-        Main.map.mapView.removeMouseListener(this);
-        Main.map.mapView.removeMouseMotionListener(this);
-
-        Main.map.mapView.removeTemporaryLayer(this);
+        MainApplication.getMap().mapView.removeMouseListener(this);
+        MainApplication.getMap().mapView.removeMouseMotionListener(this);
+
+        MainApplication.getMap().mapView.removeTemporaryLayer(this);
         if (oldPopup != null) oldPopup.hide();
 
@@ -98,5 +100,5 @@
             Toolkit.getDefaultToolkit().removeAWTEventListener(this);
         } catch (SecurityException ex) {
-            Main.error(ex);
+            Logging.error(ex);
         }
 
@@ -180,5 +182,5 @@
                 e.getKeyCode() == KeyEvent.VK_ENTER ||
                 e.getKeyCode() == KeyEvent.VK_ESCAPE) {
-            Main.map.selectSelectTool(false);
+            MainApplication.getMap().selectSelectTool(false);
         }
     }
@@ -198,11 +200,12 @@
     @Override
     protected void updateStatusLine() {
-        Main.map.statusLine.setHelpText(statusText);
-        Main.map.statusLine.repaint();
+        MainApplication.getMap().statusLine.setHelpText(statusText);
+        MainApplication.getMap().statusLine.repaint();
     }
 // </editor-fold>
 
     private void repaint() {
-        if (Main.map != null) Main.map.mapView.repaint();
+        if (MainApplication.getMap() != null)
+            MainApplication.getMap().mapView.repaint();
     }
     /*private void setStatusLine(String tr) {
@@ -244,5 +247,5 @@
                     oldWp = null; // next segment will have new previous point
                     for (WayPoint S : seg.getWayPoints()) {
-                        d = S.getEastNorth().distance(pos);
+                        d = S.getEastNorth(Main.getProjection()).distance(pos);
 
                         if (d < minDist && d < maxD) {
@@ -268,5 +271,5 @@
                     Point oldP = null, curP = null; // next segment will have new previous point
                         for (WayPoint S : seg.getWayPoints()) {
-                            curP = mv.getPoint(S.getEastNorth());
+                            curP = mv.getPoint(S.getEastNorth(Main.getProjection()));
                             if (oldP != null) g.drawLine(oldP.x, oldP.y, curP.x, curP.y);
                             oldP = curP;
Index: applications/editors/josm/plugins/infomode/src/org/openstreetmap/josm/plugins/infomode/InfoModePlugin.java
===================================================================
--- applications/editors/josm/plugins/infomode/src/org/openstreetmap/josm/plugins/infomode/InfoModePlugin.java	(revision 33719)
+++ applications/editors/josm/plugins/infomode/src/org/openstreetmap/josm/plugins/infomode/InfoModePlugin.java	(revision 33720)
@@ -2,6 +2,6 @@
 package org.openstreetmap.josm.plugins.infomode;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.gui.IconToggleButton;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.MapFrame;
 import org.openstreetmap.josm.plugins.Plugin;
@@ -17,5 +17,5 @@
     public void mapFrameInitialized(MapFrame oldFrame, MapFrame newFrame) {
         if (oldFrame == null && newFrame != null) {
-            Main.map.addMapMode(new IconToggleButton(new InfoMode(Main.map)));
+            MainApplication.getMap().addMapMode(new IconToggleButton(new InfoMode()));
         }
     }
Index: applications/editors/josm/plugins/infomode/src/org/openstreetmap/josm/plugins/infomode/InfoPanel.java
===================================================================
--- applications/editors/josm/plugins/infomode/src/org/openstreetmap/josm/plugins/infomode/InfoPanel.java	(revision 33719)
+++ applications/editors/josm/plugins/infomode/src/org/openstreetmap/josm/plugins/infomode/InfoPanel.java	(revision 33720)
@@ -7,6 +7,6 @@
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
+import java.awt.event.MouseAdapter;
 import java.awt.event.MouseEvent;
-import java.awt.event.MouseListener;
 import java.text.DateFormat;
 import java.util.Collection;
@@ -20,9 +20,10 @@
 import javax.swing.JPanel;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.gpx.GpxTrack;
 import org.openstreetmap.josm.data.gpx.GpxTrackSegment;
 import org.openstreetmap.josm.data.gpx.WayPoint;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.tools.GBC;
+import org.openstreetmap.josm.tools.Logging;
 import org.openstreetmap.josm.tools.OpenBrowser;
 
@@ -55,5 +56,5 @@
         add(but2, GBC.eop().insets(10, 5, 0, 0));
         // lightweight hyperlink
-        label6.addMouseListener(new MouseListener() {
+        label6.addMouseListener(new MouseAdapter() {
             @Override
             public void mouseClicked(MouseEvent e) {
@@ -61,16 +62,4 @@
                 OpenBrowser.displayUrl(s.substring(9, s.length()-11));
             }
-
-            @Override
-            public void mousePressed(MouseEvent e) { }
-
-            @Override
-            public void mouseReleased(MouseEvent e) { }
-
-            @Override
-            public void mouseEntered(MouseEvent e) { }
-
-            @Override
-            public void mouseExited(MouseEvent e) { }
         });
         but1.addActionListener(new ActionListener() {
@@ -78,5 +67,5 @@
             public void actionPerformed(ActionEvent e) {
                 if (tracks != null) tracks.remove(trk);
-                Main.map.mapView.repaint();
+                MainApplication.getMap().mapView.repaint();
             }
         });
@@ -109,9 +98,7 @@
             }
             tracks.removeAll(toRemove);
-            Main.map.mapView.repaint();
+            MainApplication.getMap().mapView.repaint();
             }
         });
-
-
     }
 
@@ -139,5 +126,5 @@
             s1 = String.format("H=%3.1f   ", Double.parseDouble(s));
         } catch (Exception e) {
-            Main.warn(e);
+            Logging.warn(e);
         }
         s1 = s1+"L="+(int) trk.length();
