From 792fe1eafee8913d522c99d55dfbbc73eb55da36 Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Wed, 30 Nov 2022 16:23:44 +0100 Subject: [PATCH] use jfx19 API --- .../ui/health/ResultListCellController.java | 28 ++++++++----------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/src/main/java/org/cryptomator/ui/health/ResultListCellController.java b/src/main/java/org/cryptomator/ui/health/ResultListCellController.java index 7debc4207..64cac79d3 100644 --- a/src/main/java/org/cryptomator/ui/health/ResultListCellController.java +++ b/src/main/java/org/cryptomator/ui/health/ResultListCellController.java @@ -33,7 +33,6 @@ public class ResultListCellController implements FxController { private static final FontAwesome5Icon WARN_ICON = FontAwesome5Icon.EXCLAMATION_TRIANGLE; private static final FontAwesome5Icon CRIT_ICON = FontAwesome5Icon.TIMES; - private final Logger LOG = LoggerFactory.getLogger(ResultListCellController.class); private final ObjectProperty result; private final ObservableValue severity; @@ -41,12 +40,12 @@ public class ResultListCellController implements FxController { private final ResultFixApplier fixApplier; private final ObservableValue fixState; private final ObjectBinding severityGlyph; - private final ObjectBinding fixGlyph; private final BooleanBinding fixable; private final BooleanBinding fixing; private final BooleanBinding fixed; private final BooleanBinding fixFailed; private final BooleanBinding fixRunningOrDone; + private final ObservableValue fixGlyph; private final List subscriptions; private final Tooltip fixStateTip; private final Tooltip severityTip; @@ -66,12 +65,12 @@ public class ResultListCellController implements FxController { this.fixApplier = fixApplier; this.fixState = result.flatMap(Result::fixState); this.severityGlyph = Bindings.createObjectBinding(this::getSeverityGlyph, result); - this.fixGlyph = Bindings.createObjectBinding(this::getFixGlyph, fixState); this.fixable = Bindings.createBooleanBinding(this::isFixable, fixState); this.fixing = Bindings.createBooleanBinding(this::isFixing, fixState); this.fixed = Bindings.createBooleanBinding(this::isFixed, fixState); this.fixFailed = Bindings.createBooleanBinding(this::isFixFailed, fixState); this.fixRunningOrDone = fixing.or(fixed).or(fixFailed); + this.fixGlyph = fixState.map(this::getFixGlyph); this.subscriptions = new ArrayList<>(); this.fixStateTip = new Tooltip(); @@ -83,6 +82,15 @@ public class ResultListCellController implements FxController { severityTip.setShowDelay(Duration.millis(150)); } + public FontAwesome5Icon getFixGlyph(Result.FixState state) { + return switch (state) { + case FIXING -> FontAwesome5Icon.SPINNER; + case FIXED -> FontAwesome5Icon.CHECK; + case FIX_FAILED -> FontAwesome5Icon.TIMES; + default -> null; + }; + } + private String getFixStateDescription(Result.FixState fixState) { return switch (fixState) { case FIXED -> resourceBundle.getString("health.fix.successTip"); @@ -170,22 +178,10 @@ public class ResultListCellController implements FxController { }; } - public ObjectBinding fixGlyphProperty() { + public ObservableValue fixGlyphProperty() { return fixGlyph; } - public FontAwesome5Icon getFixGlyph() { - if (fixState.getValue() == null) { - return null; - } - return switch (fixState.getValue()) { - case NOT_FIXABLE, FIXABLE -> null; - case FIXING -> FontAwesome5Icon.SPINNER; - case FIXED -> FontAwesome5Icon.CHECK; - case FIX_FAILED -> FontAwesome5Icon.TIMES; - }; - } - public BooleanBinding fixableProperty() { return fixable; }