+ /* initialize default stuff. */
+ antialias = false;
+ /* now read config. */
+ File configFile = new File(configDirectory, "swing-interface.properties");
+ if (!configFile.exists() || !configFile.canRead() || !configFile.isFile()) {
+ System.err.println("could not find “" + configFile.getAbsolutePath() + "”!");
+ return;
+ }
+ Properties configProperties = new Properties();
+ FileInputStream configInputStream = null;
+ try {
+ configInputStream = new FileInputStream(configFile);
+ configProperties.load(configInputStream);
+ } catch (IOException ioe1) {
+ System.err.println("could not load config, " + ioe1.getMessage());
+ } finally {
+ Closer.close(configInputStream);
+ }
+ if (configProperties.containsKey("advancedMode")) {
+ advancedMode = Boolean.valueOf(configProperties.getProperty("advancedMode"));
+ }
+ if (configProperties.containsKey("antialias")) {
+ antialias = Boolean.valueOf(configProperties.getProperty("antialias"));
+ }
+ if (configProperties.containsKey("controlFont")) {
+ controlFont = configProperties.getProperty("controlFont");
+ }
+ if (configProperties.containsKey("userFont")) {
+ userFont = configProperties.getProperty("userFont");
+ }
+ if (configProperties.containsKey("lookAndFeel")) {
+ lookAndFeel = configProperties.getProperty("lookAndFeel");
+ }
+ if (configProperties.containsKey("language")) {
+ I18n.setLocale(new Locale(configProperties.getProperty("language")));
+ }
+ if (configProperties.containsKey("mainWindowX")) {
+ mainWindowX = Integer.valueOf(configProperties.getProperty("mainWindowX"));
+ }
+ if (configProperties.containsKey("mainWindowY")) {
+ mainWindowY = Integer.valueOf(configProperties.getProperty("mainWindowY"));
+ }
+ if (configProperties.containsKey("mainWindowWidth")) {
+ mainWindowWidth = Integer.valueOf(configProperties.getProperty("mainWindowWidth"));
+ }
+ if (configProperties.containsKey("mainWindowHeight")) {
+ mainWindowHeight = Integer.valueOf(configProperties.getProperty("mainWindowHeight"));
+ }
+ }
+
+ /**
+ * Saves the configuration.
+ */
+ private void saveConfig() {
+ File configDirectory = new File(this.configDirectory);
+ if (!configDirectory.exists()) {
+ if (!configDirectory.mkdirs()) {
+ System.err.println("could not create “" + this.configDirectory + "”!");
+ return;
+ }
+ }
+ if (!configDirectory.exists() || !configDirectory.isDirectory() || !configDirectory.canWrite()) {
+ System.err.println("can not access “" + this.configDirectory + "”!");
+ return;
+ }
+ File configFile = new File(configDirectory, "swing-interface.properties");
+ Properties configProperties = new Properties();
+ configProperties.setProperty("advancedMode", String.valueOf(advancedMode));
+ configProperties.setProperty("antialias", String.valueOf(antialias));
+ if (controlFont != null) {
+ configProperties.setProperty("controlFont", controlFont);
+ }
+ if (userFont != null) {
+ configProperties.setProperty("userFont", userFont);
+ }
+ if (lookAndFeel != null) {
+ configProperties.setProperty("lookAndFeel", lookAndFeel);
+ }
+ configProperties.setProperty("language", I18n.getLocale().getLanguage());
+ configProperties.setProperty("mainWindowX", String.valueOf(mainWindowX));
+ configProperties.setProperty("mainWindowY", String.valueOf(mainWindowY));
+ configProperties.setProperty("mainWindowWidth", String.valueOf(mainWindowWidth));
+ configProperties.setProperty("mainWindowHeight", String.valueOf(mainWindowHeight));
+ FileOutputStream configOutputStream = null;
+ try {
+ configOutputStream = new FileOutputStream(configFile);
+ configProperties.store(configOutputStream, "configuration of swing interface");
+ } catch (IOException ioe1) {
+ System.err.println("could not save config, " + ioe1.getMessage());
+ } finally {
+ Closer.close(configOutputStream);
+ }