Fix pause and resume in model menu

This commit is contained in:
0xb00bface 2021-07-25 14:57:13 +02:00
parent 27caa0098a
commit 8e08682d27
1 changed files with 7 additions and 8 deletions

View File

@ -25,8 +25,10 @@ import ctbrec.ui.action.AddToGroupAction;
import ctbrec.ui.action.EditNotesAction;
import ctbrec.ui.action.IgnoreModelsAction;
import ctbrec.ui.action.OpenRecordingsDir;
import ctbrec.ui.action.PauseAction;
import ctbrec.ui.action.PlayAction;
import ctbrec.ui.action.RemoveTimeLimitAction;
import ctbrec.ui.action.ResumeAction;
import ctbrec.ui.action.SetStopDateAction;
import ctbrec.ui.action.StartRecordingAction;
import ctbrec.ui.action.StopRecordingAction;
@ -330,21 +332,17 @@ public class ModelMenuContributor {
private void addPauseResume(ContextMenu menu, List<Model> selectedModels) {
var first = selectedModels.get(0);
LOG.debug(first.toString());
if (recorder.isTracked(first)) {
var pause = new MenuItem("Pause Recording");
pause.setOnAction(e -> pauseResumeAction(selectedModels, true));
pause.setOnAction(e -> new PauseAction(source, selectedModels, recorder).execute());
var resume = new MenuItem("Resume Recording");
resume.setOnAction(e -> pauseResumeAction(selectedModels, false));
resume.setOnAction(e -> new ResumeAction(source, selectedModels, recorder).execute());
var pauseResume = recorder.isSuspended(first) ? resume : pause;
menu.getItems().add(pauseResume);
}
}
private void pauseResumeAction(List<Model> selectedModels, boolean pause) {
selectedModels.forEach(m -> m.setSuspended(pause));
startStopAction(selectedModels, true);
}
private void addRecordLater(ContextMenu menu, List<Model> selectedModels) {
var first = selectedModels.get(0);
var recordLater = new MenuItem("Record Later");
@ -361,7 +359,8 @@ public class ModelMenuContributor {
private void recordLater(List<Model> selectedModels, boolean recordLater) {
selectedModels.forEach(m -> m.setMarkedForLaterRecording(recordLater));
startStopAction(selectedModels, recordLater);
startStopAction(selectedModels, false);
startStopAction(selectedModels, true);
}
private void addStartPaused(ContextMenu menu, List<Model> selectedModels) {