From: Debayan Sutradhar Date: Thu, 27 May 2021 21:38:47 +0530 Subject: Added divider position savers --- Added divider position savers --- --- 'a/src/main/java/com/stream_pi/server/controller/Controller.java' +++ b/src/main/java/com/stream_pi/server/controller/Controller.java @@ -220,8 +220,6 @@ public class Controller extends Base imp return; } - getConfig().setStartupWindowSize(getWidth(), getHeight()); - getConfig().save(); onQuitApp(); ExternalPlugins.getInstance().shutDownActions(); Platform.exit(); @@ -238,6 +236,21 @@ public class Controller extends Base imp public void onQuitApp() { + try + { + if(getConfig() != null) + { + getConfig().setStartupWindowSize(getWidth(), getHeight()); + getConfig().setRightDividerPositions(getDashboardBase().getDividerPositions()); + getConfig().setLeftDividerPositions(getDashboardBase().getLeftSplitPane().getDividerPositions()); + getConfig().save(); + } + } + catch (SevereException e) + { + handleSevereException(e); + } + stopServerAndAllConnections(); executor.shutdown(); getLogger().info("Shutting down ..."); --- 'a/src/main/java/com/stream_pi/server/io/Config.java' +++ b/src/main/java/com/stream_pi/server/io/Config.java @@ -10,6 +10,8 @@ package com.stream_pi.server.io; import java.awt.*; import java.io.File; +import java.lang.reflect.Array; +import java.util.Arrays; import java.util.Objects; import java.util.logging.Logger; @@ -47,7 +49,7 @@ public class Config document = docBuilder.parse(configFile); } catch (Exception e) { e.printStackTrace(); - throw new SevereException("Config", "unable to read config.xml"); + throw new SevereException("Config", "Unable to read config.xml\n"+e.getMessage()); } } @@ -113,12 +115,74 @@ public class Config } + //server + private Element getDividerPositionsElement() + { + return (Element) getServerElement().getElementsByTagName("divider-positions").item(0); + } + + public String getDefaultLeftDividerPositions() + { + return "3.0"; + } + + + public double[] getLeftDividerPositions() + { + String[] strArr = XMLConfigHelper.getStringProperty(getDividerPositionsElement(), "left", + getDefaultLeftDividerPositions(), false, true, document, configFile) + .split(","); + + double[] r = new double[strArr.length]; + + for (int i = 0;i