From: rnayabed Date: Sat, 27 Feb 2021 13:38:43 +0530 Subject: EXE/DEB support --- EXE/DEB support --- --- 'a/src/main/java/com/stream_pi/server/info/ServerInfo.java' +++ b/src/main/java/com/stream_pi/server/info/ServerInfo.java @@ -36,7 +36,7 @@ public class ServerInfo { commStandardVersion = new Version(1,0,0); releaseStatus = ReleaseStatus.EA; - prePath = "data/"; + prePath = System.getProperty("user.home")+"/Stream-Pi/Server/"; String osName = System.getProperty("os.name").toLowerCase(); @@ -49,7 +49,6 @@ public class ServerInfo { else platformType = Platform.UNKNOWN; - } --- 'a/src/main/java/com/stream_pi/server/io/Config.java' +++ b/src/main/java/com/stream_pi/server/io/Config.java @@ -155,12 +155,12 @@ public class Config public String getDefaultThemesPath() { - return "Themes/"; + return ServerInfo.getInstance().getPrePath()+"Themes/"; } public String getDefaultPluginsPath() { - return "Plugins/"; + return ServerInfo.getInstance().getPrePath()+"Plugins/"; } --- 'a/src/main/java/com/stream_pi/server/window/Base.java' +++ b/src/main/java/com/stream_pi/server/window/Base.java @@ -22,6 +22,7 @@ import javafx.scene.layout.StackPane; import javafx.scene.text.Font; import javafx.stage.Stage; +import java.awt.*; import java.io.File; import java.util.logging.Logger; @@ -160,22 +161,32 @@ public abstract class Base extends Stack { File filex = new File(ServerInfo.getInstance().getPrePath()); - if(filex.getAbsoluteFile().getParentFile().canWrite()) + if(!filex.exists()) { - if(!filex.exists()) + boolean result = filex.mkdirs(); + if(result) { - filex.mkdirs(); IOHelper.unzip(Main.class.getResourceAsStream("Default.obj"), ServerInfo.getInstance().getPrePath()); + + Config.getInstance().setThemesPath(ServerInfo.getInstance().getPrePath()+"Themes/"); + Config.getInstance().setPluginsPath(ServerInfo.getInstance().getPrePath()+"Plugins/"); + + if(SystemTray.isSupported()) + { + Config.getInstance().setMinimiseToSystemTrayOnClose(true); + } + + Config.getInstance().save(); + } + else + { + setPrefSize(300,300); + clearStylesheets(); + applyDefaultStylesheet(); + applyDefaultIconsStylesheet(); + getStage().show(); + throw new SevereException("No storage permission. Give it!"); } - } - else - { - setPrefSize(300,300); - clearStylesheets(); - applyDefaultStylesheet(); - applyDefaultIconsStylesheet(); - getStage().show(); - throw new SevereException("No storage permission. Give it!"); } } catch (Exception e) --- 'a/src/main/java/com/stream_pi/server/window/settings/GeneralSettings.java' +++ b/src/main/java/com/stream_pi/server/window/settings/GeneralSettings.java @@ -335,14 +335,14 @@ public class GeneralSettings extends VBo } } - if(!minimizeToSystemTrayOnClose) + if(minimizeToSystemTrayOnClose) { if(!SystemTray.isSupported()) { StreamPiAlert alert = new StreamPiAlert("Not Supported", "Tray System not supported on this platform ", StreamPiAlertType.ERROR); alert.show(); - minimizeToSystemTrayOnClose = true; + minimizeToSystemTrayOnClose = false; } } Binary files 'a/src/main/resources/com/stream_pi/server/Default.obj' and b/src/main/resources/com/stream_pi/server/Default.obj differ