From 73800b13bf7610fae3de950d25bc6df12ede4887 Mon Sep 17 00:00:00 2001 From: "jason@long.name" Date: Sun, 5 Jan 2014 22:13:51 +0000 Subject: [PATCH] tools: make translation strings optional for tools If a translation string is not defined for the tool name, icon name, or tool description, then an automatic string is generated. git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@915 d9718cc8-9f43-0410-858b-315f434eb58c --- src/micropolisj/gui/MainWindow.java | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/src/micropolisj/gui/MainWindow.java b/src/micropolisj/gui/MainWindow.java index 64baf6a..47fc714 100644 --- a/src/micropolisj/gui/MainWindow.java +++ b/src/micropolisj/gui/MainWindow.java @@ -945,10 +945,20 @@ public class MainWindow extends JFrame private JToggleButton makeToolBtn(final MicropolisTool tool) { + String iconName = strings.containsKey("tool."+tool.name()+".icon") ? + strings.getString("tool."+tool.name()+".icon") : + "/graphics/tools/"+tool.name().toLowerCase()+".png"; + String iconSelectedName = strings.containsKey("tool."+tool.name()+".selected_icon") ? + strings.getString("tool."+tool.name()+".selected_icon") : + iconName; + String tipText = strings.containsKey("tool."+tool.name()+".tip") ? + strings.getString("tool."+tool.name()+".tip") : + tool.name(); + JToggleButton btn = new JToggleButton(); - btn.setIcon(new ImageIcon(MainWindow.class.getResource(strings.getString("tool."+tool.name()+".icon")))); - btn.setSelectedIcon(new ImageIcon(MainWindow.class.getResource(strings.getString("tool."+tool.name()+".selected_icon")))); - btn.setToolTipText(strings.getString("tool."+tool.name()+".tip")); + btn.setIcon(new ImageIcon(MainWindow.class.getResource(iconName))); + btn.setSelectedIcon(new ImageIcon(MainWindow.class.getResource(iconSelectedName))); + btn.setToolTipText(tipText); btn.setMargin(new Insets(0,0,0,0)); btn.setBorderPainted(false); btn.addActionListener(new ActionListener() { @@ -1059,7 +1069,11 @@ public class MainWindow extends JFrame currentTool = newTool; - currentToolLbl.setText(strings.getString("tool."+currentTool.name()+".name")); + currentToolLbl.setText( + strings.containsKey("tool."+currentTool.name()+".name") ? + strings.getString("tool."+currentTool.name()+".name") : + currentTool.name() + ); int cost = currentTool.getToolCost(); currentToolCostLbl.setText(cost != 0 ? formatFunds(cost) : " ");