- Timestamp:
- 2017-06-09T00:14:12+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/dialogs/ConflictDialog.java
r12279 r12352 41 41 import org.openstreetmap.josm.command.Command; 42 42 import org.openstreetmap.josm.command.SequenceCommand; 43 import org.openstreetmap.josm.data.SelectionChangedListener;44 43 import org.openstreetmap.josm.data.conflict.Conflict; 45 44 import org.openstreetmap.josm.data.conflict.ConflictCollection; 46 45 import org.openstreetmap.josm.data.conflict.IConflictListener; 46 import org.openstreetmap.josm.data.osm.DataSelectionListener; 47 47 import org.openstreetmap.josm.data.osm.DataSet; 48 48 import org.openstreetmap.josm.data.osm.Node; … … 75 75 * @since 86 76 76 */ 77 public final class ConflictDialog extends ToggleDialog implements ActiveLayerChangeListener, IConflictListener, SelectionChangedListener {77 public final class ConflictDialog extends ToggleDialog implements ActiveLayerChangeListener, IConflictListener, DataSelectionListener { 78 78 79 79 private static final ColorProperty CONFLICT_COLOR = new ColorProperty(marktr("conflict"), Color.GRAY); … … 151 151 @Override 152 152 public void showNotify() { 153 DataSet.addSelectionListener(this);154 153 Main.getLayerManager().addAndFireActiveLayerChangeListener(this); 155 154 refreshView(); … … 159 158 public void hideNotify() { 160 159 Main.getLayerManager().removeActiveLayerChangeListener(this); 161 DataSet.removeSelectionListener(this); 160 OsmDataLayer editLayer = Main.getLayerManager().getEditLayer(); 161 removeEditLayerListeners(editLayer); 162 162 } 163 163 … … 259 259 @Override 260 260 public void activeOrEditLayerChanged(ActiveLayerChangeEvent e) { 261 OsmDataLayer oldLayer = e.getPreviousEditLayer(); 261 removeEditLayerListeners(e.getPreviousEditLayer()); 262 addEditLayerListeners(e.getSource().getEditLayer()); 263 refreshView(); 264 } 265 266 private void addEditLayerListeners(OsmDataLayer newLayer) { 267 if (newLayer != null) { 268 newLayer.getConflicts().addConflictListener(this); 269 newLayer.data.addSelectionListener(this); 270 } 271 } 272 273 private void removeEditLayerListeners(OsmDataLayer oldLayer) { 262 274 if (oldLayer != null) { 263 275 oldLayer.getConflicts().removeConflictListener(this); 264 } 265 OsmDataLayer newLayer = e.getSource().getEditLayer(); 266 if (newLayer != null) { 267 newLayer.getConflicts().addConflictListener(this); 268 } 269 refreshView(); 276 oldLayer.data.removeSelectionListener(this); 277 } 270 278 } 271 279 … … 310 318 311 319 @Override 312 public void selectionChanged( Collection<? extends OsmPrimitive> newSelection) {320 public void selectionChanged(SelectionChangeEvent event) { 313 321 lstConflicts.setValueIsAdjusting(true); 314 322 lstConflicts.clearSelection(); 315 for (OsmPrimitive osm : newSelection) {323 for (OsmPrimitive osm : event.getSelection()) { 316 324 if (conflicts != null && conflicts.hasConflictForMy(osm)) { 317 325 int pos = model.indexOf(osm);
Note:
See TracChangeset
for help on using the changeset viewer.