Ignore:
Timestamp:
08.09.2011 00:08:02 (9 months 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.