Opened 6 years ago

Last modified 6 years ago

#19285 closed enhancement

[Patch] Ctrl+C (Copy) should keep the order of selection — at Version 1

Reported by: GerdP Owned by: team
Priority: normal Milestone: 20.05
Component: Core Version:
Keywords: Cc:

Description (last modified by GerdP)

Ctrl+C uses a HashSet to store selected elements and thus forgets the order.
It should keep the order as with this patch:

  • src/org/openstreetmap/josm/gui/datatransfer/data/PrimitiveTransferData.java

     
    66import java.util.ArrayList;
    77import java.util.Collection;
    88import java.util.Collections;
    9 import java.util.HashSet;
     9import java.util.LinkedHashSet;
    1010import java.util.LinkedList;
    1111import java.util.Queue;
     12import java.util.Set;
    1213
    1314import org.openstreetmap.josm.data.ProjectionBounds;
    1415import org.openstreetmap.josm.data.coor.EastNorth;
     
    6364     */
    6465    private PrimitiveTransferData(Collection<? extends OsmPrimitive> primitives, ReferenceGetter referencedGetter) {
    6566        // convert to hash set first to remove duplicates
    66         HashSet<OsmPrimitive> visited = new HashSet<>(primitives);
     67        Set<OsmPrimitive> visited = new LinkedHashSet<>(primitives);
    6768        this.direct = new ArrayList<>(visited.size());
    6869
    6970        this.referenced = new ArrayList<>();

Change History (1)

comment:1 by GerdP, 6 years ago

Description: modified (diff)
Milestone: 20.05
Summary: Ctrl+C (Copy) should prevent the order of selection[Patch] Ctrl+C (Copy) should keep the order of selection
Note: See TracTickets for help on using tickets.