source: josm/trunk/src/org/openstreetmap/josm/actions/ZoomOutAction.java@ 17534

Last change on this file since 17534 was 16509, checked in by GerdP, 4 years ago

see #19296: Actions should avoid to install listeners which are not needed

  • either don't call installAdapters() or overwrite listenToSelectionChange()
  • partly reverts previous changes so that installAdapters() is not overwritten

One has to be careful because installAdapters() also calls initEnabledState()

  • Property svn:eol-style set to native
File size: 1.4 KB
Line 
1// License: GPL. For details, see LICENSE file.
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.gui.MainApplication;
11import org.openstreetmap.josm.tools.Shortcut;
12
13/**
14 * Zoom out map.
15 * @since 770
16 */
17public final class ZoomOutAction extends JosmAction {
18
19 /**
20 * Constructs a new {@code ZoomOutAction}.
21 */
22 public ZoomOutAction() {
23 super(tr("Zoom Out"), "dialogs/zoomout", tr("Zoom Out"),
24 Shortcut.registerShortcut("view:zoomout", tr("View: {0}", tr("Zoom Out")), KeyEvent.VK_MINUS, Shortcut.DIRECT), true);
25 setHelpId(ht("/Action/ZoomOut"));
26 // make numpad - behave like -
27 MainApplication.registerActionShortcut(this,
28 Shortcut.registerShortcut("view:zoomoutkeypad", tr("View: {0}", tr("Zoom Out (Keypad)")),
29 KeyEvent.VK_SUBTRACT, Shortcut.DIRECT));
30 }
31
32 @Override
33 public void actionPerformed(ActionEvent e) {
34 if (!MainApplication.isDisplayingMapView()) return;
35 MainApplication.getMap().mapView.zoomOut();
36 }
37
38 @Override
39 protected boolean listenToSelectionChange() {
40 return false;
41 }
42
43 @Override
44 protected void updateEnabledState() {
45 setEnabled(!getLayerManager().getLayers().isEmpty());
46 }
47}
Note: See TracBrowser for help on using the repository browser.