package com.limegroup.gnutella.settings; import com.limegroup.gnutella.util.CommonUtils; /** * Settings for LimeWire application */ public class ApplicationSettings extends LimeProps { private ApplicationSettings() {} /** * The Client ID number */ public static final StringSetting CLIENT_ID = FACTORY.createStringSetting("CLIENT_ID", ""); /** * The average time this user leaves the application running. */ public static final IntSetting AVERAGE_UPTIME = FACTORY.createExpirableIntSetting("AVERAGE_UPTIME", 20*60); /** * The total time this user has used the application. */ public static final IntSetting TOTAL_UPTIME = FACTORY.createIntSetting("TOTAL_UPTIME", 20*60); /** * The total number of times the application has been run -- * used in calculating the average amount of time this user * leaves the application on. */ public static final IntSetting SESSIONS = FACTORY.createIntSetting("SESSIONS", 1); /** * The time that this was last shutdown (system time in milliseconds). */ public static final LongSetting LAST_SHUTDOWN_TIME = FACTORY.createLongSetting("LAST_SHUTDOWN_TIME", 0); /** * The fraction of time this is running, a unitless quality. This is * used to identify highly available hosts with big pongs. This value * should only be updated once per session. */ public static final FloatSetting FRACTIONAL_UPTIME = FACTORY.createFloatSetting("FRACTIONAL_UPTIME", 0.0f); /** * Specifies whether or not the program has been installed, either by * a third-party installer, or by our own. This is the old value for * legacy InstallShield installers that set the save directory and the * connection speed. */ public static final BooleanSetting INSTALLED = FACTORY.createBooleanSetting("INSTALLED", false); /** * The width that the application should be. */ public static final IntSetting APP_WIDTH = FACTORY.createIntSetting("APP_WIDTH", 840); /** * The height that the application should be. */ public static final IntSetting APP_HEIGHT = FACTORY.createIntSetting("APP_HEIGHT", 800); /** * A flag for whether or not the application has been run one * time before this. */ public static final BooleanSetting RUN_ONCE = FACTORY.createBooleanSetting("RUN_ONCE", false); /** * The x position of the window for the next time the application * is started. */ public static final IntSetting WINDOW_X = (IntSetting)FACTORY.createIntSetting("WINDOW_X", 0).setAlwaysSave(true); /** * The y position of the window for the next time the application * is started. */ public static final IntSetting WINDOW_Y = (IntSetting)FACTORY.createIntSetting("WINDOW_Y", 0).setAlwaysSave(true); /** * A flag for whether or not the application should be minimized * to the system tray on windows. */ public static final BooleanSetting MINIMIZE_TO_TRAY = FACTORY.createBooleanSetting("MINIMIZE_TO_TRAY", CommonUtils.supportsTray()); /** * A flag for whether or not to display the system * tray icon while the application is visible. */ public static final BooleanSetting DISPLAY_TRAY_ICON = FACTORY.createBooleanSetting("DISPLAY_TRAY_ICON", true); /** * A flag for whether or not the application should shutdown * immediately, or when file transfers are complete */ public static final BooleanSetting SHUTDOWN_AFTER_TRANSFERS = FACTORY.createBooleanSetting("SHUTDOWN_AFTER_TRANSFERS", CommonUtils.isMacOSX() ? false : !CommonUtils.supportsTray()); /** * The language to use for the application. */ public static final StringSetting LANGUAGE = FACTORY.createStringSetting("LANGUAGE", System.getProperty("user.language", "")); /** * The country to use for the application. */ public static final StringSetting COUNTRY = FACTORY.createStringSetting("COUNTRY", System.getProperty("user.country", "")); /** * The locale variant to use for the application. */ public static final StringSetting LOCALE_VARIANT = FACTORY.createStringSetting("LOCALE_VARIANT", ""); /** * Sets whether or not Monitor Tab should be enabled. */ public static final BooleanSetting MONITOR_VIEW_ENABLED = FACTORY.createBooleanSetting("MONITOR_VIEW_ENABLED", true); /** * Sets whether or not Connection Tab should be enabled. */ public static final BooleanSetting CONNECTION_VIEW_ENABLED = FACTORY.createBooleanSetting("CONNECTION_VIEW_ENABLED", false); /** * Sets whether or not Library Tab should be enabled. */ public static final BooleanSetting LIBRARY_VIEW_ENABLED = FACTORY.createBooleanSetting("LIBRARY_VIEW_ENABLED", true); /** * Sets whether or not Console Tab should be enabled. */ public static final BooleanSetting CONSOLE_VIEW_ENABLED = FACTORY.createBooleanSetting("CONSOLE_VIEW_ENABLED", false); /** * Sets the name of the jar file to load on startup, which is read * in from the properties file by RunLime. */ public static final StringSetting JAR_NAME = FACTORY.createStringSetting("JAR_NAME", "LimeWire.jar"); /** * Sets the classpath for legacy RunLime.jars. */ public static final StringSetting CLASSPATH = FACTORY.createStringSetting("CLASSPATH", JAR_NAME.getValue()); /** * Whether or not we are acting as a peer server. */ public static final BooleanSetting SERVER = FACTORY.createBooleanSetting("SERVER", false); /** * Setting for whether or not to create an additional manual GC thread. */ public static final BooleanSetting AUTOMATIC_MANUAL_GC = FACTORY.createBooleanSetting("AUTOMATIC_MANUAL_GC", CommonUtils.isMacOSX()); /** * the default locale to use if not specified * used to set the locale for connections which don't have X_LOCALE_PREF * header or pings and pongs that don't advertise locale preferences. */ public static final StringSetting DEFAULT_LOCALE = FACTORY.createStringSetting("DEFAULT_LOCALE", "en"); /** * Enable the MagnetClipboardListener on non Windows and Mac OS * systems */ public static final BooleanSetting MAGNET_CLIPBOARD_LISTENER = FACTORY.createBooleanSetting("MAGNET_CLIPBOARD_LISTENER", !CommonUtils.isWindows() && !CommonUtils.isAnyMac()); /** * Gets the current language setting. */ public static String getLanguage() { String lc = LANGUAGE.getValue(); String cc = COUNTRY.getValue(); String lv = LOCALE_VARIANT.getValue(); String lang = lc; if(cc != null && !cc.equals("")) lang += "_" + cc; if(lv != null && !lv.equals("")) lang += "_" + lv; return lang; } }