Ignore:
Timestamp:
2011-09-08T00:08:02+02:00 (13 years ago)
Author:
simon04
Message:

fix #6773 - shortcuts for History and Advanced info dialog

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/actions/HistoryInfoAction.java

    r4139 r4408  
    22package org.openstreetmap.josm.actions;
    33
    4 import static org.openstreetmap.josm.tools.I18n.tr;
    5 
     4import java.awt.event.ActionEvent;
    65import java.awt.event.KeyEvent;
     6import java.util.Collection;
    77
    88import org.openstreetmap.josm.Main;
     9import org.openstreetmap.josm.data.osm.DataSet;
    910import org.openstreetmap.josm.data.osm.OsmPrimitive;
    10 import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
     11import org.openstreetmap.josm.gui.history.HistoryBrowserDialogManager;
    1112import org.openstreetmap.josm.tools.Shortcut;
     13
     14import static org.openstreetmap.josm.tools.I18n.tr;
    1215import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
    1316
    14 public class HistoryInfoAction extends AbstractInfoAction {
     17public class HistoryInfoAction extends JosmAction {
    1518
    16     public HistoryInfoAction() {
    17         super(tr("Object history"), "about",
    18                 tr("Display history information about OSM ways, nodes, or relations."),
    19                 Shortcut.registerShortcut("core:history",
    20                         tr("Object history"), KeyEvent.VK_H, Shortcut.GROUP_HOTKEY), false);
    21         putValue("help", ht("/Action/ObjectHistory"));
    22         putValue("toolbar", "action/historyinfo");
    23         Main.toolbar.register(this);
    24     }
     19        public HistoryInfoAction() {
     20                super(tr("History"), "about",
     21                                tr("Display history information about OSM ways, nodes, or relations."),
     22                                Shortcut.registerShortcut("core:historyinfo",
     23                                tr("History"), KeyEvent.VK_H, Shortcut.GROUP_HOTKEY), false);
     24                putValue("help", ht("/Action/ObjectHistory"));
     25                putValue("toolbar", "action/historyinfo");
     26                Main.toolbar.register(this);
     27        }
    2528
    26     @Override
    27     protected  String createInfoUrl(Object infoObject) {
    28         OsmPrimitive primitive = (OsmPrimitive)infoObject;
    29         return getBaseBrowseUrl() + "/" + OsmPrimitiveType.from(primitive).getAPIName() + "/" + primitive.getId() + "/history";
    30     }
     29        @Override
     30        public void actionPerformed(ActionEvent ae) {
     31                DataSet set = getCurrentDataSet();
     32                if (set != null) {
     33                        HistoryBrowserDialogManager.getInstance().showHistory(set.getSelected());
     34                }
     35        }
     36
     37        @Override
     38        public void updateEnabledState() {
     39                if (getCurrentDataSet() == null) {
     40                        setEnabled(false);
     41                } else {
     42                        updateEnabledState(getCurrentDataSet().getSelected());
     43                }
     44        }
     45
     46        @Override
     47        protected void updateEnabledState(Collection<? extends OsmPrimitive> selection) {
     48                setEnabled(!selection.isEmpty());
     49        }
    3150}
Note: See TracChangeset for help on using the changeset viewer.