From 6c1100f9ecf125e895ad99455b4852565f25249d Mon Sep 17 00:00:00 2001 From: Matthijs Kooijman Date: Thu, 19 Sep 2019 17:03:34 +0200 Subject: [PATCH] Do not use a boards submenu with just one platform When just one platform is installed, it does not make much sense to use a submenu, so just add the boards directly under the boards menu as before. --- app/src/processing/app/Base.java | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/app/src/processing/app/Base.java b/app/src/processing/app/Base.java index 3d27f3586..130dc8895 100644 --- a/app/src/processing/app/Base.java +++ b/app/src/processing/app/Base.java @@ -1511,10 +1511,21 @@ public class Base { } JMenuItem firstBoardItem = null; - for (JMenu platformMenu : platformMenus) { - if (firstBoardItem == null && platformMenu.getItemCount() > 0) - firstBoardItem = platformMenu.getItem(0); - boardMenu.add(platformMenu); + if (platformMenus.size() == 1) { + // When just one platform exists, add the board items directly, + // rather than using a submenu + for (Component boardItem : platformMenus.get(0).getMenuComponents()) { + boardMenu.add(boardItem); + if (firstBoardItem == null) + firstBoardItem = (JMenuItem)boardItem; + } + } else { + // For multiple platforms, use submenus + for (JMenu platformMenu : platformMenus) { + if (firstBoardItem == null && platformMenu.getItemCount() > 0) + firstBoardItem = platformMenu.getItem(0); + boardMenu.add(platformMenu); + } } if (firstBoardItem == null) {