forked from j62/ctbrec
Optimized paused checkbox event handling
This commit is contained in:
parent
3188511c6a
commit
857674c5cb
|
@ -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"));
|
||||||
|
|
Loading…
Reference in New Issue