Changeset 4996 in josm for trunk


Ignore:
Timestamp:
2012-02-19T16:30:47+01:00 (8 years ago)
Author:
Don-vip
Message:

fix #2012 - Download from URL dropped on main window

Location:
trunk/src/org/openstreetmap/josm/actions
Files:
1 added
2 edited

Legend:

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

    r4982 r4996  
    88import java.awt.event.ActionEvent;
    99import java.awt.event.KeyEvent;
     10import java.io.BufferedReader;
    1011import java.io.File;
     12import java.io.FileReader;
    1113import java.io.IOException;
    1214import java.util.ArrayList;
     
    1921import java.util.List;
    2022import java.util.Set;
     23import java.util.regex.Matcher;
     24import java.util.regex.Pattern;
    2125
    2226import javax.swing.JFileChooser;
     
    4347 */
    4448public class OpenFileAction extends DiskAccessAction {
     49
     50    public static final ExtensionFileFilter urlFileFilter = new ExtensionFileFilter("url", "url", tr("URL Files") + " (*.url)");
    4551
    4652    /**
     
    237243                MultiMap<FileImporter, File> importerMap = new MultiMap<FileImporter, File>();
    238244                List<File> filesWithUnknownImporter = new LinkedList<File>();
     245                List<File> urlFiles = new LinkedList<File>();
    239246                FILES: for (File f : files) {
    240247                    for (FileImporter importer : ExtensionFileFilter.importers) {
     
    244251                        }
    245252                    }
    246                     filesWithUnknownImporter.add(f);
     253                    if (urlFileFilter.accept(f)) {
     254                        urlFiles.add(f);
     255                    } else {
     256                        filesWithUnknownImporter.add(f);
     257                    }
    247258                }
    248259                if (!filesWithUnknownImporter.isEmpty()) {
     
    271282                            failedAll.add(f.getCanonicalPath());
    272283                        }
     284                    }
     285                }
     286               
     287                for (File urlFile: urlFiles) {
     288                    try {
     289                        BufferedReader reader = new BufferedReader(new FileReader(urlFile));
     290                        String line;
     291                        while ((line = reader.readLine()) != null) {
     292                            Matcher m = Pattern.compile(".*(http://.*)").matcher(line);
     293                            if (m.matches()) {
     294                                String url = m.group(1);
     295                                Main.main.menu.openLocation.openUrl(false, url);
     296                            }
     297                        }
     298                        reader.close();
     299                    } catch (Exception e) {
     300                        System.err.println(e.getMessage());
    273301                    }
    274302                }
  • trunk/src/org/openstreetmap/josm/actions/OpenLocationAction.java

    r4982 r4996  
    2525import org.openstreetmap.josm.actions.downloadtasks.DownloadOsmChangeTask;
    2626import org.openstreetmap.josm.actions.downloadtasks.DownloadOsmTask;
     27import org.openstreetmap.josm.actions.downloadtasks.DownloadOsmUrlTask;
    2728import org.openstreetmap.josm.actions.downloadtasks.DownloadTask;
    2829import org.openstreetmap.josm.actions.downloadtasks.PostDownloadHandler;
     
    5354        addDownloadTaskClass(DownloadGpsTask.class);
    5455        addDownloadTaskClass(DownloadOsmChangeTask.class);
     56        addDownloadTaskClass(DownloadOsmUrlTask.class);
    5557    }
    5658
Note: See TracChangeset for help on using the changeset viewer.