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