@@ -1424,15 +1424,31 @@ protected void onIndexesUpdated() throws Exception {
1424
1424
onBoardOrPortChange ();
1425
1425
}
1426
1426
1427
+ public void setMenuItemIncrementalMnemonic (JMenuItem item , int i ) {
1428
+ char c ;
1429
+ if (i >=0 && i <26 ) {
1430
+ c = (char )(i +'a' );
1431
+ } else if (i >=26 && i <26 *2 ) {
1432
+ c = (char )(i -26 +'A' );
1433
+ } else if (i >=26 *2 && i <26 *2 + 10 ) {
1434
+ c = (char )(i -26 *2 +'0' );
1435
+ } else {
1436
+ return ;
1437
+ }
1438
+ item .setText (c + ". " + item .getText ());
1439
+ item .setMnemonic (c );
1440
+ }
1441
+
1427
1442
public void rebuildBoardsMenu () throws Exception {
1428
1443
boardsCustomMenus = new LinkedList <>();
1429
1444
1430
1445
// The first custom menu is the "Board" selection submenu
1431
1446
JMenu boardMenu = new JMenu (tr ("Board" ));
1447
+ boardMenu .setMnemonic ('B' );
1432
1448
boardMenu .putClientProperty ("removeOnWindowDeactivation" , true );
1433
1449
MenuScroller .setScrollerFor (boardMenu ).setTopFixedCount (1 );
1434
1450
1435
- boardMenu . add ( new JMenuItem (new AbstractAction (tr ("Boards Manager..." )) {
1451
+ JMenuItem menuItem = new JMenuItem (new AbstractAction (tr ("Boards Manager..." )) {
1436
1452
public void actionPerformed (ActionEvent actionevent ) {
1437
1453
String filterText = "" ;
1438
1454
String dropdownItem = "" ;
@@ -1448,7 +1464,9 @@ public void actionPerformed(ActionEvent actionevent) {
1448
1464
e .printStackTrace ();
1449
1465
}
1450
1466
}
1451
- }));
1467
+ });
1468
+ menuItem .setMnemonic ('M' );
1469
+ boardMenu .add (menuItem );
1452
1470
boardsCustomMenus .add (boardMenu );
1453
1471
1454
1472
// If there are no platforms installed we are done
@@ -1522,9 +1540,14 @@ public void actionPerformed(ActionEvent actionevent) {
1522
1540
}
1523
1541
} else {
1524
1542
// For multiple platforms, use submenus
1543
+ // int i=0;
1544
+ String keys ="" ;
1545
+ int i =0 ;
1525
1546
for (JMenu platformMenu : platformMenus ) {
1526
1547
if (firstBoardItem == null && platformMenu .getItemCount () > 0 )
1527
1548
firstBoardItem = platformMenu .getItem (0 );
1549
+ setMenuItemIncrementalMnemonic (platformMenu , i );
1550
+ i ++;
1528
1551
boardMenu .add (platformMenu );
1529
1552
}
1530
1553
}
0 commit comments