package com.limegroup.gnutella.settings; import java.util.Properties; /** * Class for a font name setting * this setting also has the functionality to not change the value * depending on locale. see loadValue(). * TODO: look into creating a true 'FontSetting' that keeps a Font * object rather than just the name. This will require changes * to the themes.txt format since right now it has three properties * (name, style, size) that define a single font. */ public final class FontNameSetting extends Setting { String _fontName; FontNameSetting(Properties defaultProps, Properties props, String key, String defaultStr) { super(defaultProps, props, key, defaultStr, null); _fontName = defaultStr; } FontNameSetting(Properties defaultProps, Properties props, String key, String defaultStr, String simppKey) { super(defaultProps, props, key, defaultStr, simppKey); _fontName = defaultStr; } public void setValue(String fontName) { super.setValue(fontName); } public String getValue() { return _fontName; } /** * Most of the theme files have a font (like Verdana) * specified that can not display languages other than * those using roman alphabets. Therefore, if the locale * is determined not to be one that uses a roman alphabet * then do not set _fontName. The varaible _fontName * is set to the default (dialog) in the constructor. */ protected void loadValue(String sValue) { _fontName = sValue; } private boolean isRoman() { String lang = ApplicationSettings.LANGUAGE.getValue(); //for now just english to be on the safe side if(lang.equals("en") ) { /* || lang.equals("fr") || lang.equals("ca") */ return true; } else return false; } }