diff --git a/client/src/main/java/ctbrec/ui/RecordedModelsTab.java b/client/src/main/java/ctbrec/ui/RecordedModelsTab.java index acc72ce1..2861882d 100644 --- a/client/src/main/java/ctbrec/ui/RecordedModelsTab.java +++ b/client/src/main/java/ctbrec/ui/RecordedModelsTab.java @@ -139,8 +139,14 @@ public class RecordedModelsTab extends Tab implements TabSelectionListener { } }); table.addEventFilter(KeyEvent.KEY_PRESSED, event -> { + List selectedModels = table.getSelectionModel().getSelectedItems(); if(event.getCode() == KeyCode.DELETE) { - stopAction(table.getSelectionModel().getSelectedItems()); + stopAction(selectedModels); + } else if(event.getCode() == KeyCode.P) { + List pausedModels = selectedModels.stream().filter(m -> m.isSuspended()).collect(Collectors.toList()); + List runningModels = selectedModels.stream().filter(m -> !m.isSuspended()).collect(Collectors.toList()); + resumeRecording(pausedModels); + pauseRecording(runningModels); } }); scrollPane.setContent(table); @@ -486,7 +492,7 @@ public class RecordedModelsTab extends Tab implements TabSelectionListener { alert.showAndWait(); } - private void stopAction(ObservableList selectedModels) { + private void stopAction(List selectedModels) { Consumer action = (m) -> { try { recorder.stopRecording(m); @@ -500,7 +506,7 @@ public class RecordedModelsTab extends Tab implements TabSelectionListener { massEdit(models, action); }; - private void pauseRecording(ObservableList selectedModels) { + private void pauseRecording(List selectedModels) { Consumer action = (m) -> { try { recorder.suspendRecording(m); @@ -513,7 +519,7 @@ public class RecordedModelsTab extends Tab implements TabSelectionListener { massEdit(models, action); }; - private void resumeRecording(ObservableList selectedModels) { + private void resumeRecording(List selectedModels) { Consumer action = (m) -> { try { recorder.resumeRecording(m);