forked from j62/ctbrec
1
0
Fork 0

Add "Ignore" to context menu of RecordedModelsTab

This commit is contained in:
0xboobface 2020-01-26 16:20:14 +01:00
parent 90cb08a3cc
commit dbeb814465
2 changed files with 29 additions and 5 deletions

View File

@ -1,5 +1,7 @@
package ctbrec.ui.controls;
import static javafx.scene.control.ButtonType.*;
import java.io.InputStream;
import java.util.Optional;
@ -8,6 +10,7 @@ import javafx.application.Platform;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Alert;
import javafx.scene.control.Alert.AlertType;
import javafx.scene.control.ButtonType;
import javafx.scene.control.Dialog;
import javafx.scene.control.TextArea;
@ -81,4 +84,12 @@ public class Dialogs {
return dialog.showAndWait();
}
public static boolean showConfirmDialog(String title, String message, String header, Scene parent) {
AutosizeAlert confirm = new AutosizeAlert(AlertType.CONFIRMATION, message, parent, YES, NO);
confirm.setTitle(title);
confirm.setHeaderText(header);
confirm.showAndWait();
return confirm.getResult() == ButtonType.YES;
}
}

View File

@ -610,6 +610,8 @@ public class RecordedModelsTab extends Tab implements TabSelectionListener {
switchStreamSource.setOnAction(e -> switchStreamSource(selectedModels.get(0)));
MenuItem follow = new MenuItem("Follow");
follow.setOnAction(e -> follow(selectedModels));
MenuItem ignore = new MenuItem("Ignore");
ignore.setOnAction(e -> ignore(selectedModels));
MenuItem notes = new MenuItem("Notes");
notes.setOnAction(e -> notes(selectedModels));
MenuItem openRecDir = new MenuItem("Open recording directory");
@ -621,7 +623,7 @@ public class RecordedModelsTab extends Tab implements TabSelectionListener {
} else {
menu.getItems().addAll(resumeRecording, pauseRecording);
}
menu.getItems().addAll(copyUrl, openInPlayer, openInBrowser, openRecDir, switchStreamSource, follow, notes);
menu.getItems().addAll(copyUrl, openInPlayer, openInBrowser, openRecDir, switchStreamSource, follow, notes, ignore);
if (selectedModels.size() > 1) {
copyUrl.setDisable(true);
@ -634,6 +636,17 @@ public class RecordedModelsTab extends Tab implements TabSelectionListener {
return menu;
}
private void ignore(ObservableList<JavaFxModel> selectedModels) {
for (JavaFxModel fxModel : selectedModels) {
Model modelToIgnore = fxModel.getDelegate();
Config.getInstance().getSettings().modelsIgnored.add(modelToIgnore);
}
boolean removeAsWell = Dialogs.showConfirmDialog("Ignore Model", null, "Remove as well?", getTabPane().getScene());
if (removeAsWell) {
stopAction(selectedModels);
}
}
private void follow(ObservableList<JavaFxModel> selectedModels) {
new FollowAction(getTabPane(), new ArrayList<JavaFxModel>(selectedModels)).execute();
}