make ScaleUi less sophisticated
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
Dmitry Isaenko 2025-11-22 22:59:20 +03:00
parent ba53938296
commit 5533eeb640
2 changed files with 39 additions and 43 deletions

View file

@ -26,8 +26,10 @@ public class AwesomeMediator {
private final static AwesomeMediator INSTANCE = new AwesomeMediator(); private final static AwesomeMediator INSTANCE = new AwesomeMediator();
private MainAppUi mainAppUi; private MainAppUi mainAppUi;
private static int scale = Settings.INSTANCE.getScaleFactor(); private int scale;
private AwesomeMediator(){} private AwesomeMediator(){
this.scale = Settings.INSTANCE.getScaleFactor();
}
public static void setMainUi(MainAppUi ui){ public static void setMainUi(MainAppUi ui){
INSTANCE.mainAppUi = ui; INSTANCE.mainAppUi = ui;
@ -45,13 +47,13 @@ public class AwesomeMediator {
} }
public static int getScaleValue() { public static int getScaleValue() {
return scale; return INSTANCE.scale;
} }
public static void increaseScaleValue() { public static void increaseScaleValue() {
AwesomeMediator.scale++; INSTANCE.scale++;
} }
public static void decreaseScaleValue() { public static void decreaseScaleValue() {
AwesomeMediator.scale--; INSTANCE.scale--;
} }
} }

View file

@ -45,36 +45,43 @@ public class ScaleUi {
}; };
public static void applyInitialScale(List<Component> components) { public static void applyInitialScale(List<Component> components) {
if (AwesomeMediator.getScaleValue() == 0) applyOnAll(INIT, components);
return;
for (Component component : components)
applyInitialScale(component);
applyOnDefaults(INIT);
} }
public static void applyInitialScale(Component component) { public static void applyInitialScale(Component component) {
applyOn(component, AwesomeMediator.getScaleValue()); applyOn(component, AwesomeMediator.getScaleValue());
} }
public static void increaseScale(List<Component> components) { public static void increaseScale(List<Component> components) {
for (Component component : components) applyOnAll(INCREASE, components);
increaseScale(component);
applyOnDefaults(INCREASE);
}
private static void increaseScale(Component component) {
applyOn(component, +1);
} }
public static void decreaseScale(List<Component> components) { public static void decreaseScale(List<Component> components) {
if (AwesomeMediator.getScaleValue() <= 0) applyOnAll(DECREASE, components);
return;
for (Component component : components)
decreaseScale(component);
applyOnDefaults(DECREASE);
}
private static void decreaseScale(Component component) {
applyOn(component, -1);
} }
private static void applyOnAll(ScalePolicy policy, List<Component> 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) { private static void applyOn(Component component, int factor) {
Font defaultFont = component.getFont(); Font defaultFont = component.getFont();
component.setFont(new Font(defaultFont.getName(), defaultFont.getStyle(), defaultFont.getSize() + factor)); component.setFont(new Font(defaultFont.getName(), defaultFont.getStyle(), defaultFont.getSize() + factor));
@ -84,36 +91,23 @@ public class ScaleUi {
switch (policy){ switch (policy){
case INIT: case INIT:
for (String defaultElement: DEFAULTS) for (String defaultElement: DEFAULTS)
initDefault(defaultElement); applyOnDefault(defaultElement, AwesomeMediator.getScaleValue());
break; break;
case INCREASE: case INCREASE:
for (String defaultElement: DEFAULTS) for (String defaultElement: DEFAULTS)
increaseDefault(defaultElement); applyOnDefault(defaultElement, +1);
AwesomeMediator.increaseScaleValue(); AwesomeMediator.increaseScaleValue();
break; break;
case DECREASE: case DECREASE:
for (String defaultElement: DEFAULTS) for (String defaultElement: DEFAULTS)
decreaseDefault(defaultElement); applyOnDefault(defaultElement, -1);
AwesomeMediator.decreaseScaleValue(); AwesomeMediator.decreaseScaleValue();
break; break;
} }
} }
private static void applyOnDefault(String componentName, int factor){
private static void initDefault(String name){ Font defaultFont = UIManager.getDefaults().getFont(componentName);
applyOnDefault(name, AwesomeMediator.getScaleValue()); UIManager.getDefaults().put(componentName, new Font(defaultFont.getName(), defaultFont.getStyle(),
}
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(),
defaultFont.getSize()+factor)); defaultFont.getSize()+factor));
} }
} }