From dc8cb32d46ed07bfc67d1fb80dc60ebf36beeeba Mon Sep 17 00:00:00 2001 From: Miroshka Date: Fri, 15 Nov 2024 23:11:06 +0300 Subject: [PATCH] 0.3.4 - Added configuration system and minor fixes: - Fixed firmware installation issue (old firmware files are now properly removed to prevent installation conflicts). - Updated settings menu: added DevMode option to redirect logs to a file in the application's root directory. --- build.gradle.kts | 6 ++---- src/main/java/miroshka/Main.java | 1 - src/main/java/miroshka/config/ConfigManager.java | 12 ++++-------- src/main/java/miroshka/controller/UIController.java | 13 +++++++------ src/main/java/module-info.java | 1 - 5 files changed, 13 insertions(+), 20 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index bba779d..2c9bcb5 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -32,8 +32,7 @@ tasks.named("run") { jvmArgs = listOf( "--module-path", configurations.runtimeClasspath.get().joinToString(";"), "--add-modules", "javafx.controls,javafx.fxml,jdk.crypto.cryptoki", - "-Dapp.version=${project.version}", - "-Dfile.encoding=UTF-8" + "-Dapp.version=${project.version}" ) } @@ -55,8 +54,7 @@ jlink { jvmArgs = listOf( "--add-modules", "javafx.controls,javafx.fxml", "--module-path", configurations.runtimeClasspath.get().asPath, - "-Dapp.version=${project.version}", - "-Dfile.encoding=UTF-8" + "-Dapp.version=${project.version}" ) } diff --git a/src/main/java/miroshka/Main.java b/src/main/java/miroshka/Main.java index d342e16..8eb1049 100644 --- a/src/main/java/miroshka/Main.java +++ b/src/main/java/miroshka/Main.java @@ -54,7 +54,6 @@ private void onWindowClose() { Platform.exit(); } - private void initializeApp() { configManager = new ConfigManager(); String savedLanguage = configManager.getConfigValue("language", "ru"); diff --git a/src/main/java/miroshka/config/ConfigManager.java b/src/main/java/miroshka/config/ConfigManager.java index 3ebd037..f653645 100644 --- a/src/main/java/miroshka/config/ConfigManager.java +++ b/src/main/java/miroshka/config/ConfigManager.java @@ -8,13 +8,7 @@ public class ConfigManager { private static final String CONFIG_FILE_PATH; static { - File jarFile = null; - try { - jarFile = new File(ConfigManager.class.getProtectionDomain().getCodeSource().getLocation().toURI()); - } catch (Exception e) { - throw new RuntimeException(e); - } - String executableDir = jarFile.getParent(); + String executableDir = System.getProperty("user.dir"); CONFIG_FILE_PATH = executableDir + File.separator + "miroshka_config.properties"; } @@ -44,6 +38,7 @@ public void loadConfig() { } } } catch (IOException e) { + e.printStackTrace(); } } @@ -65,9 +60,10 @@ public void saveConfig() { } try (OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(configFile), StandardCharsets.UTF_8)) { - properties.store(writer, "Конфигурация"); + properties.store(writer, "Config"); } } catch (IOException e) { + e.printStackTrace(); } } diff --git a/src/main/java/miroshka/controller/UIController.java b/src/main/java/miroshka/controller/UIController.java index a207a8d..f54e4db 100644 --- a/src/main/java/miroshka/controller/UIController.java +++ b/src/main/java/miroshka/controller/UIController.java @@ -166,10 +166,14 @@ private void onDevModeToggle() { private void startLoggingToFile() { try { - File jarFile = new File(ConfigManager.class.getProtectionDomain().getCodeSource().getLocation().toURI()); - String executableDir = jarFile.getParent(); + String executableDir = System.getProperty("user.dir"); - File logFile = new File(executableDir, "log.txt"); + File logFile = new File(executableDir + File.separator + "logs" + File.separator + "log.txt"); + + File parentDir = logFile.getParentFile(); + if (parentDir != null && !parentDir.exists()) { + parentDir.mkdirs(); + } fileStream = new PrintStream(new FileOutputStream(logFile, true), true, StandardCharsets.UTF_8); @@ -179,12 +183,9 @@ private void startLoggingToFile() { System.out.println("Dev Mode enabled: Logs will be saved to " + logFile.getPath()); } catch (IOException e) { e.printStackTrace(); - } catch (URISyntaxException e) { - throw new RuntimeException(e); } } - private void stopLoggingToFile() { if (fileStream != null) { fileStream.close(); diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java index e434804..6a5d073 100644 --- a/src/main/java/module-info.java +++ b/src/main/java/module-info.java @@ -9,7 +9,6 @@ requires java.net.http; requires java.desktop; - requires java.logging; opens miroshka.controller to javafx.fxml;