Changeset 13010 in josm for trunk/src/org
- Timestamp:
- 2017-10-17T11:20:34+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/data/UndoRedoHandler.java
r12846 r13010 2 2 package org.openstreetmap.josm.data; 3 3 4 import java.util.Collection;5 4 import java.util.Iterator; 6 5 import java.util.LinkedList; 7 import java.util.Optional;8 6 9 7 import org.openstreetmap.josm.Main; 10 8 import org.openstreetmap.josm.command.Command; 11 9 import org.openstreetmap.josm.data.osm.DataSet; 12 import org.openstreetmap.josm.data.osm.OsmPrimitive;13 10 import org.openstreetmap.josm.spi.preferences.Config; 14 11 import org.openstreetmap.josm.tools.CheckParameterUtil; … … 93 90 */ 94 91 public synchronized void add(final Command c) { 95 DataSet ds = Optional.ofNullable(c.getAffectedDataSet()).orElseGet(() -> Main.main.getEditDataSet());96 Collection<? extends OsmPrimitive> oldSelection = null;97 if (ds != null) {98 oldSelection = ds.getSelected();99 }100 92 addNoRedraw(c); 101 93 afterAdd(); 102 103 // the command may have changed the selection so tell the listeners about the current situation104 if (ds != null) {105 fireIfSelectionChanged(ds, oldSelection);106 }107 94 } 108 95 … … 122 109 return; 123 110 DataSet ds = Main.main.getEditDataSet(); 124 Collection<? extends OsmPrimitive> oldSelection = null;125 111 if (ds != null) { 126 oldSelection = ds.getSelected();127 112 ds.beginUpdate(); 128 113 } … … 142 127 } 143 128 fireCommandsChanged(); 144 if (ds != null) {145 fireIfSelectionChanged(ds, oldSelection);146 }147 129 } 148 130 … … 161 143 if (redoCommands.isEmpty()) 162 144 return; 163 DataSet ds = Main.main.getEditDataSet();164 Collection<? extends OsmPrimitive> oldSelection = ds.getSelected();165 145 for (int i = 0; i < num; ++i) { 166 146 final Command c = redoCommands.removeFirst(); … … 172 152 } 173 153 fireCommandsChanged(); 174 fireIfSelectionChanged(ds, oldSelection);175 }176 177 private static void fireIfSelectionChanged(DataSet ds, Collection<? extends OsmPrimitive> oldSelection) {178 Collection<? extends OsmPrimitive> newSelection = ds.getSelected();179 if (!oldSelection.equals(newSelection)) {180 ds.fireSelectionChanged();181 }182 154 } 183 155
Note:
See TracChangeset
for help on using the changeset viewer.