From 0947e3d55c5170c69346382320635a53b8e4fe4d Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Mon, 4 Mar 2013 17:56:51 +0100 Subject: [PATCH] Unused custom menus are not showed --- app/src/processing/app/Base.java | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/app/src/processing/app/Base.java b/app/src/processing/app/Base.java index a69eb53ae..976e4f3ae 100644 --- a/app/src/processing/app/Base.java +++ b/app/src/processing/app/Base.java @@ -1229,15 +1229,13 @@ public class Base { Map buttonGroupsMap = new HashMap(); // Generate custom menus for all platforms + Set titles = new HashSet(); for (TargetPackage targetPackage : packages.values()) { - for (TargetPlatform targetPlatform : targetPackage.platforms()) { - PreferencesMap customMenus = targetPlatform.getCustomMenus(); - for (String menuId : customMenus.keySet()) { - String title = customMenus.get(menuId); - makeBoardCustomMenu(toolsMenu, _(title)); - } - } + for (TargetPlatform targetPlatform : targetPackage.platforms()) + titles.addAll(targetPlatform.getCustomMenus().values()); } + for (String title : titles) + makeBoardCustomMenu(toolsMenu, _(title)); // Cycle through all packages for (TargetPackage targetPackage : packages.values()) { @@ -1399,9 +1397,9 @@ public class Base { JMenuItem menuItem = menu.getItem(m); menuItem.setVisible(menuItem.getAction().getValue("board").equals(boardID)); } - menu.setEnabled(ifThereAreVisibleItemsOn(menu)); + menu.setVisible(ifThereAreVisibleItemsOn(menu)); - if (menu.isEnabled()) { + if (menu.isVisible()) { JMenuItem visibleSelectedOrFirstMenuItem = selectVisibleSelectedOrFirstMenuItem(menu); if (!visibleSelectedOrFirstMenuItem.isSelected()) { visibleSelectedOrFirstMenuItem.setSelected(true);