keyboard: define access keys for more menus
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@771 d9718cc8-9f43-0410-858b-315f434eb58c
This commit is contained in:
parent
f55492f8b8
commit
f0f101b78d
2 changed files with 66 additions and 10 deletions
|
@ -402,8 +402,8 @@ public class MainWindow extends JFrame
|
|||
|
||||
private void setupKeys(JMenu menu, String prefix)
|
||||
{
|
||||
if (strings.containsKey(prefix+".access_key")) {
|
||||
String mnemonic = strings.getString(prefix+".access_key");
|
||||
if (strings.containsKey(prefix+".key")) {
|
||||
String mnemonic = strings.getString(prefix+".key");
|
||||
menu.setMnemonic(
|
||||
KeyStroke.getKeyStroke(mnemonic).getKeyCode()
|
||||
);
|
||||
|
@ -412,8 +412,8 @@ public class MainWindow extends JFrame
|
|||
|
||||
private void setupKeys(JMenuItem menuItem, String prefix)
|
||||
{
|
||||
if (strings.containsKey(prefix+".access_key")) {
|
||||
String mnemonic = strings.getString(prefix+".access_key");
|
||||
if (strings.containsKey(prefix+".key")) {
|
||||
String mnemonic = strings.getString(prefix+".key");
|
||||
menuItem.setMnemonic(
|
||||
KeyStroke.getKeyStroke(mnemonic).getKeyCode()
|
||||
);
|
||||
|
@ -491,9 +491,11 @@ public class MainWindow extends JFrame
|
|||
gameMenu.add(menuItem);
|
||||
|
||||
JMenu optionsMenu = new JMenu(strings.getString("menu.options"));
|
||||
setupKeys(optionsMenu, "menu.options");
|
||||
menuBar.add(optionsMenu);
|
||||
|
||||
JMenu levelMenu = new JMenu(strings.getString("menu.difficulty"));
|
||||
setupKeys(levelMenu, "menu.difficulty");
|
||||
optionsMenu.add(levelMenu);
|
||||
|
||||
difficultyMenuItems = new HashMap<Integer,JMenuItem>();
|
||||
|
@ -501,6 +503,7 @@ public class MainWindow extends JFrame
|
|||
{
|
||||
final int level = i;
|
||||
menuItem = new JRadioButtonMenuItem(strings.getString("menu.difficulty."+level));
|
||||
setupKeys(menuItem, "menu.difficulty."+level);
|
||||
menuItem.addActionListener(wrapActionListener(
|
||||
new ActionListener() {
|
||||
public void actionPerformed(ActionEvent evt) {
|
||||
|
@ -512,6 +515,7 @@ public class MainWindow extends JFrame
|
|||
}
|
||||
|
||||
autoBudgetMenuItem = new JCheckBoxMenuItem(strings.getString("menu.options.auto_budget"));
|
||||
setupKeys(autoBudgetMenuItem, "menu.options.auto_budget");
|
||||
autoBudgetMenuItem.addActionListener(wrapActionListener(
|
||||
new ActionListener() {
|
||||
public void actionPerformed(ActionEvent ev)
|
||||
|
@ -522,6 +526,7 @@ public class MainWindow extends JFrame
|
|||
optionsMenu.add(autoBudgetMenuItem);
|
||||
|
||||
autoBulldozeMenuItem = new JCheckBoxMenuItem(strings.getString("menu.options.auto_bulldoze"));
|
||||
setupKeys(autoBulldozeMenuItem, "menu.options.auto_bulldoze");
|
||||
autoBulldozeMenuItem.addActionListener(wrapActionListener(
|
||||
new ActionListener() {
|
||||
public void actionPerformed(ActionEvent ev)
|
||||
|
@ -532,6 +537,7 @@ public class MainWindow extends JFrame
|
|||
optionsMenu.add(autoBulldozeMenuItem);
|
||||
|
||||
disastersMenuItem = new JCheckBoxMenuItem(strings.getString("menu.options.disasters"));
|
||||
setupKeys(disastersMenuItem, "menu.options.disasters");
|
||||
disastersMenuItem.addActionListener(wrapActionListener(
|
||||
new ActionListener() {
|
||||
public void actionPerformed(ActionEvent ev)
|
||||
|
@ -542,6 +548,7 @@ public class MainWindow extends JFrame
|
|||
optionsMenu.add(disastersMenuItem);
|
||||
|
||||
soundsMenuItem = new JCheckBoxMenuItem(strings.getString("menu.options.sound"));
|
||||
setupKeys(soundsMenuItem, "menu.options.sound");
|
||||
soundsMenuItem.addActionListener(wrapActionListener(
|
||||
new ActionListener() {
|
||||
public void actionPerformed(ActionEvent ev)
|
||||
|
@ -552,9 +559,11 @@ public class MainWindow extends JFrame
|
|||
optionsMenu.add(soundsMenuItem);
|
||||
|
||||
JMenu disastersMenu = new JMenu(strings.getString("menu.disasters"));
|
||||
setupKeys(disastersMenu, "menu.disasters");
|
||||
menuBar.add(disastersMenu);
|
||||
|
||||
menuItem = new JMenuItem(strings.getString("menu.disasters.MONSTER"));
|
||||
setupKeys(menuItem, "menu.disasters.MONSTER");
|
||||
menuItem.addActionListener(wrapActionListener(
|
||||
new ActionListener() {
|
||||
public void actionPerformed(ActionEvent ev)
|
||||
|
@ -565,6 +574,7 @@ public class MainWindow extends JFrame
|
|||
disastersMenu.add(menuItem);
|
||||
|
||||
menuItem = new JMenuItem(strings.getString("menu.disasters.FIRE"));
|
||||
setupKeys(menuItem, "menu.disasters.FIRE");
|
||||
menuItem.addActionListener(wrapActionListener(
|
||||
new ActionListener() {
|
||||
public void actionPerformed(ActionEvent ev)
|
||||
|
@ -575,6 +585,7 @@ public class MainWindow extends JFrame
|
|||
disastersMenu.add(menuItem);
|
||||
|
||||
menuItem = new JMenuItem(strings.getString("menu.disasters.FLOOD"));
|
||||
setupKeys(menuItem, "menu.disasters.FLOOD");
|
||||
menuItem.addActionListener(wrapActionListener(
|
||||
new ActionListener() {
|
||||
public void actionPerformed(ActionEvent ev)
|
||||
|
@ -585,6 +596,7 @@ public class MainWindow extends JFrame
|
|||
disastersMenu.add(menuItem);
|
||||
|
||||
menuItem = new JMenuItem(strings.getString("menu.disasters.MELTDOWN"));
|
||||
setupKeys(menuItem, "menu.disasters.MELTDOWN");
|
||||
menuItem.addActionListener(wrapActionListener(
|
||||
new ActionListener() {
|
||||
public void actionPerformed(ActionEvent ev)
|
||||
|
@ -595,6 +607,7 @@ public class MainWindow extends JFrame
|
|||
disastersMenu.add(menuItem);
|
||||
|
||||
menuItem = new JMenuItem(strings.getString("menu.disasters.TORNADO"));
|
||||
setupKeys(menuItem, "menu.disasters.TORNADO");
|
||||
menuItem.addActionListener(wrapActionListener(
|
||||
new ActionListener() {
|
||||
public void actionPerformed(ActionEvent ev)
|
||||
|
@ -605,6 +618,7 @@ public class MainWindow extends JFrame
|
|||
disastersMenu.add(menuItem);
|
||||
|
||||
menuItem = new JMenuItem(strings.getString("menu.disasters.EARTHQUAKE"));
|
||||
setupKeys(menuItem, "menu.disasters.EARTHQUAKE");
|
||||
menuItem.addActionListener(wrapActionListener(
|
||||
new ActionListener() {
|
||||
public void actionPerformed(ActionEvent ev)
|
||||
|
@ -615,10 +629,12 @@ public class MainWindow extends JFrame
|
|||
disastersMenu.add(menuItem);
|
||||
|
||||
JMenu priorityMenu = new JMenu(strings.getString("menu.speed"));
|
||||
setupKeys(priorityMenu, "menu.speed");
|
||||
menuBar.add(priorityMenu);
|
||||
|
||||
priorityMenuItems = new EnumMap<Speed,JMenuItem>(Speed.class);
|
||||
menuItem = new JRadioButtonMenuItem(strings.getString("menu.speed.SUPER_FAST"));
|
||||
setupKeys(menuItem, "menu.speed.SUPER_FAST");
|
||||
menuItem.addActionListener(wrapActionListener(
|
||||
new ActionListener() {
|
||||
public void actionPerformed(ActionEvent ev)
|
||||
|
@ -630,6 +646,7 @@ public class MainWindow extends JFrame
|
|||
priorityMenuItems.put(Speed.SUPER_FAST, menuItem);
|
||||
|
||||
menuItem = new JRadioButtonMenuItem(strings.getString("menu.speed.FAST"));
|
||||
setupKeys(menuItem, "menu.speed.FAST");
|
||||
menuItem.addActionListener(wrapActionListener(
|
||||
new ActionListener() {
|
||||
public void actionPerformed(ActionEvent ev)
|
||||
|
@ -641,6 +658,7 @@ public class MainWindow extends JFrame
|
|||
priorityMenuItems.put(Speed.FAST, menuItem);
|
||||
|
||||
menuItem = new JRadioButtonMenuItem(strings.getString("menu.speed.NORMAL"));
|
||||
setupKeys(menuItem, "menu.speed.NORMAL");
|
||||
menuItem.addActionListener(wrapActionListener(
|
||||
new ActionListener() {
|
||||
public void actionPerformed(ActionEvent ev)
|
||||
|
@ -652,6 +670,7 @@ public class MainWindow extends JFrame
|
|||
priorityMenuItems.put(Speed.NORMAL, menuItem);
|
||||
|
||||
menuItem = new JRadioButtonMenuItem(strings.getString("menu.speed.SLOW"));
|
||||
setupKeys(menuItem, "menu.speed.SLOW");
|
||||
menuItem.addActionListener(wrapActionListener(
|
||||
new ActionListener() {
|
||||
public void actionPerformed(ActionEvent ev)
|
||||
|
@ -663,6 +682,7 @@ public class MainWindow extends JFrame
|
|||
priorityMenuItems.put(Speed.SLOW, menuItem);
|
||||
|
||||
menuItem = new JRadioButtonMenuItem(strings.getString("menu.speed.PAUSED"));
|
||||
setupKeys(menuItem, "menu.speed.PAUSED");
|
||||
menuItem.addActionListener(wrapActionListener(
|
||||
new ActionListener() {
|
||||
public void actionPerformed(ActionEvent ev)
|
||||
|
@ -674,9 +694,11 @@ public class MainWindow extends JFrame
|
|||
priorityMenuItems.put(Speed.PAUSED, menuItem);
|
||||
|
||||
JMenu windowsMenu = new JMenu(strings.getString("menu.windows"));
|
||||
setupKeys(windowsMenu, "menu.windows");
|
||||
menuBar.add(windowsMenu);
|
||||
|
||||
menuItem = new JMenuItem(strings.getString("menu.windows.budget"));
|
||||
setupKeys(menuItem, "menu.windows.budget");
|
||||
menuItem.addActionListener(wrapActionListener(
|
||||
new ActionListener() {
|
||||
public void actionPerformed(ActionEvent ev)
|
||||
|
@ -687,6 +709,7 @@ public class MainWindow extends JFrame
|
|||
windowsMenu.add(menuItem);
|
||||
|
||||
menuItem = new JMenuItem(strings.getString("menu.windows.evaluation"));
|
||||
setupKeys(menuItem, "menu.windows.evaluation");
|
||||
menuItem.addActionListener(wrapActionListener(
|
||||
new ActionListener() {
|
||||
public void actionPerformed(ActionEvent ev)
|
||||
|
@ -697,6 +720,7 @@ public class MainWindow extends JFrame
|
|||
windowsMenu.add(menuItem);
|
||||
|
||||
menuItem = new JMenuItem(strings.getString("menu.windows.graph"));
|
||||
setupKeys(menuItem, "menu.windows.graph");
|
||||
menuItem.addActionListener(wrapActionListener(
|
||||
new ActionListener() {
|
||||
public void actionPerformed(ActionEvent ev)
|
||||
|
@ -707,9 +731,11 @@ public class MainWindow extends JFrame
|
|||
windowsMenu.add(menuItem);
|
||||
|
||||
JMenu helpMenu = new JMenu(strings.getString("menu.help"));
|
||||
setupKeys(helpMenu, "menu.help");
|
||||
menuBar.add(helpMenu);
|
||||
|
||||
menuItem = new JMenuItem(strings.getString("menu.help.launch-translation-tool"));
|
||||
setupKeys(menuItem, "menu.help.launch-translation-tool");
|
||||
menuItem.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent evt)
|
||||
{
|
||||
|
@ -718,6 +744,7 @@ public class MainWindow extends JFrame
|
|||
helpMenu.add(menuItem);
|
||||
|
||||
menuItem = new JMenuItem(strings.getString("menu.help.about"));
|
||||
setupKeys(menuItem, "menu.help.about");
|
||||
menuItem.addActionListener(wrapActionListener(
|
||||
new ActionListener() {
|
||||
public void actionPerformed(ActionEvent ev)
|
||||
|
|
|
@ -69,55 +69,84 @@ menu.overlays.FIRE_OVERLAY = Fire Coverage
|
|||
menu.overlays.POLICE_OVERLAY = Police Coverage
|
||||
|
||||
menu.game = Game
|
||||
menu.game.access_key = G
|
||||
menu.game.key = G
|
||||
menu.game.new = New City...
|
||||
menu.game.new.access_key = N
|
||||
menu.game.new.key = N
|
||||
menu.game.new.shortcut = ctrl N
|
||||
menu.game.load = Load City...
|
||||
menu.game.load.access_key = L
|
||||
menu.game.load.key = L
|
||||
menu.game.load.shortcut = ctrl O
|
||||
menu.game.save = Save City
|
||||
menu.game.save.access_key = S
|
||||
menu.game.save.key = S
|
||||
menu.game.save.shortcut = ctrl S
|
||||
menu.game.save_as = Save City as...
|
||||
menu.game.save_as.access_key = A
|
||||
menu.game.save_as.key = A
|
||||
menu.game.exit = Exit
|
||||
menu.game.exit.access_key = X
|
||||
menu.game.exit.key = X
|
||||
|
||||
menu.options = Options
|
||||
menu.options.key = O
|
||||
menu.options.auto_budget = Auto Budget
|
||||
menu.options.auto_budget.key = A
|
||||
menu.options.auto_bulldoze = Auto Bulldoze
|
||||
menu.options.auto_bulldoze.key = Z
|
||||
menu.options.disasters = Disasters
|
||||
menu.options.disasters.key = D
|
||||
menu.options.sound = Sound
|
||||
menu.options.sound.key = S
|
||||
|
||||
menu.difficulty = Difficulty
|
||||
menu.difficulty.key = F
|
||||
menu.difficulty.0 = Easy
|
||||
menu.difficulty.0.key = E
|
||||
menu.difficulty.1 = Medium
|
||||
menu.difficulty.1.key = M
|
||||
menu.difficulty.2 = Hard
|
||||
menu.difficulty.2.key = H
|
||||
|
||||
menu.disasters = Disasters
|
||||
menu.disasters.key = D
|
||||
menu.disasters.MONSTER = Monster
|
||||
menu.disasters.MONSTER.key = M
|
||||
menu.disasters.FIRE = Fire
|
||||
menu.disasters.FIRE.key = F
|
||||
menu.disasters.FLOOD = Flood
|
||||
menu.disasters.FLOOD.key = L
|
||||
menu.disasters.MELTDOWN = Meltdown
|
||||
menu.disasters.MELTDOWN.key = E
|
||||
menu.disasters.TORNADO = Tornado
|
||||
menu.disasters.TORNADO.key = T
|
||||
menu.disasters.EARTHQUAKE = Earthquake
|
||||
menu.disasters.EARTHQUAKE.key = Q
|
||||
|
||||
menu.speed = Speed
|
||||
menu.speed.key = S
|
||||
menu.speed.SUPER_FAST = Super Fast
|
||||
menu.speed.SUPER_FAST.key = R
|
||||
menu.speed.FAST = Fast
|
||||
menu.speed.FAST.key = F
|
||||
menu.speed.NORMAL = Normal
|
||||
menu.speed.NORMAL.key = N
|
||||
menu.speed.SLOW = Slow
|
||||
menu.speed.SLOW.key = S
|
||||
menu.speed.PAUSED = Paused
|
||||
menu.speed.PAUSED.key = P
|
||||
|
||||
menu.windows = Windows
|
||||
menu.windows.key = W
|
||||
menu.windows.budget = Budget
|
||||
menu.windows.budget.key = B
|
||||
menu.windows.evaluation = Evaluation
|
||||
menu.windows.evaluation.key = E
|
||||
menu.windows.graph = Graph
|
||||
menu.windows.graph.key = G
|
||||
|
||||
menu.help = Help
|
||||
menu.help.key = H
|
||||
menu.help.launch-translation-tool = Launch Translation Tool
|
||||
menu.help.launch-translation-tool.key = T
|
||||
menu.help.about = About
|
||||
menu.help.about.key = A
|
||||
|
||||
!
|
||||
! Tools
|
||||
|
|
Reference in a new issue