Ignore:
Timestamp:
2012-03-29T22:37:42+02:00 (13 years ago)
Author:
xeen
Message:

automatically add file extensions added by plugins to the "All Formats" importer.

If you have the PBF plugin installed it should now be possible to open .osm.pbf
files without selecting the PBF importer first.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/io/AllFormatsImporter.java

    r4533 r5131  
    55
    66import java.io.File;
     7import java.util.Iterator;
    78
    89import org.openstreetmap.josm.actions.ExtensionFileFilter;
     
    1314public class AllFormatsImporter extends FileImporter {
    1415    public AllFormatsImporter() {
    15         super(new ExtensionFileFilter("osm,xml,osm.gz,osm.bz2,osm.bz,osc,gpx,gpx.gz,nmea,nme,nma,log,txt,wms,jpg", "", tr("All Formats")
    16                     + " (*.gpx *.osm *.nmea *.jpg ...)"));
     16        super(new ExtensionFileFilter(getAllExtensions(), "", tr("All Formats")
     17                + " (*.gpx *.osm *.nmea *.jpg ...)"));
    1718    }
     19
    1820    @Override public boolean acceptFile(File pathname) {
    1921        return false;
    2022    }
     23
     24    /**
     25     * Builds list of all supported extensions by the registered FileImporters.
     26     * @return String comma separated list of supported file extensions
     27     */
     28    private static String getAllExtensions() {
     29        Iterator<FileImporter> imp = ExtensionFileFilter.importers.iterator();
     30        StringBuilder ext = new StringBuilder();
     31        while(imp.hasNext()) {
     32            FileImporter fi = imp.next();
     33            if(fi instanceof AllFormatsImporter) {
     34                continue;
     35            }
     36            ext.append(fi.filter.getExtensions());
     37            ext.append(",");
     38        }
     39        // remove last comma
     40        return ext.substring(0, ext.length()-1).toString();
     41    }
    2142}
Note: See TracChangeset for help on using the changeset viewer.