keyboard: add shortcut keys to Game menu

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@770 d9718cc8-9f43-0410-858b-315f434eb58c
This commit is contained in:
jason@long.name 2013-07-25 20:47:19 +00:00
parent a1fc7c20a2
commit f55492f8b8
2 changed files with 41 additions and 0 deletions

View file

@ -400,15 +400,43 @@ public class MainWindow extends JFrame
return pane;
}
private void setupKeys(JMenu menu, String prefix)
{
if (strings.containsKey(prefix+".access_key")) {
String mnemonic = strings.getString(prefix+".access_key");
menu.setMnemonic(
KeyStroke.getKeyStroke(mnemonic).getKeyCode()
);
}
}
private void setupKeys(JMenuItem menuItem, String prefix)
{
if (strings.containsKey(prefix+".access_key")) {
String mnemonic = strings.getString(prefix+".access_key");
menuItem.setMnemonic(
KeyStroke.getKeyStroke(mnemonic).getKeyCode()
);
}
if (strings.containsKey(prefix+".shortcut")) {
String shortcut = strings.getString(prefix+".shortcut");
menuItem.setAccelerator(
KeyStroke.getKeyStroke(shortcut)
);
}
}
private void makeMenu()
{
JMenuBar menuBar = new JMenuBar();
JMenu gameMenu = new JMenu(strings.getString("menu.game"));
setupKeys(gameMenu, "menu.game");
menuBar.add(gameMenu);
JMenuItem menuItem;
menuItem = new JMenuItem(strings.getString("menu.game.new"));
setupKeys(menuItem, "menu.game.new");
menuItem.addActionListener(wrapActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent ev)
@ -419,6 +447,7 @@ public class MainWindow extends JFrame
gameMenu.add(menuItem);
menuItem = new JMenuItem(strings.getString("menu.game.load"));
setupKeys(menuItem, "menu.game.load");
menuItem.addActionListener(wrapActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent ev)
@ -429,6 +458,7 @@ public class MainWindow extends JFrame
gameMenu.add(menuItem);
menuItem = new JMenuItem(strings.getString("menu.game.save"));
setupKeys(menuItem, "menu.game.save");
menuItem.addActionListener(wrapActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent ev)
@ -439,6 +469,7 @@ public class MainWindow extends JFrame
gameMenu.add(menuItem);
menuItem = new JMenuItem(strings.getString("menu.game.save_as"));
setupKeys(menuItem, "menu.game.save_as");
menuItem.addActionListener(wrapActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent ev)
@ -449,6 +480,7 @@ public class MainWindow extends JFrame
gameMenu.add(menuItem);
menuItem = new JMenuItem(strings.getString("menu.game.exit"));
setupKeys(menuItem, "menu.game.exit");
menuItem.addActionListener(wrapActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent ev)

View file

@ -69,11 +69,20 @@ menu.overlays.FIRE_OVERLAY = Fire Coverage
menu.overlays.POLICE_OVERLAY = Police Coverage
menu.game = Game
menu.game.access_key = G
menu.game.new = New City...
menu.game.new.access_key = N
menu.game.new.shortcut = ctrl N
menu.game.load = Load City...
menu.game.load.access_key = L
menu.game.load.shortcut = ctrl O
menu.game.save = Save City
menu.game.save.access_key = S
menu.game.save.shortcut = ctrl S
menu.game.save_as = Save City as...
menu.game.save_as.access_key = A
menu.game.exit = Exit
menu.game.exit.access_key = X
menu.options = Options
menu.options.auto_budget = Auto Budget