Index: src/org/openstreetmap/josm/actions/ExtensionFileFilter.java =================================================================== --- src/org/openstreetmap/josm/actions/ExtensionFileFilter.java (revision 1992) +++ src/org/openstreetmap/josm/actions/ExtensionFileFilter.java (working copy) @@ -1,6 +1,8 @@ // License: GPL. Copyright 2007 by Immanuel Scholz and others package org.openstreetmap.josm.actions; +import static org.openstreetmap.josm.tools.I18n.tr; + import java.io.File; import java.util.ArrayList; import java.util.Arrays; @@ -30,16 +32,17 @@ private final String description; public final String defaultExtension; + /** + * list of supported formats + */ public static ArrayList importers = new ArrayList(Arrays.asList(new OsmImporter(), - new OsmGzipImporter(), new OsmBzip2Importer(), new GpxImporter(), new NMEAImporter())); + new OsmGzipImporter(), new OsmBzip2Importer(), new GpxImporter(), new NMEAImporter(), new AllFormatsImporter())); - // list of supported export formats public static ArrayList exporters = new ArrayList(Arrays.asList(new GpxExporter(), new OsmExporter(), new OsmGzipExporter(), new OsmBzip2Exporter())); - + /** * Construct an extension file filter by giving the extension to check after. - * */ public ExtensionFileFilter(String extension, String defExt, String description) { this.extension = extension; @@ -64,4 +67,18 @@ @Override public String getDescription() { return description; } + + /** + * Dummy importer that adds the "All Formats"-Filter when opening files + */ + public static class AllFormatsImporter extends FileImporter { + public AllFormatsImporter() { + super( + new ExtensionFileFilter("osm,xml,osm.gz,osm.bz2,osm.bz,gpx,gpx.gz,nmea,nme,nma,txt", "", tr("All Formats") + + " (*.gpx *.osm *.nmea ...)")); + } + @Override public boolean acceptFile(File pathname) { + return false; + } + } } Index: src/org/openstreetmap/josm/actions/DiskAccessAction.java =================================================================== --- src/org/openstreetmap/josm/actions/DiskAccessAction.java (revision 1992) +++ src/org/openstreetmap/josm/actions/DiskAccessAction.java (working copy) @@ -37,7 +37,7 @@ FileFilter defaultFilter = null; for (FileImporter imExporter: ExtensionFileFilter.importers) { fc.addChoosableFileFilter(imExporter.filter); - if (imExporter.filter.defaultExtension.endsWith("osm")) { + if (imExporter instanceof ExtensionFileFilter.AllFormatsImporter) { defaultFilter = imExporter.filter; } Index: src/org/openstreetmap/josm/io/OsmBzip2Importer.java =================================================================== --- src/org/openstreetmap/josm/io/OsmBzip2Importer.java (revision 1992) +++ src/org/openstreetmap/josm/io/OsmBzip2Importer.java (working copy) @@ -15,7 +15,7 @@ public class OsmBzip2Importer extends OsmImporter { public OsmBzip2Importer() { - super(new ExtensionFileFilter("osm.bz2, osm.bz", "osm.bz2", tr("OSM Server Files bzip2 compressed") + super(new ExtensionFileFilter("osm.bz2,osm.bz", "osm.bz2", tr("OSM Server Files bzip2 compressed") + " (*.osm.bz2 *.osm.bz)")); }