source: josm/trunk/src/org/openstreetmap/josm/actions/ToggleUploadDiscouragedLayerAction.java@ 13111

Last change on this file since 13111 was 13072, checked in by stoecker, 6 years ago

see #10832 - set proper help text link

  • Property svn:eol-style set to native
File size: 2.0 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.Component;
8import java.awt.event.ActionEvent;
9import java.util.List;
10
11import javax.swing.AbstractAction;
12import javax.swing.JCheckBoxMenuItem;
13
14import org.openstreetmap.josm.gui.dialogs.LayerListDialog;
15import org.openstreetmap.josm.gui.layer.Layer;
16import org.openstreetmap.josm.gui.layer.Layer.LayerAction;
17import org.openstreetmap.josm.gui.layer.OsmDataLayer;
18import org.openstreetmap.josm.tools.ImageProvider;
19
20/**
21 * An action enabling/disabling the {@linkplain OsmDataLayer#setUploadDiscouraged(boolean) discouraged upload flag}
22 * of the layer specified in the constructor.
23 */
24public class ToggleUploadDiscouragedLayerAction extends AbstractAction implements LayerAction {
25
26 private final transient OsmDataLayer layer;
27
28 /**
29 * Constructs a new {@code ToggleUploadDiscouragedLayerAction}.
30 * @param layer the layer for which to toggle the {@linkplain OsmDataLayer#setUploadDiscouraged(boolean) discouraged upload flag}
31 */
32 public ToggleUploadDiscouragedLayerAction(OsmDataLayer layer) {
33 super(tr("Discourage upload"), ImageProvider.get("no_upload"));
34 this.layer = layer;
35 setEnabled(layer.isUploadable());
36 putValue("help", ht("/Action/EncourageDiscourageUpload"));
37 }
38
39 @Override
40 public void actionPerformed(ActionEvent e) {
41 layer.setUploadDiscouraged(!layer.isUploadDiscouraged());
42 LayerListDialog.getInstance().repaint();
43 }
44
45 @Override
46 public Component createMenuComponent() {
47 JCheckBoxMenuItem item = new JCheckBoxMenuItem(this);
48 item.setSelected(layer.isUploadDiscouraged() || !layer.isUploadable());
49 return item;
50 }
51
52 @Override
53 public boolean supportLayers(List<Layer> layers) {
54 return layers.size() == 1 && layers.get(0) instanceof OsmDataLayer;
55 }
56}
Note: See TracBrowser for help on using the repository browser.