Ignore:
Timestamp:
2013-07-31T19:55:26+02:00 (12 years ago)
Author:
akks
Message:

[josm/ImageWayPoint] move opening to File/Open

File:
1 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/imagewaypoint/src/org/insignificant/josm/plugins/imagewaypoint/ImageWayPointPlugin.java

    r23191 r29799  
    55import java.awt.event.ActionEvent;
    66import java.io.File;
     7import java.io.IOException;
    78import java.util.ArrayList;
    89import java.util.Collection;
     
    1415
    1516import org.openstreetmap.josm.Main;
     17import org.openstreetmap.josm.actions.ExtensionFileFilter;
    1618import org.openstreetmap.josm.actions.JosmAction;
    1719import org.openstreetmap.josm.gui.MainMenu;
    1820import org.openstreetmap.josm.gui.MapFrame;
    1921import org.openstreetmap.josm.gui.layer.Layer;
     22import org.openstreetmap.josm.gui.progress.ProgressMonitor;
     23import org.openstreetmap.josm.gui.util.GuiHelper;
     24import org.openstreetmap.josm.io.FileImporter;
     25import org.openstreetmap.josm.io.IllegalDataException;
    2026import org.openstreetmap.josm.plugins.PluginInformation;
    2127
     
    3743    }
    3844
    39     private static final class LoadImagesAction extends JosmAction {
    40         private static final long serialVersionUID = 4480306223276347301L;
     45    private final class ImageWaypointImporter extends FileImporter {
    4146
    42         private final ImageWayPointPlugin plugin;
    43 
    44         public LoadImagesAction(final ImageWayPointPlugin plugin) {
    45             super(tr("Open images with ImageWayPoint"),
    46             "imagewaypoint-open",
    47             tr("Load set of images as a new layer."),
    48             null,
    49             false);
    50 
    51             this.plugin = plugin;
     47        public ImageWaypointImporter() {
     48            super(new ExtensionFileFilter("jpg,jpeg,png,gif", "jpg", "Image files [by ImageWayPoint plugin] (*.jpg, *.jpeg, *.png, *.gif)"));
    5249        }
    5350
    54         public final void actionPerformed(final ActionEvent actionEvent) {
    55             final JFileChooser fileChooser = new JFileChooser(Main.pref.get("tagimages.lastdirectory"));
    56             fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
    57             fileChooser.setMultiSelectionEnabled(true);
    58             fileChooser.setAcceptAllFileFilterUsed(false);
    59             fileChooser.setFileFilter(new ImageFileFilter());
     51        @Override
     52        public boolean isBatchImporter() {
     53            return true;
     54        }
    6055
    61             fileChooser.showOpenDialog(Main.parent);
     56        @Override
     57        public double getPriority() {
     58            return -3;
     59        }
    6260
    63             final File[] selectedFiles = fileChooser.getSelectedFiles();
    64             if (null != selectedFiles && 0 != selectedFiles.length) {
    65                 Main.pref.put("tagimages.lastdirectory",
    66                     fileChooser.getCurrentDirectory().getPath());
    67 
     61        @Override
     62        public void importData(List<File> files, ProgressMonitor progressMonitor) throws IOException, IllegalDataException {
     63            if (null != files && !files.isEmpty()) {
     64           
    6865                // recursively find all files
    6966                final List<File> allFiles = new ArrayList<File>();
    70                 this.plugin.addFiles(allFiles, selectedFiles);
     67                addFiles(allFiles, files.toArray(new File[0]));
    7168
    7269                // add files to ImageEntries
     
    8683                }
    8784                if (!foundImageWayPointLayer) {
    88                     new ImageWayPointLayer();
     85                    GuiHelper.runInEDT(new Runnable() {
     86                        @Override
     87                        public void run() {
     88                            new ImageWayPointLayer();
     89                        }
     90                    });
    8991                }
    9092            }
     
    9799    public ImageWayPointPlugin(PluginInformation info) {
    98100        super(info);
    99 
    100         MainMenu menu = Main.main.menu;
    101         menu.add(menu.fileMenu, new LoadImagesAction(this));
     101        ExtensionFileFilter.importers.add(new ImageWaypointImporter());
    102102    }
    103103
Note: See TracChangeset for help on using the changeset viewer.