Changeset 29799 in osm for applications/editors/josm/plugins/imagewaypoint/src
- Timestamp:
- 2013-07-31T19:55:26+02:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
applications/editors/josm/plugins/imagewaypoint/src/org/insignificant/josm/plugins/imagewaypoint/ImageWayPointPlugin.java
r23191 r29799 5 5 import java.awt.event.ActionEvent; 6 6 import java.io.File; 7 import java.io.IOException; 7 8 import java.util.ArrayList; 8 9 import java.util.Collection; … … 14 15 15 16 import org.openstreetmap.josm.Main; 17 import org.openstreetmap.josm.actions.ExtensionFileFilter; 16 18 import org.openstreetmap.josm.actions.JosmAction; 17 19 import org.openstreetmap.josm.gui.MainMenu; 18 20 import org.openstreetmap.josm.gui.MapFrame; 19 21 import org.openstreetmap.josm.gui.layer.Layer; 22 import org.openstreetmap.josm.gui.progress.ProgressMonitor; 23 import org.openstreetmap.josm.gui.util.GuiHelper; 24 import org.openstreetmap.josm.io.FileImporter; 25 import org.openstreetmap.josm.io.IllegalDataException; 20 26 import org.openstreetmap.josm.plugins.PluginInformation; 21 27 … … 37 43 } 38 44 39 private static final class LoadImagesAction extends JosmAction { 40 private static final long serialVersionUID = 4480306223276347301L; 45 private final class ImageWaypointImporter extends FileImporter { 41 46 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)")); 52 49 } 53 50 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 } 60 55 61 fileChooser.showOpenDialog(Main.parent); 56 @Override 57 public double getPriority() { 58 return -3; 59 } 62 60 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 68 65 // recursively find all files 69 66 final List<File> allFiles = new ArrayList<File>(); 70 this.plugin.addFiles(allFiles,selectedFiles);67 addFiles(allFiles, files.toArray(new File[0])); 71 68 72 69 // add files to ImageEntries … … 86 83 } 87 84 if (!foundImageWayPointLayer) { 88 new ImageWayPointLayer(); 85 GuiHelper.runInEDT(new Runnable() { 86 @Override 87 public void run() { 88 new ImageWayPointLayer(); 89 } 90 }); 89 91 } 90 92 } … … 97 99 public ImageWayPointPlugin(PluginInformation info) { 98 100 super(info); 99 100 MainMenu menu = Main.main.menu; 101 menu.add(menu.fileMenu, new LoadImagesAction(this)); 101 ExtensionFileFilter.importers.add(new ImageWaypointImporter()); 102 102 } 103 103
Note:
See TracChangeset
for help on using the changeset viewer.