Changeset 4924 in josm for trunk/src


Ignore:
Timestamp:
2012-02-13T07:57:34+01:00 (13 years ago)
Author:
akks
Message:

fix #7380: "Angle snapping" repeated entry in Edit menu

File:
1 edited

Legend:

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

    r4917 r4924  
    33
    44import javax.swing.JCheckBoxMenuItem;
     5import javax.swing.JMenuItem;
    56import static org.openstreetmap.josm.tools.I18n.tr;
    67import static org.openstreetmap.josm.tools.I18n.trn;
     
    1314import java.awt.Cursor;
    1415import java.awt.Graphics2D;
     16import java.awt.MenuItem;
    1517import java.awt.Point;
    1618import java.awt.Stroke;
     
    115117        snappingKeyCode = Shortcut.registerShortcut("mapmode:drawanglesnapping", tr("Mode: Draw Angle snapping"), KeyEvent.VK_TAB, Shortcut.GROUP_EDIT)
    116118                .getKeyStroke().getKeyCode();
    117         snapCheckboxMenuItem = MainMenu.addWithCheckbox(Main.main.menu.editMenu, new SnapChangeAction(),  MainMenu.WINDOW_MENU_GROUP.VOLATILE);
     119        addMenuItem();
    118120        snapHelper.setMenuCheckBox(snapCheckboxMenuItem);
    119121        cursorJoinNode = ImageProvider.getCursor("crosshair", "joinnode");
    120122        cursorJoinWay = ImageProvider.getCursor("crosshair", "joinway");
     123    }
     124
     125    private void addMenuItem() {
     126        int n=Main.main.menu.editMenu.getItemCount();
     127        for (int i=n-1;i>0;i--) {
     128            JMenuItem item = Main.main.menu.editMenu.getItem(i);
     129            if (item!=null && item.getAction() !=null && item.getAction() instanceof SnapChangeAction) {
     130                Main.main.menu.editMenu.remove(i);
     131            }
     132        }
     133        snapCheckboxMenuItem = MainMenu.addWithCheckbox(Main.main.menu.editMenu, new SnapChangeAction(),  MainMenu.WINDOW_MENU_GROUP.VOLATILE);
    121134    }
    122135
Note: See TracChangeset for help on using the changeset viewer.