make MagicRarity name as displayed in UI translatable (see #538).

master
lodici 2016-03-30 14:24:57 +01:00
parent 3865f236c3
commit 2ba2eb0e2e
3 changed files with 35 additions and 8 deletions

View File

@ -1,17 +1,23 @@
package magic.model;
import java.util.EnumSet;
import magic.translate.UiString;
public enum MagicRarity {
Basic('B'),
Common('C'),
Uncommon('U'),
Rare('R'),
Mythic_Rare('M');
Basic(MagicRarityStr._SBasic, 'B'),
Common(MagicRarityStr._SCommon, 'C'),
Uncommon(MagicRarityStr._SUncommon, 'U'),
Rare(MagicRarityStr._SRare, 'R'),
Mythic_Rare(MagicRarityStr._SMythicRare, 'M');
public static final int length = values().length;
private final char c;
private final String displayName;
private MagicRarity(final char c) {
private MagicRarity(final String aName, final char c) {
this.displayName = UiString.get(aName);
this.c = c;
}
@ -20,7 +26,7 @@ public enum MagicRarity {
}
public String getName() {
return toString().replace('_',' ');
return displayName;
}
public static MagicRarity getRarity(final char c) {
@ -31,5 +37,13 @@ public enum MagicRarity {
}
throw new RuntimeException("unknown rarity \"" + c + "\"");
}
public static String[] getDisplayNames() {
return EnumSet.allOf(MagicRarity.class)
.stream()
.map(MagicRarity::getName)
.toArray(String[]::new);
}
}

View File

@ -0,0 +1,13 @@
package magic.model;
/**
* MagicRarity translatable strings.
*/
final class MagicRarityStr {
private MagicRarityStr() {}
static final String _SBasic = "Basic";
static final String _SCommon = "Common";
static final String _SUncommon = "Uncommon";
static final String _SRare = "Rare";
static final String _SMythicRare = "Mythic Rare";
}

View File

@ -671,7 +671,7 @@ public class CardFilterPanel extends TexturedPanel implements ActionListener {
rarityPopup = addFilterPopupPanel(UiString.get(_S14));
rarityCheckBoxes = new JCheckBox[MagicRarity.values().length];
rarityFilterChoices = new JRadioButton[FILTER_CHOICES.length];
populateCheckboxPopup(rarityPopup, MagicRarity.values(), rarityCheckBoxes, rarityFilterChoices, true);
populateCheckboxPopup(rarityPopup, MagicRarity.getDisplayNames(), rarityCheckBoxes, rarityFilterChoices, true);
}
private void addResetButton() {