mirror of
https://github.com/cryptomator/cryptomator.git
synced 2026-05-19 19:21:27 +00:00
simplification and cleanup
This commit is contained in:
@@ -12,9 +12,6 @@ import javafx.beans.binding.Binding;
|
||||
import javafx.beans.binding.BooleanBinding;
|
||||
import javafx.beans.property.ObjectProperty;
|
||||
import javafx.beans.property.SimpleObjectProperty;
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
import javafx.beans.property.StringProperty;
|
||||
import javafx.beans.value.ObservableValue;
|
||||
import javafx.collections.FXCollections;
|
||||
import javafx.collections.ObservableList;
|
||||
import javafx.concurrent.Worker;
|
||||
@@ -22,7 +19,6 @@ import javafx.fxml.FXML;
|
||||
import javafx.scene.control.ListView;
|
||||
import java.io.IOException;
|
||||
import java.util.Collection;
|
||||
import java.util.ResourceBundle;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
|
||||
@@ -30,37 +26,33 @@ import java.util.concurrent.ExecutorService;
|
||||
public class CheckListController implements FxController {
|
||||
|
||||
private static final Logger LOG = LoggerFactory.getLogger(CheckListController.class);
|
||||
private static final Set<Worker.State> endStates = Set.of(Worker.State.FAILED, Worker.State.CANCELLED, Worker.State.SUCCEEDED);
|
||||
private static final Set<Worker.State> END_STATES = Set.of(Worker.State.FAILED, Worker.State.CANCELLED, Worker.State.SUCCEEDED);
|
||||
|
||||
private final ObservableList<HealthCheckTask> tasks;
|
||||
private final ReportWriter reportWriter;
|
||||
private final ExecutorService executorService;
|
||||
private final ObjectProperty<HealthCheckTask> selectedTask;
|
||||
private final ResourceBundle resourceBundle;
|
||||
private final SimpleObjectProperty<Worker<?>> runningTask;
|
||||
private final Binding<Boolean> running;
|
||||
private final Binding<Boolean> finished;
|
||||
private final BooleanBinding anyCheckSelected;
|
||||
private final BooleanBinding readyToRun;
|
||||
private final StringProperty runButtonDescription;
|
||||
|
||||
/* FXML */
|
||||
public ListView<HealthCheckTask> checksListView;
|
||||
|
||||
|
||||
@Inject
|
||||
public CheckListController(Lazy<Collection<HealthCheckTask>> tasks, ReportWriter reportWriteTask, ObjectProperty<HealthCheckTask> selectedTask, ExecutorService executorService, ResourceBundle resourceBundle) {
|
||||
public CheckListController(Lazy<Collection<HealthCheckTask>> tasks, ReportWriter reportWriteTask, ObjectProperty<HealthCheckTask> selectedTask, ExecutorService executorService) {
|
||||
this.tasks = FXCollections.observableArrayList(tasks.get());
|
||||
this.reportWriter = reportWriteTask;
|
||||
this.executorService = executorService;
|
||||
this.selectedTask = selectedTask;
|
||||
this.resourceBundle = resourceBundle;
|
||||
this.runningTask = new SimpleObjectProperty<>();
|
||||
this.running = EasyBind.wrapNullable(runningTask).mapObservable(Worker::runningProperty).orElse(false);
|
||||
this.finished = EasyBind.wrapNullable(runningTask).mapObservable(Worker::stateProperty).map(endStates::contains).orElse(false);
|
||||
this.finished = EasyBind.wrapNullable(runningTask).mapObservable(Worker::stateProperty).map(END_STATES::contains).orElse(false);
|
||||
this.readyToRun = runningTask.isNull();
|
||||
this.anyCheckSelected = selectedTask.isNotNull();
|
||||
this.runButtonDescription = new SimpleStringProperty(resourceBundle.getString("health.check.runAllButton"));
|
||||
}
|
||||
|
||||
@FXML
|
||||
@@ -68,15 +60,6 @@ public class CheckListController implements FxController {
|
||||
checksListView.setItems(tasks);
|
||||
checksListView.setCellFactory(ignored -> new CheckListCell());
|
||||
selectedTask.bind(checksListView.getSelectionModel().selectedItemProperty());
|
||||
selectedTask.addListener(this::updateRunButtonDescription);
|
||||
}
|
||||
|
||||
private void updateRunButtonDescription(ObservableValue<? extends HealthCheckTask> observable, HealthCheckTask oldTask, HealthCheckTask newTask) {
|
||||
if (newTask == null) {
|
||||
runButtonDescription.set(resourceBundle.getString("health.check.runSingleButton"));
|
||||
} else if (oldTask == null && newTask != null) {
|
||||
runButtonDescription.set(resourceBundle.getString("health.check.runAllButton"));
|
||||
}
|
||||
}
|
||||
|
||||
@FXML
|
||||
|
||||
@@ -33,8 +33,8 @@
|
||||
<buttons>
|
||||
<!-- Buttons have a prefWidth to prevent uneven interface -->
|
||||
<Button prefWidth="20" text="%generic.button.cancel" ButtonBar.buttonData="CANCEL_CLOSE" onAction="#cancelCheck" visible="${controller.running}" managed="${controller.running}" />
|
||||
<Button prefWidth="20" text="TODO: run all" ButtonBar.buttonData="NEXT_FORWARD" onAction="#runAllChecks" visible="${controller.readyToRun && !controller.anyCheckSelected}" managed="${controller.readyToRun && !controller.anyCheckSelected}" />
|
||||
<Button prefWidth="20" text="TODO: run selected" ButtonBar.buttonData="NEXT_FORWARD" onAction="#runSelectedChecks" visible="${controller.readyToRun && controller.anyCheckSelected}" managed="${controller.readyToRun && controller.anyCheckSelected}" />
|
||||
<Button prefWidth="20" text="%health.check.runAllButton" ButtonBar.buttonData="NEXT_FORWARD" onAction="#runAllChecks" visible="${controller.readyToRun && !controller.anyCheckSelected}" managed="${controller.readyToRun && !controller.anyCheckSelected}" />
|
||||
<Button prefWidth="20" text="%health.check.runSingleButton" ButtonBar.buttonData="NEXT_FORWARD" onAction="#runSelectedChecks" visible="${controller.readyToRun && controller.anyCheckSelected}" managed="${controller.readyToRun && controller.anyCheckSelected}" />
|
||||
<Button text="TODO Export Results" ButtonBar.buttonData="NEXT_FORWARD" disable="${!controller.finished}" visible="${!controller.readyToRun}" managed="${!controller.readyToRun}" onAction="#exportResults"/>
|
||||
</buttons>
|
||||
</ButtonBar>
|
||||
|
||||
Reference in New Issue
Block a user