From 824e06a941ea37f43bb23b284969194890d4e4a6 Mon Sep 17 00:00:00 2001 From: YanisBft Date: Wed, 30 Aug 2023 16:47:29 +0200 Subject: Save if fullscreen in config (#528) --- enigma-swing/src/main/java/cuchaz/enigma/gui/Gui.java | 2 ++ enigma-swing/src/main/java/cuchaz/enigma/gui/config/UiConfig.java | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/Gui.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/Gui.java index b3117ce2..4c108cdc 100644 --- a/enigma-swing/src/main/java/cuchaz/enigma/gui/Gui.java +++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/Gui.java @@ -217,6 +217,7 @@ public class Gui { frame.addWindowListener(GuiUtil.onWindowClose(e -> this.close())); frame.setSize(UiConfig.getWindowSize("Main Window", ScaleUtil.getDimension(1024, 576))); + frame.setExtendedState(UiConfig.isFullscreen("Main Window") ? JFrame.MAXIMIZED_BOTH : JFrame.NORMAL); frame.setMinimumSize(ScaleUtil.getDimension(640, 480)); frame.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE); @@ -464,6 +465,7 @@ public class Gui { private void exit() { UiConfig.setWindowPos("Main Window", this.mainWindow.frame().getLocationOnScreen()); UiConfig.setWindowSize("Main Window", this.mainWindow.frame().getSize()); + UiConfig.setFullscreen("Main Window", this.mainWindow.frame().getExtendedState() == JFrame.MAXIMIZED_BOTH); UiConfig.setLayout(this.splitClasses.getDividerLocation(), this.splitCenter.getDividerLocation(), this.splitRight.getDividerLocation(), this.logSplit.getDividerLocation()); UiConfig.save(); diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/config/UiConfig.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/config/UiConfig.java index cdf27cac..0d18df74 100644 --- a/enigma-swing/src/main/java/cuchaz/enigma/gui/config/UiConfig.java +++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/config/UiConfig.java @@ -333,6 +333,14 @@ public final class UiConfig { section.setInt(String.format("Y %s", screenSize.height), rect.y); } + public static boolean isFullscreen(String window) { + return swing.data().section(window).setIfAbsentBool("Fullscreen", false); + } + + public static void setFullscreen(String window, boolean fullscreen) { + swing.data().section(window).setBool("Fullscreen", fullscreen); + } + public static String getLastSelectedDir() { return swing.data().section("File Dialog").getString("Selected").orElse(""); } -- cgit v1.2.3