From 24928a30f6a51a9c570f6d91227a439bb47284e8 Mon Sep 17 00:00:00 2001 From: Yanis48 Date: Sat, 6 Mar 2021 11:59:43 +0100 Subject: Fix right panel width being reset on ui update --- enigma-swing/src/main/java/cuchaz/enigma/gui/Gui.java | 4 ++++ 1 file changed, 4 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 17e1cbc..4c29a20 100644 --- a/enigma-swing/src/main/java/cuchaz/enigma/gui/Gui.java +++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/Gui.java @@ -923,6 +923,10 @@ public class Gui implements LanguageChangeListener { splitRight.setRightComponent(logSplit); logSplit.setLeftComponent(tabs); } + + if (UiConfig.getLayout().length >= 4) { + splitRight.setDividerLocation(UiConfig.getLayout()[2]); + } } @Override -- cgit v1.2.3 From 5e325ed28d86978841b064b543051626fa1f6132 Mon Sep 17 00:00:00 2001 From: Yanis48 Date: Sat, 6 Mar 2021 16:07:24 +0100 Subject: easier fix and document UiConfig.getLayout() --- enigma-swing/src/main/java/cuchaz/enigma/gui/Gui.java | 4 +--- .../src/main/java/cuchaz/enigma/gui/config/UiConfig.java | 13 +++++++++++++ 2 files changed, 14 insertions(+), 3 deletions(-) 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 4c29a20..a999cfa 100644 --- a/enigma-swing/src/main/java/cuchaz/enigma/gui/Gui.java +++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/Gui.java @@ -924,9 +924,7 @@ public class Gui implements LanguageChangeListener { logSplit.setLeftComponent(tabs); } - if (UiConfig.getLayout().length >= 4) { - splitRight.setDividerLocation(UiConfig.getLayout()[2]); - } + splitRight.setDividerLocation(splitRight.getDividerLocation()); } @Override 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 8ad6fbb..828da11 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 @@ -46,6 +46,19 @@ public final class UiConfig { swing.data().section("General").setDouble("Scale Factor", scale); } + /** + * Gets the dimensions of the different panels of the GUI. + *

These dimensions are used to determine the location of the separators between these panels.

+ * + * + * + * @return an integer array composed of these 4 dimensions + */ public static int[] getLayout() { return swing.data().section("Main Window").getIntArray("Layout").orElseGet(() -> new int[] { -1, -1, -1, -1 }); } -- cgit v1.2.3