Changeset 17358 in josm for trunk/src/org/openstreetmap/josm/gui/dialogs/relation/actions/SavingAction.java
- Timestamp:
- 2020-11-25T11:50:22+01:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/dialogs/relation/actions/SavingAction.java
r17172 r17358 5 5 6 6 import java.awt.Component; 7 import java.util.ArrayList; 8 import java.util.List; 7 9 8 10 import javax.swing.JOptionPane; … … 11 13 import org.openstreetmap.josm.command.AddCommand; 12 14 import org.openstreetmap.josm.command.ChangeCommand; 15 import org.openstreetmap.josm.command.ChangeMembersCommand; 16 import org.openstreetmap.josm.command.ChangePropertyCommand; 17 import org.openstreetmap.josm.command.Command; 13 18 import org.openstreetmap.josm.command.conflict.ConflictAddCommand; 14 19 import org.openstreetmap.josm.data.UndoRedoHandler; … … 86 91 tagEditorModel.applyToPrimitive(editedRelation); 87 92 getMemberTableModel().applyToRelation(editedRelation); 88 if (!editedRelation.hasEqualSemanticAttributes(originRelation, false)) { 93 List<Command> cmds = new ArrayList<>(); 94 if (originRelation.getKeys().equals(editedRelation.getKeys())) { 95 cmds.add(new ChangeMembersCommand(originRelation, editedRelation.getMembers())); 96 } 97 Command cmdProps = ChangePropertyCommand.build(originRelation, editedRelation); 98 if (cmdProps != null) 99 cmds.add(cmdProps); 100 if (cmds.size() >= 2) { 89 101 UndoRedoHandler.getInstance().add(new ChangeCommand(originRelation, editedRelation)); 90 } else { 102 } else if (!cmds.isEmpty()) { 103 UndoRedoHandler.getInstance().add(cmds.get(0)); 91 104 editedRelation.setMembers(null); // see #19885 92 105 }
Note:
See TracChangeset
for help on using the changeset viewer.