diff --git a/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/app/TimeCalcConfiguration.java b/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/app/TimeCalcConfiguration.java index ac6a8ec..f7f8840 100644 --- a/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/app/TimeCalcConfiguration.java +++ b/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/app/TimeCalcConfiguration.java @@ -273,6 +273,8 @@ public class TimeCalcConfiguration { .getKey(), false); public final BooleanProperty speedFloatingProperty = new BooleanProperty(TimeCalcProperty.SPEED_FLOATING .getKey(), false); + public final BooleanProperty typeVisibleProperty = new BooleanProperty(TimeCalcProperty.TYPE_VISIBLE + .getKey(), false); // private final Map mapOfProperties @@ -350,6 +352,7 @@ public class TimeCalcConfiguration { speedProperty, speedNegativeProperty, speedFloatingProperty, + typeVisibleProperty, clockHiddenProperty, batteryMinuteHiddenProperty, batteryHourHiddenProperty, diff --git a/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/app/TimeCalcProperty.java b/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/app/TimeCalcProperty.java index ad1d1cc..eaa5f34 100644 --- a/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/app/TimeCalcProperty.java +++ b/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/app/TimeCalcProperty.java @@ -130,7 +130,8 @@ public enum TimeCalcProperty { ACTIVITY_NEEDED_FLAGS("activity.needed-flags", "Activity : Needed flags", String.class), SPEED("speed", "Speed", Integer.class), SPEED_NEGATIVE("speed.negative", "Speed : Negative", Integer.class), - SPEED_FLOATING("speed.floating", "Speed : Floating"); + SPEED_FLOATING("speed.floating", "Speed : Floating"), + TYPE_VISIBLE("type.visible", "Type : Visible"); @Getter private final String key; diff --git a/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/common/Widget.java b/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/common/Widget.java index c207a66..05f1b41 100644 --- a/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/common/Widget.java +++ b/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/common/Widget.java @@ -83,6 +83,8 @@ public class Widget extends JPanel implements Visibility.STRONGLY_COLORED.name()); public StringProperty typeProperty = new StringProperty("widget.typeProperty", WidgetType.DAY.name().toLowerCase()); + public final BooleanProperty typeVisibleProperty = new BooleanProperty(TimeCalcProperty.TYPE_VISIBLE + .getKey(), false); protected int side = 0; protected Progress progress = null; protected boolean mouseOver = false; @@ -335,23 +337,26 @@ public class Widget extends JPanel implements brush.drawRect(1, 1, getWidth() - 2, getHeight() - 2); brush.setColor(currentColor); } - boolean isLife = getClass() == ProgressLife.class; - boolean isMoney = getClass() == ProgressMoney.class; - if (isLife || isMoney || typeProperty.getValue().equals(WidgetType.PRESENTATION.name().toLowerCase())) { - brush.setColor(visibility.isStronglyColored() ? Color.BLUE : Color.GRAY); - if(visibility.isStronglyColored() && (getClass() == ProgressFuelGauge.class)) { - brush.setColor(Color.GRAY); - } - if(visibility.isWeaklyColored() && (getClass() == ProgressFuelGauge.class)) { - brush.setColor(Color.LIGHT_GRAY); - } - brush.setFont(FONT); - brush.drawString(progress.getWidgetType(WidgetType.valueOf(typeProperty.getValue().toUpperCase())).name(), - (int) (getWidth() * 0.5d - 20d), 15); + + if (typeVisibleProperty.isEnabled() || typeProperty.getValue().equals(WidgetType.PRESENTATION.name().toLowerCase())) { + paintTypeName(brush, visibility); } } + private void paintTypeName(Graphics brush, Visibility visibility) { + brush.setColor(visibility.isStronglyColored() ? Color.BLUE : Color.GRAY); + if(visibility.isStronglyColored() && (getClass() == ProgressFuelGauge.class)) { + brush.setColor(Color.GRAY); + } + if(visibility.isWeaklyColored() && (getClass() == ProgressFuelGauge.class)) { + brush.setColor(Color.LIGHT_GRAY); + } + brush.setFont(FONT); + brush.drawString(progress.getWidgetType(WidgetType.valueOf(typeProperty.getValue().toUpperCase())).name(), + (int) (getWidth() * 0.5d - 20d), 15); + } + private static void paintCloseIcon(Graphics brush, int width, boolean mouseOver, boolean mouseOverCloseButton) { diff --git a/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/windows/ConfigWindow.java b/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/windows/ConfigWindow.java index 76ff4c3..c6a719e 100644 --- a/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/windows/ConfigWindow.java +++ b/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/windows/ConfigWindow.java @@ -274,6 +274,8 @@ public class ConfigWindow extends TWindow { = new JCheckBox(TimeCalcProperty.WEATHER_HIDDEN.getKey()); public final JCheckBox dotHiddenProperty = new JCheckBox(TimeCalcProperty.DOT_HIDDEN.getKey()); + public final JCheckBox typeVisibleProperty + = new JCheckBox(TimeCalcProperty.TYPE_VISIBLE.getKey()); // private final JCheckBox testEnabledProperty @@ -465,6 +467,7 @@ public class ConfigWindow extends TWindow { walkingHumanVisibleProperty.setSelected(enable); fuelVisibleProperty.setSelected(enable); fuelIconVisibleProperty.setSelected(enable); + typeVisibleProperty.setSelected(enable); // clockHiddenProperty.setSelected(!enable); // batteryMinuteHiddenProperty.setSelected(!enable); // batteryHourHiddenProperty.setSelected(!enable); @@ -562,6 +565,7 @@ public class ConfigWindow extends TWindow { speedProperty, speedNegativeProperty, speedFloatingProperty, + typeVisibleProperty, visibilityDefaultProperty, visibilitySupportedColoredProperty)); // diff --git a/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/windows/MainWindow.java b/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/windows/MainWindow.java index d7b1f44..235256a 100644 --- a/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/windows/MainWindow.java +++ b/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/windows/MainWindow.java @@ -791,6 +791,7 @@ public class MainWindow extends TWindow { .bindTo(timeCalcConfiguration.smileysVisibleOnlyIfMouseMovingOverProperty); widget.smileysColoredProperty .bindTo(timeCalcConfiguration.smileysColoredProperty); + widget.typeVisibleProperty.bindTo(timeCalcConfiguration.typeVisibleProperty); } ); setSize(progressSquare.getX() + progressSquare.getWidth() diff --git a/modules/time-calc-app/src/main/resources/timecalc-default.conf b/modules/time-calc-app/src/main/resources/timecalc-default.conf index 8129cc9..6a97f8c 100644 --- a/modules/time-calc-app/src/main/resources/timecalc-default.conf +++ b/modules/time-calc-app/src/main/resources/timecalc-default.conf @@ -98,6 +98,7 @@ activity.needed-flags= speed=-2147483648 speed.negative=false speed.floating=false +type.visible=false #TODO: logs.detailed=false