Ignore:
Timestamp:
2009-10-09T17:16:54+02:00 (15 years ago)
Author:
Gubaer
Message:

Removed inefficient DataSet:getSelected() when responding to fireSelectionChanged() in JOSM actions, see thread on dev
Still uses DataSet:getSelected() when responding to layer change events, this is less critical.

File:
1 edited

Legend:

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

    r2220 r2256  
    263263    }
    264264
    265     /**
    266      * Enable the "Merge Nodes" menu option if more than one node is selected
    267      */
    268265    @Override
    269     public void updateEnabledState() {
    270         if (getCurrentDataSet() == null || getCurrentDataSet().getSelected().isEmpty()) {
     266    protected void updateEnabledState() {
     267        if (getCurrentDataSet() == null) {
    271268            setEnabled(false);
     269        } else {
     270            updateEnabledState(getCurrentDataSet().getSelected());
     271        }
     272    }
     273
     274    @Override
     275    protected void updateEnabledState(Collection<? extends OsmPrimitive> selection) {
     276        if (selection == null || selection.isEmpty()) {
     277            setEnabled(false);
    272278            return;
    273279        }
    274280        boolean ok = true;
    275         if (getCurrentDataSet().getSelected().size() < 2) {
     281        if (selection.size() < 2) {
    276282            setEnabled(false);
    277283            return;
    278284        }
    279         for (OsmPrimitive osm : getCurrentDataSet().getSelected()) {
     285        for (OsmPrimitive osm : selection) {
    280286            if (!(osm instanceof Node)) {
    281287                ok = false;
Note: See TracChangeset for help on using the changeset viewer.