From f544711bfb569bd61bcdfbb6e37962697aa884bf Mon Sep 17 00:00:00 2001 From: Arnaud Vergnet Date: Wed, 16 Dec 2020 11:08:43 +0100 Subject: [PATCH] update indicator on user state change --- .../ui/users/UserActiveIndicatorController.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/fr/insa/clavardator/ui/users/UserActiveIndicatorController.java b/src/main/java/fr/insa/clavardator/ui/users/UserActiveIndicatorController.java index bc3763f..3b10611 100644 --- a/src/main/java/fr/insa/clavardator/ui/users/UserActiveIndicatorController.java +++ b/src/main/java/fr/insa/clavardator/ui/users/UserActiveIndicatorController.java @@ -18,7 +18,7 @@ public class UserActiveIndicatorController implements Initializable { } - public void setUser(PeerUser user) { + private void updateState(PeerUser user) { circle.getStyleClass().clear(); if (user.isActive()) { circle.getStyleClass().add("active-user-dot"); @@ -27,6 +27,15 @@ public class UserActiveIndicatorController implements Initializable { } } + public void setUser(PeerUser user) { + user.addObserver(propertyChangeEvent -> { + if (propertyChangeEvent.getPropertyName().equals("state")) { + updateState(user); + } + }); + updateState(user); + } + public void setSize(double value) { circle.setRadius(value); }