Use ModelMenuContributor to add a model sub menu on the RecordingsTab
This commit is contained in:
parent
08115fabea
commit
e1dbdb00f9
|
@ -48,7 +48,6 @@ import ctbrec.ui.FileDownload;
|
|||
import ctbrec.ui.JavaFxRecording;
|
||||
import ctbrec.ui.Player;
|
||||
import ctbrec.ui.ShutdownListener;
|
||||
import ctbrec.ui.action.FollowAction;
|
||||
import ctbrec.ui.action.PauseAction;
|
||||
import ctbrec.ui.action.PlayAction;
|
||||
import ctbrec.ui.action.StopRecordingAction;
|
||||
|
@ -56,6 +55,7 @@ import ctbrec.ui.controls.CustomMouseBehaviorContextMenu;
|
|||
import ctbrec.ui.controls.DateTimeCellFactory;
|
||||
import ctbrec.ui.controls.Dialogs;
|
||||
import ctbrec.ui.controls.Toast;
|
||||
import ctbrec.ui.menu.ModelMenuContributor;
|
||||
import ctbrec.ui.tabs.recorded.RecordedModelsTab.ModelName;
|
||||
import javafx.application.Platform;
|
||||
import javafx.beans.property.SimpleObjectProperty;
|
||||
|
@ -70,6 +70,7 @@ import javafx.scene.control.Alert.AlertType;
|
|||
import javafx.scene.control.ButtonType;
|
||||
import javafx.scene.control.ContextMenu;
|
||||
import javafx.scene.control.Label;
|
||||
import javafx.scene.control.Menu;
|
||||
import javafx.scene.control.MenuItem;
|
||||
import javafx.scene.control.ProgressBar;
|
||||
import javafx.scene.control.ScrollPane;
|
||||
|
@ -435,10 +436,14 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown
|
|||
deleteRecording.setDisable(recordings.stream().allMatch(Recording::isPinned));
|
||||
}
|
||||
|
||||
var followModels = new MenuItem("Follow Model");
|
||||
followModels.setOnAction(e -> follow(recordings.stream().map(JavaFxRecording::getModel).collect(Collectors.toList())));
|
||||
followModels.setDisable(!recordings.stream().map(JavaFxRecording::getModel).allMatch(m -> m.getSite().supportsFollow() && m.getSite().credentialsAvailable()));
|
||||
contextMenu.getItems().add(followModels);
|
||||
var tmp = new CustomMouseBehaviorContextMenu();
|
||||
ModelMenuContributor.newContributor(getTabPane(), Config.getInstance(), recorder) //
|
||||
.withStartStopCallback(m -> getTabPane().setCursor(Cursor.DEFAULT)) //
|
||||
.afterwards(table::refresh)
|
||||
.contributeToMenu(List.of(recordings.get(0).getModel()), tmp);
|
||||
var modelSubMenu = new Menu("Model");
|
||||
modelSubMenu.getItems().addAll(tmp.getItems());
|
||||
contextMenu.getItems().add(modelSubMenu);
|
||||
|
||||
var openDir = new MenuItem("Open directory");
|
||||
openDir.setOnAction(e -> onOpenDirectory(first));
|
||||
|
@ -479,10 +484,6 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown
|
|||
return contextMenu;
|
||||
}
|
||||
|
||||
private void follow(List<Model> selectedModels) {
|
||||
new FollowAction(getTabPane(), selectedModels).execute();
|
||||
}
|
||||
|
||||
private void stopRecording(List<Model> selectedModels) {
|
||||
var confirmed = true;
|
||||
if (Config.getInstance().getSettings().confirmationForDangerousActions) {
|
||||
|
|
Loading…
Reference in New Issue