diff options
Diffstat (limited to 'java/com/tigervnc/vncviewer/UserPrefs.java')
-rw-r--r-- | java/com/tigervnc/vncviewer/UserPrefs.java | 286 |
1 files changed, 0 insertions, 286 deletions
diff --git a/java/com/tigervnc/vncviewer/UserPrefs.java b/java/com/tigervnc/vncviewer/UserPrefs.java deleted file mode 100644 index 3294d7f6..00000000 --- a/java/com/tigervnc/vncviewer/UserPrefs.java +++ /dev/null @@ -1,286 +0,0 @@ -/* Copyright (C) 2011 TigerVNC Team. All Rights Reserved. - * - * This is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this software; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, - * USA. - */ - -package com.tigervnc.vncviewer; - -import java.util.Properties; -import java.io.FileOutputStream; -import javax.swing.filechooser.*; - -/** - * Simple, generic class to load up or save properties for an application. - * (eg user preferences) - * - * While reading in values, it will automatically convert from string format, - * to your choice of int or boolean, if desired. - * - * We assume that you want properties stored in a file named - * $HOME/.yourappname, where $HOME represents the users "home directory" - * - * Feel free to email comments or suggestions to the author - * - * @version 1.0, 09/16/1997 - * @author Philip Brown phil@bolthole.com - */ - -public class UserPrefs extends Properties { - String userhome=null; //This will have fileseparator on end if it - String prefFile; - String appName; - - Properties systemprops; - - - /** - * We try to read in a preferences file, from the user's "HOME" - * directory. We base the name of the file, on the name of the - * application we are in. - * Use the getHomeDir() call if you want to know what directory - * this is in. - * - * @param appName_ name of application calling this class - */ - public UserPrefs(String appName_) { - appName = appName_; - - try { - systemprops=System.getProperties(); - } catch(java.security.AccessControlException e) { - System.out.println("Cannot access system properties"); - } - // This is guaranteed as always being some valid directory, - // according to spec. - prefFile= getHomeDir()+getFileSeparator()+ - "."+appName; - try { - load(new java.io.FileInputStream(prefFile)); - } catch(java.security.AccessControlException e) { - System.out.println("Cannot access system properties"); - } catch (Exception err) { - if(err instanceof java.io.FileNotFoundException) { - try { - store(new FileOutputStream(prefFile), appName+" preferences"); - } catch (Exception e) { /* FIXME */ } - } else { - // FIXME - should be a dialog - System.out.println("Error opening prefs file:"+err.getMessage()); - } - } - - } - - // Strip off any comments - String trimValue(String prop) { - if(prop==null) - return null; - - int lastpos; - lastpos=prop.indexOf('#'); - if(lastpos==-1) - lastpos=prop.length()-1; - while((prop.charAt(lastpos)==' ') || - (prop.charAt(lastpos)=='\t')) { - lastpos--; - if(lastpos==0) - break; - } - - return prop.substring(0, lastpos+1); - } - - /** - * The java spec guarantees that a "home" directory be - * specified. We look it up for our own uses at initialization - * If you want to do other things in the user's home dir, - * this routine is an easy way to find out where it is. - * - * This returns string that will have trailing fileseparator, eg "/") - * so you can slap together a filename directly after it, and - * not worry about that sort of junk. - */ - final public static String getHomeDir() { - String homeDir = null; - try { - String os = System.getProperty("os.name"); - try { - if (os.startsWith("Windows")) { - // JRE prior to 1.5 cannot reliably determine USERPROFILE - // return user.home and hope it's right... - if (Integer.parseInt(System.getProperty("java.version").split("\\.")[1]) < 5) { - try { - homeDir = System.getProperty("user.home"); - } catch(java.security.AccessControlException e) { - System.out.println("Cannot access user.home system property"); - } - } else { - homeDir = System.getenv("USERPROFILE"); - } - } else { - try { - homeDir = FileSystemView.getFileSystemView(). - getDefaultDirectory().getCanonicalPath(); - } catch(java.security.AccessControlException e) { - System.out.println("Cannot access system property"); - } - } - } catch (Exception e) { - e.printStackTrace(); - } - } catch(java.security.AccessControlException e) { - System.out.println("Cannot access os.name system property"); - } - return homeDir; - } - - final private String getUserName() { - String userName = null; - try { - userName = (String) System.getProperties().get("user.name"); - } catch(java.security.AccessControlException e) { - System.out.println("Cannot access user.name system property"); - } - return userName; - } - - final public static String getFileSeparator() { - String separator = null; - try { - separator = Character.toString(java.io.File.separatorChar); - } catch(java.security.AccessControlException e) { - System.out.println("Cannot access file.separator system property"); - } - return separator; - } - - /** - * way to directly set a preference. You'll have to - * do your own type conversion. - * @param prefname name of property - * @param value string value of property - */ - public void setPref(String prefname, String value) { - setProperty(prefname, value); - } - - public void setPref(String prefname, int value) { - systemprops.put(prefname, java.lang.Integer.toString(value)); - } - - public void setPref(String prefname, boolean value) { - put(prefname, (value ? "true" : "false")); - } - - /** - * Gets named resource, as a string value. - * returns null if no such resource defined. - * @param name name of property - */ - public String getString(String name) { - return trimValue(getProperty(name)); - } - /** - * Gets named resource, as a string value. - * - * @param name name of property - * @param defval default value to remember and return , if - * no existing property name found. - */ - public String getString(String name, String defstr) { - String val = trimValue(getProperty(name)); - if(val==null) { - setPref(name, defstr); - return defstr; - } - return val; - } - - /** - * look up property that is an int value - * @param name name of property - */ - public int getInt(String name) { - String strint = trimValue(getProperty(name)); - int val=0; - try { - val = Integer.parseInt(strint); - } catch (NumberFormatException err) { - //we dont care - } - return val; - } - - /** - * look up property that is an int value - * @param name name of property - * @param defval default value to remember and return , if - * no existing property name found. - */ - public int getInt(String name, int defval) { - String strint = trimValue(getProperty(name)); - if(strint==null) { - setPref(name, String.valueOf(defval)); - return defval; - } - int val=0; - try { - val = Integer.parseInt(strint); - } catch (NumberFormatException err) { - //we dont care - } - return val; - } - - /** - * look up property that is a boolean value - * @param name name of property - * @param defval default value to remember and return , if - * no existing property name found. - */ - public boolean getBool(String name) { - String strval = trimValue(getProperty(name)); - if(strval.equals("true")) - return true; - - return false; - } - - /** - * @param name name of property - * @param defval default value to remember and return , if - * no existing property name found. - */ - public boolean getBool(String name, boolean defval) { - String strval = trimValue(getProperty(name)); - if(strval==null) { - setPref(name, String.valueOf(defval)); - return defval; - } - - if(strval.equals("true")) - return true; - - return false; - } - - /** - * save user preferences to default file. Duh. - */ - public void Save() throws java.io.IOException { - store(new FileOutputStream(prefFile), appName+" preferences"); - } -} |