1 | // License: GPL. For details, see LICENSE file.
|
---|
2 | package reverter;
|
---|
3 |
|
---|
4 | import static org.openstreetmap.josm.tools.I18n.tr;
|
---|
5 |
|
---|
6 | import java.awt.event.ActionEvent;
|
---|
7 | import java.awt.event.KeyEvent;
|
---|
8 | import java.util.Collection;
|
---|
9 |
|
---|
10 | import org.openstreetmap.josm.actions.JosmAction;
|
---|
11 | import org.openstreetmap.josm.gui.MainApplication;
|
---|
12 | import org.openstreetmap.josm.tools.Shortcut;
|
---|
13 |
|
---|
14 | import reverter.ChangesetReverter.RevertType;
|
---|
15 |
|
---|
16 | public class RevertChangesetAction extends JosmAction {
|
---|
17 |
|
---|
18 | public RevertChangesetAction() {
|
---|
19 | super(tr("Revert changeset"), "revert-changeset", tr("Revert changeset"),
|
---|
20 | Shortcut.registerShortcut("tool:revert", tr("Data: {0}", tr("Revert changeset")), KeyEvent.VK_T, Shortcut.CTRL_SHIFT),
|
---|
21 | true, false);
|
---|
22 | }
|
---|
23 |
|
---|
24 | @Override
|
---|
25 | public void actionPerformed(ActionEvent e) {
|
---|
26 | final ChangesetIdQuery dlg = new ChangesetIdQuery();
|
---|
27 | if (dlg.showDialog().getValue() != 1) return;
|
---|
28 | final Collection<Integer> changesetIds = dlg.getIdsInReverseOrder();
|
---|
29 | final RevertType revertType = dlg.getRevertType();
|
---|
30 | if (revertType == null) return;
|
---|
31 |
|
---|
32 | boolean newLayer = dlg.isNewLayerRequired();
|
---|
33 | final boolean autoConfirmDownload = newLayer || changesetIds.size() > 1;
|
---|
34 | MainApplication.worker.submit(new RevertChangesetTask(changesetIds, revertType, autoConfirmDownload, newLayer));
|
---|
35 | }
|
---|
36 | }
|
---|