Ticket #15906: 15906-v3.patch
| File 15906-v3.patch, 3.2 KB (added by , 6 years ago) |
|---|
-
src/reverter/RevertChangesetCommand.java
18 18 /** 19 19 * Create the command by specifying the list of commands to execute. 20 20 * @param name The description text 21 * @param sequenz The sequence that should beexecuted.21 * @param sequenz The sequence that was already executed. 22 22 */ 23 23 public RevertChangesetCommand(String name, Collection<Command> sequenz) { 24 24 super(name, sequenz); 25 25 ReverterPlugin.reverterUsed = true; 26 setSequenceComplete(true); 26 27 } 27 28 28 29 @Override … … 35 36 return ImageProvider.get("revert-changeset"); 36 37 } 37 38 39 @Override 40 public void undoCommand() { 41 getAffectedDataSet().update(super::undoCommand); 42 } 43 44 @Override 45 public boolean executeCommand() { 46 return getAffectedDataSet().update(super::executeCommand); 47 } 48 38 49 } -
src/reverter/RevertChangesetTask.java
14 14 import javax.swing.JOptionPane; 15 15 16 16 import org.openstreetmap.josm.command.Command; 17 import org.openstreetmap.josm.command.SequenceCommand;18 17 import org.openstreetmap.josm.command.conflict.ConflictAddCommand; 19 18 import org.openstreetmap.josm.data.UndoRedoHandler; 20 19 import org.openstreetmap.josm.data.osm.DataSet; … … 98 97 Logging.info("Reverted changeset {0}", Long.toString(changesetId)); 99 98 newLayer = false; // reuse layer for subsequent reverts 100 99 } catch (OsmTransferException e) { 101 Logging.error(e); 100 if (!allcmds.isEmpty()) { 101 GuiHelper.runInEDT(() -> UndoRedoHandler.getInstance().undo(allcmds.size())); 102 } 103 Logging.error(e); 102 104 throw e; 103 105 } catch (UserCancelException e) { 106 if (!allcmds.isEmpty()) { 107 GuiHelper.runInEDT(() -> UndoRedoHandler.getInstance().undo(allcmds.size())); 108 } 104 109 Logging.warn("Revert canceled"); 105 110 Logging.trace(e); 106 111 return; … … 107 112 } 108 113 } 109 114 if (!allcmds.isEmpty()) { 110 Command cmd = allcmds.size() == 1 ? allcmds.get(0) : new SequenceCommand(tr("Revert changesets"), allcmds);115 Command cmd = allcmds.size() == 1 ? allcmds.get(0) : new RevertChangesetCommand(tr("Revert changesets"), allcmds); 111 116 GuiHelper.runInEDT(() -> { 112 UndoRedoHandler.getInstance().add(cmd );117 UndoRedoHandler.getInstance().add(cmd, false); 113 118 if (numberOfConflicts > 0) { 114 119 MainApplication.getMap().conflictDialog.warnNumNewConflicts(numberOfConflicts); 115 120 } … … 168 173 if (c instanceof ConflictAddCommand) { 169 174 numberOfConflicts++; 170 175 } 176 c.executeCommand(); 171 177 } 172 178 final String desc; 173 179 if (revertType == RevertType.FULL) {
