Changeset 15649 in josm for trunk/src/org


Ignore:
Timestamp:
2020-01-06T22:23:57+01:00 (6 years ago)
Author:
Don-vip
Message:

see #18514 - disable Window menu when empty

Location:
trunk/src/org/openstreetmap/josm
Files:
1 added
8 edited

Legend:

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

    r13106 r15649  
    9595
    9696    /**
     97     * Determines if the given component tracks visibility changes.
     98     * @param c The component.
     99     * @return {@code true} if the given component tracks visibility changes
     100     * @since 15649
     101     */
     102    public static synchronized boolean hasVisibilitySwitcher(Component c) {
     103        if (c == null) return false;
     104        return visibilityToggleListeners.containsListener(c);
     105    }
     106
     107    /**
    97108     * Constructs a new {@code ExpertToggleAction}.
    98109     */
  • trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java

    r14960 r15649  
    6161import org.openstreetmap.josm.gui.MapViewState.MapViewPoint;
    6262import org.openstreetmap.josm.gui.NavigatableComponent;
     63import org.openstreetmap.josm.gui.WindowMenu;
    6364import org.openstreetmap.josm.gui.draw.MapPath2D;
    6465import org.openstreetmap.josm.gui.layer.Layer;
     
    194195            }
    195196        }
    196         return MainMenu.addWithCheckbox(MainApplication.getMenu().editMenu, snapChangeAction, MainMenu.WINDOW_MENU_GROUP.VOLATILE);
     197        return MainMenu.addWithCheckbox(MainApplication.getMenu().editMenu, snapChangeAction, WindowMenu.WINDOW_MENU_GROUP.VOLATILE);
    197198    }
    198199
  • trunk/src/org/openstreetmap/josm/actions/mapmode/ExtrudeAction.java

    r15586 r15649  
    5151import org.openstreetmap.josm.gui.MapFrame;
    5252import org.openstreetmap.josm.gui.MapView;
     53import org.openstreetmap.josm.gui.WindowMenu;
    5354import org.openstreetmap.josm.gui.draw.MapViewPath;
    5455import org.openstreetmap.josm.gui.draw.SymbolShape;
     
    251252            }
    252253        }
    253         return MainMenu.addWithCheckbox(MainApplication.getMenu().editMenu, dualAlignChangeAction, MainMenu.WINDOW_MENU_GROUP.VOLATILE);
     254        return MainMenu.addWithCheckbox(MainApplication.getMenu().editMenu, dualAlignChangeAction, WindowMenu.WINDOW_MENU_GROUP.VOLATILE);
    254255    }
    255256
  • trunk/src/org/openstreetmap/josm/gui/MainMenu.java

    r15633 r15649  
    145145public class MainMenu extends JMenuBar {
    146146
    147     public enum WINDOW_MENU_GROUP { ALWAYS, TOGGLE_DIALOG, VOLATILE }
    148 
    149147    /* File menu */
    150148    /** File / New Layer **/
     
    392390     * to use WINDOW_MENU_GROUP to determine the group integer.
    393391     */
    394     public final JMenu windowMenu = addMenu("Windows", /* I18N: mnemonic: W */ trc("menu", "Windows"), KeyEvent.VK_W, 11, ht("/ToggleDialogs"));
     392    public final WindowMenu windowMenu = addMenu(new WindowMenu(), /* untranslated name */ "Windows", KeyEvent.VK_W, 11, ht("/ToggleDialogs"));
    395393
    396394    /**
     
    606604            boolean isEntryExpert, boolean isGroupSeparatorExpert) {
    607605        int i = getInsertionIndexForGroup(menu, group.ordinal(), isGroupSeparatorExpert);
    608         final JCheckBoxMenuItem mi = (JCheckBoxMenuItem) menu.add(new JCheckBoxMenuItem(action), i);
     606        final JCheckBoxMenuItem mi = new JCheckBoxMenuItem(action);
    609607        final KeyStroke ks = action.getShortcut().getKeyStroke();
    610608        if (ks != null) {
     
    614612            ExpertToggleAction.addVisibilitySwitcher(mi);
    615613        }
    616         return mi;
     614        return (JCheckBoxMenuItem) menu.add(mi, i);
    617615    }
    618616
     
    857855        // -- changeset manager toggle action
    858856        final JCheckBoxMenuItem mi = MainMenu.addWithCheckbox(windowMenu, changesetManager,
    859                 MainMenu.WINDOW_MENU_GROUP.ALWAYS, true, false);
     857                WindowMenu.WINDOW_MENU_GROUP.ALWAYS, true, false);
    860858        changesetManager.addButtonModel(mi.getModel());
    861859
  • trunk/src/org/openstreetmap/josm/gui/dialogs/ToggleDialog.java

    r15633 r15649  
    5454import org.openstreetmap.josm.gui.ShowHideButtonListener;
    5555import org.openstreetmap.josm.gui.SideButton;
     56import org.openstreetmap.josm.gui.WindowMenu;
    5657import org.openstreetmap.josm.gui.dialogs.DialogsPanel.Action;
    5758import org.openstreetmap.josm.gui.help.HelpUtil;
     
    266267        windowMenuItem = MainMenu.addWithCheckbox(MainApplication.getMenu().windowMenu,
    267268                (JosmAction) getToggleAction(),
    268                 MainMenu.WINDOW_MENU_GROUP.TOGGLE_DIALOG, false, true);
     269                WindowMenu.WINDOW_MENU_GROUP.TOGGLE_DIALOG, false, true);
    269270    }
    270271
  • trunk/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java

    r14679 r15649  
    6060import org.openstreetmap.josm.gui.MainMenu;
    6161import org.openstreetmap.josm.gui.ScrollViewport;
     62import org.openstreetmap.josm.gui.WindowMenu;
    6263import org.openstreetmap.josm.gui.datatransfer.ClipboardUtils;
    6364import org.openstreetmap.josm.gui.dialogs.relation.actions.AbstractRelationEditorAction;
     
    765766        };
    766767        focusAction.putValue("relationEditor", re);
    767         return MainMenu.add(MainApplication.getMenu().windowMenu, focusAction, MainMenu.WINDOW_MENU_GROUP.VOLATILE);
     768        return MainMenu.add(MainApplication.getMenu().windowMenu, focusAction, WindowMenu.WINDOW_MENU_GROUP.VOLATILE);
    768769    }
    769770
  • trunk/src/org/openstreetmap/josm/gui/help/HelpBrowser.java

    r14807 r15649  
    3737import org.openstreetmap.josm.gui.MainApplication;
    3838import org.openstreetmap.josm.gui.MainMenu;
     39import org.openstreetmap.josm.gui.WindowMenu;
    3940import org.openstreetmap.josm.gui.util.WindowGeometry;
    4041import org.openstreetmap.josm.gui.widgets.JosmEditorPane;
     
    214215            }
    215216            if (windowMenuItem == null && visible) {
    216                 windowMenuItem = MainMenu.add(menu.windowMenu, FOCUS_ACTION, MainMenu.WINDOW_MENU_GROUP.VOLATILE);
     217                windowMenuItem = MainMenu.add(menu.windowMenu, FOCUS_ACTION, WindowMenu.WINDOW_MENU_GROUP.VOLATILE);
    217218            }
    218219        }
  • trunk/src/org/openstreetmap/josm/tools/ListenerList.java

    r13203 r15649  
    113113    }
    114114
    115     private boolean containsListener(T listener) {
     115    /**
     116     * Determines if this listener list contains the given listener.
     117     * @param listener listener to find
     118     * @return {@code true} is the listener is known
     119     * @since 15649
     120     */
     121    public synchronized boolean containsListener(T listener) {
    116122        return listeners.contains(listener) || weakListeners.contains(new WeakListener<>(listener));
    117123    }
Note: See TracChangeset for help on using the changeset viewer.