Ignore:
Timestamp:
2020-03-14T17:03:02+01:00 (4 years ago)
Author:
Don-vip
Message:

fix #18918 - Enable Ctrl-H shortcut to display history of primitives selected in changeset manager

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

Legend:

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

    r14397 r16123  
    77import java.awt.event.ActionEvent;
    88import java.awt.event.KeyEvent;
     9import java.util.HashSet;
     10import java.util.Set;
     11
     12import javax.swing.JTable;
    913
    1014import org.openstreetmap.josm.data.osm.OsmData;
     15import org.openstreetmap.josm.data.osm.PrimitiveId;
    1116import org.openstreetmap.josm.gui.MainApplication;
    1217import org.openstreetmap.josm.gui.dialogs.OsmIdSelectionDialog;
     
    3843    @Override
    3944    public void actionPerformed(ActionEvent ae) {
     45        // Generic handling of tables displaying OSM primitives
     46        if (ae.getSource() instanceof JTable) {
     47            JTable table = (JTable) ae.getSource();
     48            Set<PrimitiveId> sel = new HashSet<>();
     49            for (int row : table.getSelectedRows()) {
     50                for (int col = 0; col < table.getModel().getColumnCount(); col++) {
     51                    Object value = table.getModel().getValueAt(row, col);
     52                    if (value instanceof PrimitiveId) {
     53                        sel.add((PrimitiveId) value);
     54                        break;
     55                    }
     56                }
     57            }
     58            if (!sel.isEmpty()) {
     59                HistoryBrowserDialogManager.getInstance().showHistory(sel);
     60                return;
     61            }
     62        }
     63        // Otherwise show history for currently selected objects
    4064        OsmData<?, ?, ?, ?> set = getLayerManager().getActiveData();
    4165        if (set != null && !set.selectionEmpty()) {
  • trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmChangeTask.java

    r15789 r16123  
    144144            this.toLoad = toLoad;
    145145            this.setChangesetDataNeeded(false);
    146             add(toLoad.keySet());
     146            addOsmPrimitives(toLoad.keySet());
    147147            // Updating process is done after all history requests have been made
    148148            HistoryDataSet.getInstance().addHistoryDataSetListener(this);
Note: See TracChangeset for help on using the changeset viewer.