From 5533eeb6400df7537485da1a387e30880356df74 Mon Sep 17 00:00:00 2001 From: Dmitry Isaenko Date: Sat, 22 Nov 2025 22:59:20 +0300 Subject: [PATCH] make ScaleUi less sophisticated --- src/main/java/tihwin/AwesomeMediator.java | 12 ++-- src/main/java/tihwin/ScaleUi.java | 70 +++++++++++------------ 2 files changed, 39 insertions(+), 43 deletions(-) diff --git a/src/main/java/tihwin/AwesomeMediator.java b/src/main/java/tihwin/AwesomeMediator.java index 1864378..0ede17f 100644 --- a/src/main/java/tihwin/AwesomeMediator.java +++ b/src/main/java/tihwin/AwesomeMediator.java @@ -26,8 +26,10 @@ public class AwesomeMediator { private final static AwesomeMediator INSTANCE = new AwesomeMediator(); private MainAppUi mainAppUi; - private static int scale = Settings.INSTANCE.getScaleFactor(); - private AwesomeMediator(){} + private int scale; + private AwesomeMediator(){ + this.scale = Settings.INSTANCE.getScaleFactor(); + } public static void setMainUi(MainAppUi ui){ INSTANCE.mainAppUi = ui; @@ -45,13 +47,13 @@ public class AwesomeMediator { } public static int getScaleValue() { - return scale; + return INSTANCE.scale; } public static void increaseScaleValue() { - AwesomeMediator.scale++; + INSTANCE.scale++; } public static void decreaseScaleValue() { - AwesomeMediator.scale--; + INSTANCE.scale--; } } diff --git a/src/main/java/tihwin/ScaleUi.java b/src/main/java/tihwin/ScaleUi.java index 686a7c3..19ae1de 100644 --- a/src/main/java/tihwin/ScaleUi.java +++ b/src/main/java/tihwin/ScaleUi.java @@ -45,36 +45,43 @@ public class ScaleUi { }; public static void applyInitialScale(List components) { - if (AwesomeMediator.getScaleValue() == 0) - return; - for (Component component : components) - applyInitialScale(component); - applyOnDefaults(INIT); + applyOnAll(INIT, components); } public static void applyInitialScale(Component component) { applyOn(component, AwesomeMediator.getScaleValue()); } public static void increaseScale(List components) { - for (Component component : components) - increaseScale(component); - applyOnDefaults(INCREASE); - } - private static void increaseScale(Component component) { - applyOn(component, +1); + applyOnAll(INCREASE, components); } public static void decreaseScale(List components) { - if (AwesomeMediator.getScaleValue() <= 0) - return; - for (Component component : components) - decreaseScale(component); - applyOnDefaults(DECREASE); - } - private static void decreaseScale(Component component) { - applyOn(component, -1); + applyOnAll(DECREASE, components); } + private static void applyOnAll(ScalePolicy policy, List components) { + switch (policy) { + case INIT: + if (AwesomeMediator.getScaleValue() == 0) + return; + for (Component component : components) + applyInitialScale(component); + applyOnDefaults(INIT); + break; + case INCREASE: + for (Component component : components) + applyOn(component, +1); + applyOnDefaults(INCREASE); + break; + case DECREASE: + if (AwesomeMediator.getScaleValue() <= 0) + return; + for (Component component : components) + applyOn(component, -1); + applyOnDefaults(DECREASE); + break; + } + } private static void applyOn(Component component, int factor) { Font defaultFont = component.getFont(); component.setFont(new Font(defaultFont.getName(), defaultFont.getStyle(), defaultFont.getSize() + factor)); @@ -84,36 +91,23 @@ public class ScaleUi { switch (policy){ case INIT: for (String defaultElement: DEFAULTS) - initDefault(defaultElement); + applyOnDefault(defaultElement, AwesomeMediator.getScaleValue()); break; case INCREASE: for (String defaultElement: DEFAULTS) - increaseDefault(defaultElement); + applyOnDefault(defaultElement, +1); AwesomeMediator.increaseScaleValue(); break; case DECREASE: for (String defaultElement: DEFAULTS) - decreaseDefault(defaultElement); + applyOnDefault(defaultElement, -1); AwesomeMediator.decreaseScaleValue(); break; } } - - private static void initDefault(String name){ - applyOnDefault(name, AwesomeMediator.getScaleValue()); - } - - private static void increaseDefault(String name){ - applyOnDefault(name, +1); - } - - private static void decreaseDefault(String name){ - applyOnDefault(name, -1); - } - - private static void applyOnDefault(String name, int factor){ - Font defaultFont = UIManager.getDefaults().getFont(name); - UIManager.getDefaults().put(name, new Font(defaultFont.getName(), defaultFont.getStyle(), + private static void applyOnDefault(String componentName, int factor){ + Font defaultFont = UIManager.getDefaults().getFont(componentName); + UIManager.getDefaults().put(componentName, new Font(defaultFont.getName(), defaultFont.getStyle(), defaultFont.getSize()+factor)); } }