source: josm/trunk/src/org/openstreetmap/josm/actions/UndoAction.java@ 5132

Last change on this file since 5132 was 4982, checked in by stoecker, 12 years ago

see #7226 - patch by akks (fixed a bit) - fix shortcut deprecations

  • Property svn:eol-style set to native
File size: 1.6 KB
Line 
1// License: GPL. Copyright 2007 by Immanuel Scholz and others
2package org.openstreetmap.josm.actions;
3
4import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
5import static org.openstreetmap.josm.tools.I18n.tr;
6
7import java.awt.event.ActionEvent;
8import java.awt.event.KeyEvent;
9
10import org.openstreetmap.josm.Main;
11import org.openstreetmap.josm.gui.layer.OsmDataLayer;
12import org.openstreetmap.josm.tools.Shortcut;
13
14/**
15 * Undoes the last command.
16 *
17 * @author imi
18 */
19public class UndoAction extends JosmAction implements OsmDataLayer.CommandQueueListener {
20
21 /**
22 * Construct the action with "Undo" as label.
23 */
24 public UndoAction() {
25 super(tr("Undo"), "undo", tr("Undo the last action."),
26 Shortcut.registerShortcut("system:undo", tr("Edit: {0}", tr("Undo")), KeyEvent.VK_Z, Shortcut.CTRL), true);
27 setEnabled(false);
28 putValue("help", ht("/Action/Undo"));
29 }
30
31 public void actionPerformed(ActionEvent e) {
32 if (Main.map == null)
33 return;
34 Main.map.repaint();
35 Main.main.undoRedo.undo();
36 }
37
38 @Override
39 protected void updateEnabledState() {
40 setEnabled(Main.main != null && !Main.main.undoRedo.commands.isEmpty());
41 }
42
43 @Override
44 public void commandChanged(int queueSize, int redoSize) {
45 if (Main.main.undoRedo.commands.isEmpty()) {
46 putValue(NAME, tr("Undo"));
47 setTooltip(tr("Undo the last action."));
48 } else {
49 putValue(NAME, tr("Undo ..."));
50 setTooltip(tr("Undo {0}",
51 Main.main.undoRedo.commands.getFirst().getDescriptionText()));
52 }
53 }
54}
Note: See TracBrowser for help on using the repository browser.