Ticket #17270: 17270-focus.patch

File 17270-focus.patch, 1.3 KB (added by GerdP, 4 years ago)

when closing one of many history dialogs, set focus to the last

  • src/org/openstreetmap/josm/gui/history/HistoryBrowserDialogManager.java

     
    88import java.awt.Point;
    99import java.util.ArrayList;
    1010import java.util.Collection;
    11 import java.util.HashMap;
    1211import java.util.Iterator;
     12import java.util.LinkedHashMap;
     13import java.util.LinkedList;
    1314import java.util.List;
    14 import java.util.Map;
    1515import java.util.Map.Entry;
    1616import java.util.Objects;
    1717import java.util.function.Predicate;
     
    5858
    5959    private static HistoryBrowserDialogManager instance;
    6060
    61     private final Map<Long, HistoryBrowserDialog> dialogs = new HashMap<>();
     61    private final LinkedHashMap<Long, HistoryBrowserDialog> dialogs = new LinkedHashMap<>();
    6262
    6363    private final Predicate<PrimitiveId> unloadedHistoryPredicate = new UnloadedHistoryPredicate();
    6464
     
    143143        }
    144144        dialog.setVisible(false);
    145145        dialog.dispose();
     146        if (!dialogs.isEmpty()) {
     147            new LinkedList<>(dialogs.values()).getLast().toFront();
     148        }
    146149    }
    147150
    148151    /**