Index: /trunk/geticons.pl
===================================================================
--- /trunk/geticons.pl	(revision 2808)
+++ /trunk/geticons.pl	(revision 2808)
@@ -0,0 +1,130 @@
+#! /usr/bin/perl -w
+# short tool to find out all used icons and allows deleting unused icons
+# when building release files
+
+my @default = (
+  "styles/standard/*.xml",
+  "presets/*.xml",
+  "src/org/openstreetmap/josm/*.java",
+  "src/org/openstreetmap/josm/*/*.java",
+  "src/org/openstreetmap/josm/*/*/*.java",
+  "src/org/openstreetmap/josm/*/*/*/*.java",
+  "src/org/openstreetmap/josm/*/*/*/*/*.java",
+  "src/org/openstreetmap/josm/*/*/*/*/*/*.java"
+);
+
+my %icons;
+
+my $o = $/;
+
+for my $arg (@ARGV ? @ARGV : @default)
+{
+  for my $file (glob($arg))
+  {
+    open(FILE,"<",$file) or die "Could not open $file\n";
+    #print "Read file $file\n";
+    $/ = $file =~ /\.java$/ ? ";" : $o;
+    my $extends = "";
+    while(my $l = <FILE>)
+    {
+      if($l =~ /src\s*=\s*["'](.*?)["']/)
+      {
+        ++$icons{"styles/standard/$1"};
+      }
+      elsif($l =~ /icon\s*=\s*["'](.*?)["']/)
+      {
+        ++$icons{$1};
+      }
+
+      if($l =~ /ImageProvider\.get\(\"([^\"]*?)\"\)/)
+      {
+        my $i = $1;
+        $i .= ".png" if !($i =~ /\.png$/);
+        ++$icons{$i};
+      }
+      if($l =~ /new\s+ImageLabel\(\"(.*?)\"/)
+      {
+        my $i = "statusline/$1";
+        $i .= ".png" if !($i =~ /\.png$/);
+        ++$icons{$i};
+      }
+      if($l =~ /createPreferenceTab\(\"(.*?)\"/)
+      {
+        my $i = "preferences/$1";
+        $i .= ".png" if !($i =~ /\.png$/);
+        ++$icons{$i};
+      }
+      if($l =~ /ImageProvider\.get\(\"(.*?)\",\s+\"(.*?)\"\)/)
+      {
+        my $i = "$1/$2";
+        $i .= ".png" if !($i =~ /\.png$/);
+        ++$icons{$i};
+      }
+      if($l =~ /ImageProvider\.getCursor\(\"(.*?)\",\s+\"(.*?)\"\)/)
+      {
+        my $i = "cursor/modifier/$2";
+        $i .= ".png" if !($i =~ /\.png$/);
+        ++$icons{$i};
+        $i = "cursor/$1";
+        $i .= ".png" if !($i =~ /\.png$/);
+        ++$icons{$i};
+      }
+      if($l =~ /super\(\s*tr\(\".*?\"\),\s*\"(.*?)\"/s)
+      {
+        my $i = "$extends$1";
+        $i .= ".png" if !($i =~ /\.png$/);
+        ++$icons{$i};
+      }
+
+      if($l =~ /allowedtypes\s+=.*\{(.*)\}/s)
+      {
+        my $t = $1;
+        while($t =~ /\"(.*?)\"/g)
+        {
+          ++$icons{"Mf_$1.png"};
+        }
+      }
+      if($l =~ /\.setButtonIcons.*\{(.*)\}/)
+      {
+        my $t = $1;
+        while($t =~ /\"(.*?)\"/g)
+        {
+          my $i = $1;
+          $i .= ".png" if !($i =~ /\.png$/);
+          ++$icons{$i};
+        }
+      }
+      if($l =~ /extends MapMode/)
+      {
+        $extends = "mapmode/";
+      }
+      if($l =~ /extends ToggleDialog/)
+      {
+        $extends = "dialogs/";
+      }
+    }
+    close FILE;
+  }
+}
+
+my %haveicons;
+
+for($i = 0; my @ifiles = glob("images".("/*" x $i).".png"); ++$i)
+{
+  for my $ifile (sort @ifiles)
+  {
+    $ifile =~ s/^images\///;
+    $haveicons{$ifile} = 1;
+  }
+}
+
+for my $img (sort keys %icons)
+{
+  print STDERR "File $img does not exist!\n" if(!-f "images/$img");
+  delete $haveicons{$img};
+}
+
+for my $img (sort keys %haveicons)
+{
+  print "$img\n";
+}
Index: /trunk/src/org/openstreetmap/josm/actions/mapmode/PlayHeadDragMode.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/mapmode/PlayHeadDragMode.java	(revision 2807)
+++ /trunk/src/org/openstreetmap/josm/actions/mapmode/PlayHeadDragMode.java	(revision 2808)
@@ -27,5 +27,5 @@
 
     public PlayHeadDragMode(PlayHeadMarker m) {
-        super("play head drag", "playheaddrag", "play head drag", null,
+        super(tr("Drag play head"), "playheaddrag", tr("Drag play head"), null,
         Main.map, Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR));
         playHeadMarker = m;
