Ignore:
Timestamp:
2014-04-12T20:15:09+02:00 (6 years ago)
Author:
bastiK
Message:

applied #9634 - Downloading Referrers Grabs Focus (patch by Balaitous, minor modifications)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/LoadObjectHandler.java

    r6782 r6973  
    88
    99import org.openstreetmap.josm.Main;
    10 import org.openstreetmap.josm.actions.DownloadPrimitiveAction;
    1110import org.openstreetmap.josm.data.osm.PrimitiveId;
    1211import org.openstreetmap.josm.data.osm.SimplePrimitiveId;
     12import org.openstreetmap.josm.gui.io.DownloadPrimitivesWithReferrersTask;
    1313import org.openstreetmap.josm.gui.util.GuiHelper;
    1414import org.openstreetmap.josm.io.remotecontrol.AddTagsDialog;
     
    3333        return new String[]{"objects"};
    3434    }
    35    
     35
    3636    @Override
    3737    public String[] getOptionalParams() {
     
    6161            final boolean relationMembers = Boolean.parseBoolean(args.get("relation_members"));
    6262            final boolean referrers = args.containsKey("referrers") ? Boolean.parseBoolean(args.get("referrers")) : true;
    63             GuiHelper.runInEDTAndWait(new Runnable() {
    64                 @Override public void run() {
    65                     DownloadPrimitiveAction.processItems(newLayer, ps, referrers, relationMembers);
    66                 }
    67             });
    68             GuiHelper.executeByMainWorkerInEDT(new Runnable() {
     63            final DownloadPrimitivesWithReferrersTask task = new DownloadPrimitivesWithReferrersTask(
     64                    newLayer, ps, referrers, relationMembers, null);
     65            Main.worker.submit(task);
     66            Main.worker.submit(new Runnable() {
    6967                @Override
    7068                public void run() {
    71                     Main.main.getCurrentDataSet().setSelected(ps);
     69                    final List<PrimitiveId> downloaded = task.getDownloadedId();
     70                    if(downloaded != null) {
     71                        GuiHelper.runInEDT(new Runnable() {
     72                            @Override
     73                            public void run() {
     74                                Main.main.getCurrentDataSet().setSelected(downloaded);
     75                            }
     76                        });
     77                    }
    7278                    AddTagsDialog.addTags(args, sender);
    7379                    ps.clear();
Note: See TracChangeset for help on using the changeset viewer.