@@ -1192,8 +1192,19 @@ public void actionPerformed(ActionEvent actionevent) {
1192
1192
@ Override
1193
1193
public void actionPerformed (ActionEvent e ) {
1194
1194
cpuTypeMenu .setEnabled (false );
1195
+ Preferences .unset ("board_container" );
1195
1196
selectBoardAction .actionPerformed (e );
1196
1197
}
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
+ }
1197
1208
};
1198
1209
JMenuItem item = new JRadioButtonMenuItem (selectBoardWithoutContainerAction );
1199
1210
boardsButtonGroup .add (item );
@@ -1203,11 +1214,12 @@ public void actionPerformed(ActionEvent e) {
1203
1214
}
1204
1215
}
1205
1216
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
+ }
1211
1223
}
1212
1224
selectedBoardMenu .doClick ();
1213
1225
@@ -1217,6 +1229,9 @@ public void actionPerformed(ActionEvent e) {
1217
1229
selectedCPUTypeMenu = selectFirstEnabledMenuItem (cpuTypeMenu );
1218
1230
} else {
1219
1231
selectedCPUTypeMenu = selectMenuItemByBoardPackagePlatform (cpuTypeMenu , selBoard , selPackage , selPlatform );
1232
+ if (selectedCPUTypeMenu == null ) {
1233
+ selectedCPUTypeMenu = selectFirstEnabledMenuItem (cpuTypeMenu );
1234
+ }
1220
1235
}
1221
1236
selectedCPUTypeMenu .doClick ();
1222
1237
}
@@ -1254,13 +1269,17 @@ private static JMenuItem selectFirstEnabledMenuItem(JMenu menu) {
1254
1269
}
1255
1270
1256
1271
private static JMenuItem selectMenuItemByBoardContainer (JMenu menu , String boardContainer ) {
1272
+ if (boardContainer == null ) {
1273
+ return null ;
1274
+ }
1275
+
1257
1276
for (int i = 0 ; i < menu .getItemCount (); i ++) {
1258
1277
JMenuItem item = menu .getItem (i );
1259
1278
if (item != null && item .getAction () != null && boardContainer .equals (item .getAction ().getValue ("board_container" ))) {
1260
1279
return item ;
1261
1280
}
1262
1281
}
1263
- return selectFirstEnabledMenuItem ( menu ) ;
1282
+ return null ;
1264
1283
}
1265
1284
1266
1285
private static JMenuItem selectMenuItemByBoardPackagePlatform (JMenu menu , String selBoard , String selPackage , String selPlatform ) {
@@ -1271,7 +1290,7 @@ private static JMenuItem selectMenuItemByBoardPackagePlatform(JMenu menu, String
1271
1290
return item ;
1272
1291
}
1273
1292
}
1274
- return selectFirstEnabledMenuItem ( menu ) ;
1293
+ return null ;
1275
1294
}
1276
1295
1277
1296
private JMenuItem findOrCreateBoardContainerMenu (JMenu boardsMenu , ButtonGroup boardsButtonGroup , String boardContainerName , AbstractAction boardMenuAction ) {
0 commit comments