Index: images/dialogs/geoimage/togglegit.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Index: images/dialogs/geoimage/togglegit.png
===================================================================
--- images/dialogs/geoimage/togglegit.png	(revision 0)
+++ images/dialogs/geoimage/togglegit.png	(working copy)

Property changes on: images/dialogs/geoimage/togglegit.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+image/png
\ No newline at end of property
Index: src/org/openstreetmap/josm/gui/layer/geoimage/ShowThumbnailAction.java
===================================================================
--- src/org/openstreetmap/josm/gui/layer/geoimage/ShowThumbnailAction.java	(revision 0)
+++ src/org/openstreetmap/josm/gui/layer/geoimage/ShowThumbnailAction.java	(working copy)
@@ -0,0 +1,69 @@
+// License: GPL. See LICENSE file for details.
+package org.openstreetmap.josm.gui.layer.geoimage;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
+
+import java.awt.Component;
+import java.awt.event.ActionEvent;
+import java.util.List;
+import javax.swing.AbstractAction;
+import javax.swing.JCheckBoxMenuItem;
+
+import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.gui.layer.Layer;
+import org.openstreetmap.josm.gui.layer.Layer.LayerAction;
+import org.openstreetmap.josm.tools.ImageProvider;
+
+/**
+ * Toggle the image display between thumbnails and symbols.
+ * @since tbd
+ */
+public class ShowThumbnailAction extends AbstractAction implements LayerAction {
+
+    private final GeoImageLayer layer;
+
+    /**
+     * Constructs a new {@code ToggleGeoImageThumbAction} action.
+     * @param layer image layer
+     */
+    public ShowThumbnailAction(GeoImageLayer layer) {
+        super(tr("Show thumbnails"), ImageProvider.get("dialogs/geoimage/togglegit"));
+        putValue(SHORT_DESCRIPTION, tr("Show image thumbnails instead of icons."));
+        this.layer = layer;
+    }
+
+    /**
+     * This is called after the menu entry was selected.
+     * @param arg0 action event
+     */
+    @Override
+    public void actionPerformed(ActionEvent arg0) {
+	layer.setUseThumbs(!layer.isUseThumbs());
+	Main.map.mapView.repaint();
+    }
+
+    /**
+     * Check if there is any suitable image to be toggled.
+     * @param layer image layer
+     * @return {@code true} if there are images to be toggled,
+     *         {@code false} otherwise
+     */
+    private static boolean enabled(GeoImageLayer layer) {
+        return !layer.data.isEmpty();
+    }
+
+    /** Create actual menu entry and define if it is enabled or not. */
+    @Override
+    public Component createMenuComponent() {
+        JCheckBoxMenuItem toggleItem = new JCheckBoxMenuItem(this);
+        toggleItem.setEnabled(enabled(layer));
+        toggleItem.setState(layer.isUseThumbs());
+        return toggleItem;
+    }
+
+    /** Check if the current layer is supported. */
+    @Override
+    public boolean supportLayers(List<Layer> layers) {
+        return layers.size() == 1 && layers.get(0) instanceof GeoImageLayer;
+    }
+}
Index: src/org/openstreetmap/josm/gui/layer/geoimage/GeoImageLayer.java
===================================================================
--- src/org/openstreetmap/josm/gui/layer/geoimage/GeoImageLayer.java	(revision 7920)
+++ src/org/openstreetmap/josm/gui/layer/geoimage/GeoImageLayer.java	(working copy)
@@ -330,6 +330,7 @@
         entries.add(new RenameLayerAction(null, this));
         entries.add(SeparatorLayerAction.INSTANCE);
         entries.add(new CorrelateGpxWithImages(this));
+        entries.add(new ShowThumbnailAction(this));
         if (!menuAdditions.isEmpty()) {
             entries.add(SeparatorLayerAction.INSTANCE);
             entries.addAll(menuAdditions);
