forked from j62/ctbrec
Add optional confirmation dialog for stop recording action
This commit is contained in:
parent
b6db623078
commit
0d2826ebf7
|
@ -12,7 +12,7 @@ public class StopRecordingAction extends ModelMassEditAction {
|
||||||
|
|
||||||
public StopRecordingAction(Node source, List<? extends Model> models, Recorder recorder) {
|
public StopRecordingAction(Node source, List<? extends Model> models, Recorder recorder) {
|
||||||
super(source, models);
|
super(source, models);
|
||||||
action = (m) -> {
|
action = m -> {
|
||||||
try {
|
try {
|
||||||
recorder.stopRecording(m);
|
recorder.stopRecording(m);
|
||||||
} catch(Exception e) {
|
} catch(Exception e) {
|
||||||
|
|
|
@ -774,11 +774,20 @@ public class RecordedModelsTab extends Tab implements TabSelectionListener {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void stopAction(List<JavaFxModel> selectedModels) {
|
private void stopAction(List<JavaFxModel> selectedModels) {
|
||||||
List<Model> models = selectedModels.stream().map(JavaFxModel::getDelegate).collect(Collectors.toList());
|
boolean confirmed = true;
|
||||||
new StopRecordingAction(getTabPane(), models, recorder).execute(m -> Platform.runLater(() -> {
|
if (Config.getInstance().getSettings().confirmationForDangerousActions) {
|
||||||
table.getSelectionModel().clearSelection(table.getItems().indexOf(m));
|
int n = selectedModels.size();
|
||||||
table.getItems().remove(m);
|
String plural = n > 1 ? "s" : "";
|
||||||
}));
|
String header = "This will stop the recording of " + n + " model" + plural;
|
||||||
|
confirmed = Dialogs.showConfirmDialog("Stop Recording", "Continue?", header, table.getScene());
|
||||||
|
}
|
||||||
|
if (confirmed) {
|
||||||
|
List<Model> models = selectedModels.stream().map(JavaFxModel::getDelegate).collect(Collectors.toList());
|
||||||
|
new StopRecordingAction(getTabPane(), models, recorder).execute(m -> Platform.runLater(() -> {
|
||||||
|
table.getSelectionModel().clearSelection(table.getItems().indexOf(m));
|
||||||
|
table.getItems().remove(m);
|
||||||
|
}));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void pauseRecording(List<JavaFxModel> selectedModels) {
|
private void pauseRecording(List<JavaFxModel> selectedModels) {
|
||||||
|
|
|
@ -479,7 +479,16 @@ public class RecordingsTab extends Tab implements TabSelectionListener {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void stopRecording(List<Model> selectedModels) {
|
private void stopRecording(List<Model> selectedModels) {
|
||||||
new StopRecordingAction(getTabPane(), selectedModels, recorder).execute();
|
boolean confirmed = true;
|
||||||
|
if (Config.getInstance().getSettings().confirmationForDangerousActions) {
|
||||||
|
int n = selectedModels.size();
|
||||||
|
String plural = n > 1 ? "s" : "";
|
||||||
|
String header = "This will stop the recording of " + n + " model" + plural;
|
||||||
|
confirmed = Dialogs.showConfirmDialog("Stop Recording", "Continue?", header, table.getScene());
|
||||||
|
}
|
||||||
|
if (confirmed) {
|
||||||
|
new StopRecordingAction(getTabPane(), selectedModels, recorder).execute();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void pauseRecording(List<Model> selectedModels) {
|
private void pauseRecording(List<Model> selectedModels) {
|
||||||
|
|
Loading…
Reference in New Issue