Ignore:
Timestamp:
2006-04-01T13:01:41+02:00 (20 years ago)
Author:
imi
Message:
  • added more context menu items to layer list
  • added GPX export (raw gps and osm)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/org/openstreetmap/josm/actions/OpenAction.java

    r71 r78  
    1616import org.jdom.JDOMException;
    1717import org.openstreetmap.josm.Main;
    18 import org.openstreetmap.josm.data.coor.LatLon;
    1918import org.openstreetmap.josm.data.osm.DataSet;
    2019import org.openstreetmap.josm.gui.MapFrame;
     
    2221import org.openstreetmap.josm.gui.layer.OsmDataLayer;
    2322import org.openstreetmap.josm.gui.layer.RawGpsDataLayer;
     23import org.openstreetmap.josm.gui.layer.RawGpsDataLayer.GpsPoint;
    2424import org.openstreetmap.josm.io.GpxReader;
    2525import org.openstreetmap.josm.io.OsmReader;
     
    3535 * @author imi
    3636 */
    37 public class OpenAction extends JosmAction {
     37public class OpenAction extends DiskAccessAction {
    3838
    3939        /**
     
    4545
    4646        public void actionPerformed(ActionEvent e) {
    47                 JFileChooser fc = new JFileChooser(Main.main.currentDirectory);
    48                 for (int i = 0; i < ExtensionFileFilter.filters.length; ++i)
    49                         fc.addChoosableFileFilter(ExtensionFileFilter.filters[i]);
    50                 fc.setAcceptAllFileFilterUsed(true);
    51 
    52                 if (fc.showOpenDialog(Main.main) != JFileChooser.APPROVE_OPTION)
     47                JFileChooser fc = createAndOpenFileChooser(true, true);
     48                if (fc == null)
    5349                        return;
    54                
    55                 Main.main.currentDirectory = fc.getCurrentDirectory();
    56 
    57                 File filename = fc.getSelectedFile();
    58                 if (filename == null)
    59                         return;
    60 
    61                 openFile(filename);
     50                File[] files = fc.getSelectedFiles();
     51                for (int i = files.length; i > 0; --i)
     52                        openFile(files[i-1]);
    6253        }
    6354
     
    7162
    7263                        if (asRawData(fn)) {
    73                                 Collection<Collection<LatLon>> data;
     64                                Collection<Collection<GpsPoint>> data;
    7465                                if (ExtensionFileFilter.filters[ExtensionFileFilter.GPX].acceptName(fn)) {
    7566                                        data = new RawGpsReader(new FileReader(filename)).parse();
    7667                                } else if (ExtensionFileFilter.filters[ExtensionFileFilter.CSV].acceptName(fn)) {
    77                                         data = new LinkedList<Collection<LatLon>>();
     68                                        data = new LinkedList<Collection<GpsPoint>>();
    7869                                        data.add(new RawCsvReader(new FileReader(filename)).parse());
    7970                                } else
     
    8273                        } else {
    8374                                DataSet dataSet;
    84                                 if (ExtensionFileFilter.filters[ExtensionFileFilter.GPX].acceptName(fn))
     75                                if (ExtensionFileFilter.filters[ExtensionFileFilter.GPX].acceptName(fn)) {
     76                                        JOptionPane.showMessageDialog(Main.main, "Warning: Soon, it will be no longer possible to open GPX files as osm data. Please convert your files to .osm format.");
    8577                                        dataSet = new GpxReader(new FileReader(filename)).parse();
    86                                 else if (ExtensionFileFilter.filters[ExtensionFileFilter.OSM].acceptName(fn)) {
     78                                } else if (ExtensionFileFilter.filters[ExtensionFileFilter.OSM].acceptName(fn)) {
    8779                                        try {
    8880                                                // temporary allow loading of old xml format.
     
    9183                                                if (x.getMessage().equals("Unknown version: null")) {
    9284                                                        int answer = JOptionPane.showConfirmDialog(Main.main,
    93                                                                         "This seems to be an old 0.2 API XML file.\n" +
     85                                                                        fn+" seems to be an old 0.2 API XML file.\n" +
    9486                                                                        "JOSM can try to open it with the old parser. This option\n" +
    9587                                                                        "will not be available in future JOSM version. You should\n" +
     
    10496                                        }                                       
    10597                                } else if (ExtensionFileFilter.filters[ExtensionFileFilter.CSV].acceptName(fn)) {
    106                                         JOptionPane.showMessageDialog(Main.main, "CSV Data import for non-GPS data is not implemented yet.");
     98                                        JOptionPane.showMessageDialog(Main.main, fn+": CSV Data import for non-GPS data is not implemented yet.");
    10799                                        return;
    108100                                } else {
    109                                         JOptionPane.showMessageDialog(Main.main, "Unknown file extension: "+fn.substring(filename.getName().lastIndexOf('.')+1));
     101                                        JOptionPane.showMessageDialog(Main.main, fn+": Unknown file extension: "+fn.substring(filename.getName().lastIndexOf('.')+1));
    110102                                        return;
    111103                                }
     
    140132                        return false;
    141133                return JOptionPane.YES_OPTION == JOptionPane.showConfirmDialog(
    142                                 Main.main, "Do you want to open the file as raw gps data?",
     134                                Main.main, "Do you want to open "+fn+" as raw gps data?",
    143135                                "Open as raw data?", JOptionPane.YES_NO_OPTION);
    144136        }
Note: See TracChangeset for help on using the changeset viewer.