12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- package controller;
- import java.io.File;
- import java.io.IOException;
- import java.io.PrintWriter;
- import java.nio.file.Files;
- import java.util.List;
- import model.Settings;
- import ui.Main;
- /**
- * Save and Load functions for the settings.ini
- * @author Martin Herbers
- *
- */
- public class SettingsController {
- private static Settings settings = Settings.getSettings();
-
- /**
- * Create or override a settings.ini file with all necessary information
- */
- public static void saveSettings() {
- try {
- File file = new File(Main.olipPath + "settings.ini");
- new File(Main.olipPath).mkdirs();
- PrintWriter writer = new PrintWriter(file);
- writer.print("[Settings]\r\n");
- writer.print("Fill=" + settings.getFill() + "\r\n");
- writer.print("SizeScreen=" + settings.getSizeScreen() + "\r\n");
- writer.print("SizeFinger=" + settings.getSizeFinger() + "\r\n");
- writer.print("OpenSCADPath=" + settings.getOpenSCADPath());
- writer.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
- /**
- * Parse the settings.ini
- */
- public static void loadSettings() {
- try {
- File file = new File(Main.olipPath + "settings.ini");
- if (file.exists()) {
- List<String> lines = Files.readAllLines(file.toPath());
- settings.setFill(Boolean.parseBoolean(lines.get(1).substring(lines.get(1).indexOf('=')+1)));
- settings.setSizeScreen(Float.parseFloat(lines.get(2).substring(lines.get(2).indexOf('=')+1)));
- settings.setSizeFinger(Float.parseFloat(lines.get(3).substring(lines.get(3).indexOf('=')+1)));
- String path = lines.get(4).substring(lines.get(4).indexOf('=')+1);
- if (path.equals("null"))
- settings.setOpenSCADPath(null);
- else
- settings.setOpenSCADPath(new File(path).toPath());
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
|