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;
    }
    
}
