Index: /applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/GpsPlayer.java
===================================================================
--- /applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/GpsPlayer.java	(revision 23666)
+++ /applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/GpsPlayer.java	(revision 23667)
@@ -117,5 +117,8 @@
     public void jump(Time GPSAbsTime)
     {
-        goTo(getWaypoint(GPSAbsTime.getTime()-start.getTime().getTime())); //TODO replace Time by Date?
+    	Date zero=start.getTime();
+    	Time starttime = new Time(zero.getHours(),zero.getMinutes(),zero.getSeconds());
+    	long diff=GPSAbsTime.getTime()-starttime.getTime();
+        goTo(getWaypoint(diff)); //TODO replace Time by Date?
     }
     
@@ -339,5 +342,5 @@
         int pos = Math.round(relTime/1000);//TODO ugly quick hack   
         goTo(pos);
-        //if (autoCenter) Main.map.mapView.
+        if (autoCenter) Main.map.mapView.zoomTo(curr.getCoor());
     }
     
Index: /applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/PositionLayer.java
===================================================================
--- /applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/PositionLayer.java	(revision 23666)
+++ /applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/PositionLayer.java	(revision 23667)
@@ -122,5 +122,4 @@
         Point p;
         //TODO Source out redundant calculations
-        //TODO make icon transparent
         //draw all GPS points
         g.setColor(Color.YELLOW); //new Color(0,255,0,128)
@@ -172,5 +171,5 @@
                 icon.paintIcon(null, g, p.x-icon.getIconWidth()/2, p.y-icon.getIconHeight()/2);             
                 //g.drawString(mins.format(iconPosition.getTime()),p.x-10,p.y-10); //TODO when synced we might wan't to use a different layout
-                g.drawString(gpsTimeCode.format(iconPosition.getTime()),p.x-10,p.y-10);
+                g.drawString(gpsTimeCode.format(iconPosition.getTime()),p.x-15,p.y-15);
             }
         }
@@ -180,5 +179,5 @@
             p=Main.map.mapView.getPoint(gps.getCurr().getEastNorth());
             icon.paintIcon(null, g, p.x-icon.getIconWidth()/2, p.y-icon.getIconHeight()/2);         
-            g.drawString(gpsTimeCode.format(gps.getCurr().getTime()),p.x-10,p.y-10);
+            g.drawString(gpsTimeCode.format(gps.getCurr().getTime()),p.x-15,p.y-15);
             }
         }
Index: /applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/VideoMappingPlugin.java
===================================================================
--- /applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/VideoMappingPlugin.java	(revision 23666)
+++ /applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/VideoMappingPlugin.java	(revision 23667)
@@ -1,4 +1,6 @@
 package org.openstreetmap.josm.plugins.videomapping;
 
+import java.awt.BorderLayout;
+import java.awt.Panel;
 import java.awt.event.ActionEvent;
 import java.awt.event.KeyEvent;
@@ -6,10 +8,19 @@
 import java.text.SimpleDateFormat;
 import java.util.Date;
+
+import javax.swing.Box;
+import javax.swing.InputVerifier;
+import javax.swing.JButton;
 import javax.swing.JCheckBoxMenuItem;
+import javax.swing.JComponent;
+import javax.swing.JDialog;
 import javax.swing.JFileChooser;
+import javax.swing.JFormattedTextField;
 import javax.swing.JMenu;
 import javax.swing.JMenuItem;
 import javax.swing.JOptionPane;
+import javax.swing.JPanel;
 import javax.swing.JRadioButtonMenuItem;
+import javax.swing.text.MaskFormatter;
 
 import org.openstreetmap.josm.Main;
@@ -46,6 +57,6 @@
       private final String VM_JUMPLENGTH="videomapping.jumplength";
       private final String VM_LOOPLENGTH="videomapping.looplength";
+      private String deinterlacer;
       private boolean autocenter;
-      private String deinterlacer;
       private Integer jumplength,looplength;
       private String mru;
@@ -114,4 +125,5 @@
                         VRemove.setEnabled(true);
                         layer.getVideoPlayer().setSubtitleAction(VSubTitles);
+                        player=layer.getVideoPlayer();
                     }
                 }
@@ -127,5 +139,5 @@
         
         VStart = new JosmAction(tr("Play/Pause"), "audio-playpause", tr("starts/pauses video playback"),
-                Shortcut.registerShortcut("videomapping:startstop","",KeyEvent.VK_NUMPAD5, Shortcut.GROUP_DIRECT), false) {
+                Shortcut.registerShortcut("videomapping:startstop","Video: "+tr("Play/Pause"),KeyEvent.VK_NUMPAD5, Shortcut.GROUP_DIRECT), false) {
             
             public void actionPerformed(ActionEvent e) {                                
@@ -134,7 +146,30 @@
         };
         Vbackward = new JosmAction(tr("Backward"), "audio-prev", tr("jumps n sec back"),
-                Shortcut.registerShortcut("videomapping:backward","",KeyEvent.VK_NUMPAD4, Shortcut.GROUP_DIRECT), false) {
+                Shortcut.registerShortcut("videomapping:backward","Video: "+tr("Backward"),KeyEvent.VK_NUMPAD4, Shortcut.GROUP_DIRECT), false) {
             public void actionPerformed(ActionEvent e) {
                 player.backward();
+            }
+        };
+        Vforward= new JosmAction(tr("Forward"), "audio-next", tr("jumps n sec forward"),
+                Shortcut.registerShortcut("videomapping:forward","Video: "+tr("Forward"),KeyEvent.VK_NUMPAD6, Shortcut.GROUP_DIRECT), false) {
+            
+            public void actionPerformed(ActionEvent e) {
+                player.forward();
+                            
+            }
+        };
+        Vfaster= new JosmAction(tr("Faster"), "audio-faster", tr("faster playback"),
+                Shortcut.registerShortcut("videomapping:faster","Video: "+tr("Faster"),KeyEvent.VK_NUMPAD8, Shortcut.GROUP_DIRECT), false) {
+            
+            public void actionPerformed(ActionEvent e) {
+                player.faster();
+                            
+            }
+        };
+        Vslower= new JosmAction(tr("Slower"), "audio-slower", tr("slower playback"),
+                Shortcut.registerShortcut("videomapping:slower","Video: "+tr("Slower"),KeyEvent.VK_NUMPAD2, Shortcut.GROUP_DIRECT), false) {
+            
+            public void actionPerformed(ActionEvent e) {
+                player.slower();
                             
             }
@@ -142,46 +177,39 @@
         VJump= new JosmAction(tr("Jump To"), "jumpto", tr("jumps to the entered gps time"),null, false) {          
             public void actionPerformed(ActionEvent e) {
-                String s =JOptionPane.showInputDialog(tr("please enter GPS timecode"),"10:07:57");
-                SimpleDateFormat format= new SimpleDateFormat("hh:mm:ss");
-                Date t;
-                try {
-                    t = format.parse(s);
-                    if (t!=null)
-                        {                           
-                            player.jumpToGPSTime(t.getTime());
-                        }                       
-                } catch (ParseException e1) {
-                    // TODO Auto-generated catch block
-                    e1.printStackTrace();
-                }
-                            
-            }
-        };
-        Vforward= new JosmAction(tr("Forward"), "audio-next", tr("jumps n sec forward"),
-                Shortcut.registerShortcut("videomapping:forward","",KeyEvent.VK_NUMPAD6, Shortcut.GROUP_DIRECT), false) {
-            
-            public void actionPerformed(ActionEvent e) {
-                player.forward();
-                            
-            }
-        };
-        Vfaster= new JosmAction(tr("Faster"), "audio-faster", tr("faster playback"),
-                Shortcut.registerShortcut("videomapping:faster","",KeyEvent.VK_NUMPAD8, Shortcut.GROUP_DIRECT), false) {
-            
-            public void actionPerformed(ActionEvent e) {
-                player.faster();
-                            
-            }
-        };
-        Vslower= new JosmAction(tr("Slower"), "audio-slower", tr("slower playback"),
-                Shortcut.registerShortcut("videomapping:slower","",KeyEvent.VK_NUMPAD2, Shortcut.GROUP_DIRECT), false) {
-            
-            public void actionPerformed(ActionEvent e) {
-                player.slower();
-                            
-            }
+            	String s;
+            	try {
+            	JOptionPane d=new JOptionPane(tr("Jump to"), JOptionPane.QUESTION_MESSAGE, JOptionPane.OK_CANCEL_OPTION);
+            	JFormattedTextField inp = new JFormattedTextField(new MaskFormatter("##:##:##"));
+            	inp.setText("00:00:01");
+            	inp.setInputVerifier(new InputVerifier() {					
+					@Override
+					public boolean verify(JComponent input) {
+						// TODO Auto-generated method stub
+						return false;
+					}
+				});
+            	//TODO here we should show the GPS time range to the user
+            	if(d.showConfirmDialog(Main.main.panel,inp, tr("Jump to"),JOptionPane.OK_CANCEL_OPTION)==JOptionPane.OK_OPTION)
+            	{
+	            	s=inp.getText();
+	            	Date t;
+	                SimpleDateFormat sdf= new SimpleDateFormat("hh:mm:ss");
+	                t = sdf.parse(s);
+	                if (t!=null)
+	                {
+	                    player.jumpToGPSTime(t.getTime());
+	                }                       
+            	}
+            	} catch (ParseException e1) {
+	                    // TODO Auto-generated catch block
+	                    e1.printStackTrace();
+	            }
+
+            }
+                            
+            
         };
         Vloop= new JosmAction(tr("Loop"), "loop", tr("loops n sec around current position"),
-                Shortcut.registerShortcut("videomapping:loop","",KeyEvent.VK_NUMPAD7, Shortcut.GROUP_DIRECT), false) {
+                Shortcut.registerShortcut("videomapping:loop","Video: "+tr("loop"),KeyEvent.VK_NUMPAD7, Shortcut.GROUP_DIRECT), false) {
             
             public void actionPerformed(ActionEvent e) {
Index: /applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/video/GPSVideoPlayer.java
===================================================================
--- /applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/video/GPSVideoPlayer.java	(revision 23666)
+++ /applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/video/GPSVideoPlayer.java	(revision 23667)
@@ -4,4 +4,5 @@
 import java.awt.event.ActionListener;
 import java.io.File;
+import java.sql.Date;
 import java.sql.Time;
 import java.util.List;
@@ -12,4 +13,5 @@
 import javax.swing.JCheckBoxMenuItem;
 
+import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.gpx.WayPoint;
 import org.openstreetmap.josm.plugins.videomapping.GpsPlayer;
@@ -61,5 +63,7 @@
             public void playing(long time) {
                 //sync the GPS back
-                if(synced) gps.jump(getGPSTime(time));
+                if(synced) {
+                	gps.jump(getGPSTime(time));
+                }
                 
             }
@@ -148,10 +152,10 @@
     public void jumpToGPSTime(long gpsT)
     {
-       /* if(!synced)
+        if(!synced)
         {
             //when not synced we can just move the icon to the right position           
-            gps.jump(new Date(gpsT));
+            gps.jump(new Time(gpsT));
             Main.map.mapView.repaint();
-        }*/
+        }
         video.jump(getVideoTime(gpsT));
     }
