Skip to content

Commit aa05b50

Browse files
committed
missing startup selection if board missed container property
1 parent a6b892e commit aa05b50

File tree

1 file changed

+26
-7
lines changed

1 file changed

+26
-7
lines changed

app/src/processing/app/Base.java

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1192,8 +1192,19 @@ public void actionPerformed(ActionEvent actionevent) {
11921192
@Override
11931193
public void actionPerformed(ActionEvent e) {
11941194
cpuTypeMenu.setEnabled(false);
1195+
Preferences.unset("board_container");
11951196
selectBoardAction.actionPerformed(e);
11961197
}
1198+
1199+
@Override
1200+
public Object getValue(String key) {
1201+
return selectBoardAction.getValue(key);
1202+
}
1203+
1204+
@Override
1205+
public void putValue(String key, Object newValue) {
1206+
selectBoardAction.putValue(key, newValue);
1207+
}
11971208
};
11981209
JMenuItem item = new JRadioButtonMenuItem(selectBoardWithoutContainerAction);
11991210
boardsButtonGroup.add(item);
@@ -1203,11 +1214,12 @@ public void actionPerformed(ActionEvent e) {
12031214
}
12041215
}
12051216

1206-
JMenuItem selectedBoardMenu;
1207-
if (selBoardContainer == null) {
1208-
selectedBoardMenu = selectFirstEnabledMenuItem(boardsMenu);
1209-
} else {
1210-
selectedBoardMenu = selectMenuItemByBoardContainer(boardsMenu, selBoardContainer);
1217+
JMenuItem selectedBoardMenu = selectMenuItemByBoardContainer(boardsMenu, selBoardContainer);
1218+
if (selectedBoardMenu == null) {
1219+
selectedBoardMenu = selectMenuItemByBoardPackagePlatform(boardsMenu, selBoard, selPackage, selPlatform);
1220+
if (selectedBoardMenu == null) {
1221+
selectedBoardMenu = selectFirstEnabledMenuItem(boardsMenu);
1222+
}
12111223
}
12121224
selectedBoardMenu.doClick();
12131225

@@ -1217,6 +1229,9 @@ public void actionPerformed(ActionEvent e) {
12171229
selectedCPUTypeMenu = selectFirstEnabledMenuItem(cpuTypeMenu);
12181230
} else {
12191231
selectedCPUTypeMenu = selectMenuItemByBoardPackagePlatform(cpuTypeMenu, selBoard, selPackage, selPlatform);
1232+
if (selectedCPUTypeMenu == null) {
1233+
selectedCPUTypeMenu = selectFirstEnabledMenuItem(cpuTypeMenu);
1234+
}
12201235
}
12211236
selectedCPUTypeMenu.doClick();
12221237
}
@@ -1254,13 +1269,17 @@ private static JMenuItem selectFirstEnabledMenuItem(JMenu menu) {
12541269
}
12551270

12561271
private static JMenuItem selectMenuItemByBoardContainer(JMenu menu, String boardContainer) {
1272+
if (boardContainer == null) {
1273+
return null;
1274+
}
1275+
12571276
for (int i = 0; i < menu.getItemCount(); i++) {
12581277
JMenuItem item = menu.getItem(i);
12591278
if (item != null && item.getAction() != null && boardContainer.equals(item.getAction().getValue("board_container"))) {
12601279
return item;
12611280
}
12621281
}
1263-
return selectFirstEnabledMenuItem(menu);
1282+
return null;
12641283
}
12651284

12661285
private static JMenuItem selectMenuItemByBoardPackagePlatform(JMenu menu, String selBoard, String selPackage, String selPlatform) {
@@ -1271,7 +1290,7 @@ private static JMenuItem selectMenuItemByBoardPackagePlatform(JMenu menu, String
12711290
return item;
12721291
}
12731292
}
1274-
return selectFirstEnabledMenuItem(menu);
1293+
return null;
12751294
}
12761295

12771296
private JMenuItem findOrCreateBoardContainerMenu(JMenu boardsMenu, ButtonGroup boardsButtonGroup, String boardContainerName, AbstractAction boardMenuAction) {

0 commit comments

Comments
 (0)