|
@@ -1,7 +1,6 @@
|
|
|
package org.cryptomator.ui.health;
|
|
|
|
|
|
import com.tobiasdiez.easybind.EasyBind;
|
|
|
-import com.tobiasdiez.easybind.Subscription;
|
|
|
import org.cryptomator.ui.common.FxController;
|
|
|
|
|
|
import javax.inject.Inject;
|
|
@@ -9,8 +8,6 @@ import javafx.beans.binding.Binding;
|
|
|
import javafx.beans.property.ObjectProperty;
|
|
|
import javafx.beans.property.SimpleObjectProperty;
|
|
|
import javafx.scene.control.CheckBox;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.List;
|
|
|
|
|
|
public class CheckListCellController implements FxController {
|
|
|
|
|
@@ -18,7 +15,6 @@ public class CheckListCellController implements FxController {
|
|
|
private final ObjectProperty<Check> check;
|
|
|
private final Binding<String> checkName;
|
|
|
private final Binding<Boolean> checkRunnable;
|
|
|
- private final List<Subscription> subscriptions;
|
|
|
|
|
|
/* FXML */
|
|
|
public CheckBox forRunSelectedCheckBox;
|
|
@@ -28,16 +24,14 @@ public class CheckListCellController implements FxController {
|
|
|
check = new SimpleObjectProperty<>();
|
|
|
checkRunnable = EasyBind.wrapNullable(check).mapObservable(Check::stateProperty).map(Check.CheckState.RUNNABLE::equals).orElse(false);
|
|
|
checkName = EasyBind.wrapNullable(check).map(Check::getName).orElse("");
|
|
|
- subscriptions = new ArrayList<>();
|
|
|
}
|
|
|
|
|
|
public void initialize() {
|
|
|
- subscriptions.add(EasyBind.subscribe(check, c -> {
|
|
|
- forRunSelectedCheckBox.selectedProperty().unbind();
|
|
|
- if (c != null) {
|
|
|
- forRunSelectedCheckBox.selectedProperty().bindBidirectional(c.chosenForExecutionProperty());
|
|
|
+ forRunSelectedCheckBox.selectedProperty().addListener((observable, wasSelected, isSelected) -> {
|
|
|
+ if (check.get() != null) {
|
|
|
+ check.get().chosenForExecutionProperty().set(isSelected);
|
|
|
}
|
|
|
- }));
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
public ObjectProperty<Check> checkProperty() {
|