forked from j62/ctbrec
1
0
Fork 0

Optimized paused checkbox event handling

This commit is contained in:
0xboobface 2018-12-01 20:01:08 +01:00
parent 3188511c6a
commit 857674c5cb
1 changed files with 8 additions and 2 deletions

View File

@ -321,10 +321,14 @@ public class RecordedModelsTab extends Tab implements TabSelectionListener {
observableModels.add(updatedModel); observableModels.add(updatedModel);
updatedModel.getPausedProperty().addListener((obs, oldV, newV) -> { updatedModel.getPausedProperty().addListener((obs, oldV, newV) -> {
if (newV) { if (newV) {
if(!recorder.isSuspended(updatedModel)) {
pauseRecording(Collections.singletonList(updatedModel)); pauseRecording(Collections.singletonList(updatedModel));
}
} else { } else {
if(recorder.isSuspended(updatedModel)) {
resumeRecording(Collections.singletonList(updatedModel)); resumeRecording(Collections.singletonList(updatedModel));
} }
}
}); });
} else { } else {
// make sure to update the JavaFX online property, so that the table cell is updated // make sure to update the JavaFX online property, so that the table cell is updated
@ -537,6 +541,7 @@ public class RecordedModelsTab extends Tab implements TabSelectionListener {
Consumer<Model> action = (m) -> { Consumer<Model> action = (m) -> {
try { try {
recorder.suspendRecording(m); recorder.suspendRecording(m);
m.setSuspended(true);
} catch(Exception e) { } catch(Exception e) {
Platform.runLater(() -> Platform.runLater(() ->
showErrorDialog(e, "Couldn't pause recording of model", "Pausing recording of " + m.getName() + " failed")); showErrorDialog(e, "Couldn't pause recording of model", "Pausing recording of " + m.getName() + " failed"));
@ -550,6 +555,7 @@ public class RecordedModelsTab extends Tab implements TabSelectionListener {
Consumer<Model> action = (m) -> { Consumer<Model> action = (m) -> {
try { try {
recorder.resumeRecording(m); recorder.resumeRecording(m);
m.setSuspended(false);
} catch(Exception e) { } catch(Exception e) {
Platform.runLater(() -> Platform.runLater(() ->
showErrorDialog(e, "Couldn't resume recording of model", "Resuming recording of " + m.getName() + " failed")); showErrorDialog(e, "Couldn't resume recording of model", "Resuming recording of " + m.getName() + " failed"));