// License: GPL. For details, see LICENSE file. package org.openstreetmap.josm.actions; import static org.openstreetmap.josm.gui.help.HelpUtil.ht; import static org.openstreetmap.josm.tools.I18n.tr; import java.awt.event.ActionEvent; import java.awt.event.KeyEvent; import org.openstreetmap.josm.Main; import org.openstreetmap.josm.tools.Shortcut; /** * This action toggles automatic moving of the map view to last placed node * @since 3837 */ public class ViewportFollowToggleAction extends ToggleAction { /** * Constructs a new {@code ViewportFollowToggleAction}. */ public ViewportFollowToggleAction() { super(tr("Viewport Following"), "viewport-follow", tr("Enable/disable automatic moving of the map view to last placed node"), Shortcut.registerShortcut("menu:view:viewportfollow", tr("Toggle Viewport Following"), KeyEvent.VK_F, Shortcut.CTRL_SHIFT), true /* register shortcut */ ); putValue("help", ht("/Action/ViewportFollowing")); setSelected(false); notifySelectedState(); } @Override public void actionPerformed(ActionEvent e) { toggleSelectedState(e); Main.map.mapView.viewportFollowing = isSelected(); notifySelectedState(); } @Override protected void updateEnabledState() { setEnabled(Main.getLayerManager().getEditDataSet() != null); } }