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,9 +321,13 @@ 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) {
pauseRecording(Collections.singletonList(updatedModel)); if(!recorder.isSuspended(updatedModel)) {
pauseRecording(Collections.singletonList(updatedModel));
}
} else { } else {
resumeRecording(Collections.singletonList(updatedModel)); if(recorder.isSuspended(updatedModel)) {
resumeRecording(Collections.singletonList(updatedModel));
}
} }
}); });
} else { } else {
@ -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"));