source: josm/trunk/src/org/openstreetmap/josm/actions/RedoAction.java @ 5241

Revision 4982, 1.6 KB checked in by stoecker, 3 months ago (diff)

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

  • Property svn:eol-style set to native
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 * Redoes the last command.
16 *
17 * @author imi
18 */
19public class RedoAction extends JosmAction implements OsmDataLayer.CommandQueueListener {
20
21    /**
22     * Construct the action with "Redo" as label.
23     */
24    public RedoAction() {
25        super(tr("Redo"), "redo", tr("Redo the last undone action."),
26                Shortcut.registerShortcut("system:redo", tr("Edit: {0}", tr("Redo")), KeyEvent.VK_Y, Shortcut.CTRL), true);
27        setEnabled(false);
28        putValue("help", ht("/Action/Redo"));
29    }
30
31    public void actionPerformed(ActionEvent e) {
32        if (Main.map == null)
33            return;
34        Main.map.repaint();
35        Main.main.undoRedo.redo();
36    }
37
38    @Override
39    protected void updateEnabledState() {
40        setEnabled(Main.main != null && !Main.main.undoRedo.redoCommands.isEmpty());
41    }
42
43    @Override
44    public void commandChanged(int queueSize, int redoSize) {
45        if (Main.main.undoRedo.redoCommands.isEmpty()) {
46            putValue(NAME, tr("Redo"));
47            setTooltip(tr("Redo the last undone action."));
48        } else {
49            putValue(NAME, tr("Redo ..."));
50            setTooltip(tr("Redo {0}",
51                    Main.main.undoRedo.redoCommands.getFirst().getDescriptionText()));
52        }
53    }
54}
Note: See TracBrowser for help on using the repository browser.