forked from j62/ctbrec
1
0
Fork 0

Disable right click in context menus

This commit is contained in:
0xb00bface 2020-12-27 15:03:03 +01:00
parent 616be8e252
commit b6db623078
4 changed files with 28 additions and 3 deletions

View File

@ -0,0 +1,18 @@
package ctbrec.ui;
import javafx.scene.control.ContextMenu;
import javafx.scene.input.MouseButton;
import javafx.scene.input.MouseEvent;
public class UiUtils {
private UiUtils() {}
public static void disableRightClickFor(ContextMenu menu) {
menu.addEventFilter(MouseEvent.MOUSE_RELEASED, event -> {
if (event.getButton() == MouseButton.SECONDARY) {
event.consume();
}
});
}
}

View File

@ -39,6 +39,7 @@ import ctbrec.ui.DesktopIntegration;
import ctbrec.ui.JavaFxModel; import ctbrec.ui.JavaFxModel;
import ctbrec.ui.PreviewPopupHandler; import ctbrec.ui.PreviewPopupHandler;
import ctbrec.ui.StreamSourceSelectionDialog; import ctbrec.ui.StreamSourceSelectionDialog;
import ctbrec.ui.UiUtils;
import ctbrec.ui.action.CheckModelAccountAction; import ctbrec.ui.action.CheckModelAccountAction;
import ctbrec.ui.action.EditNotesAction; import ctbrec.ui.action.EditNotesAction;
import ctbrec.ui.action.FollowAction; import ctbrec.ui.action.FollowAction;
@ -675,6 +676,7 @@ public class RecordedModelsTab extends Tab implements TabSelectionListener {
openRecDir.setOnAction(e -> new OpenRecordingsDir(table, selectedModels.get(0)).execute()); openRecDir.setOnAction(e -> new OpenRecordingsDir(table, selectedModels.get(0)).execute());
ContextMenu menu = new ContextMenu(stop); ContextMenu menu = new ContextMenu(stop);
UiUtils.disableRightClickFor(menu);
if (selectedModels.size() == 1) { if (selectedModels.size() == 1) {
menu.getItems().add(selectedModels.get(0).isSuspended() ? resumeRecording : pauseRecording); menu.getItems().add(selectedModels.get(0).isSuspended() ? resumeRecording : pauseRecording);
menu.getItems().add(stopRecordingAt); menu.getItems().add(stopRecordingAt);

View File

@ -45,6 +45,7 @@ import ctbrec.ui.DesktopIntegration;
import ctbrec.ui.FileDownload; import ctbrec.ui.FileDownload;
import ctbrec.ui.JavaFxRecording; import ctbrec.ui.JavaFxRecording;
import ctbrec.ui.Player; import ctbrec.ui.Player;
import ctbrec.ui.UiUtils;
import ctbrec.ui.action.FollowAction; 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;
@ -392,6 +393,7 @@ public class RecordingsTab extends Tab implements TabSelectionListener {
contextMenu.setHideOnEscape(true); contextMenu.setHideOnEscape(true);
contextMenu.setAutoHide(true); contextMenu.setAutoHide(true);
contextMenu.setAutoFix(true); contextMenu.setAutoFix(true);
UiUtils.disableRightClickFor(contextMenu);
JavaFxRecording first = recordings.get(0); JavaFxRecording first = recordings.get(0);
MenuItem openInPlayer = new MenuItem("Open in Player"); MenuItem openInPlayer = new MenuItem("Open in Player");

View File

@ -38,6 +38,7 @@ import ctbrec.ui.DesktopIntegration;
import ctbrec.ui.SiteUiFactory; import ctbrec.ui.SiteUiFactory;
import ctbrec.ui.TipDialog; import ctbrec.ui.TipDialog;
import ctbrec.ui.TokenLabel; import ctbrec.ui.TokenLabel;
import ctbrec.ui.UiUtils;
import ctbrec.ui.action.IgnoreModelsAction; import ctbrec.ui.action.IgnoreModelsAction;
import ctbrec.ui.action.OpenRecordingsDir; import ctbrec.ui.action.OpenRecordingsDir;
import ctbrec.ui.action.SetStopDateAction; import ctbrec.ui.action.SetStopDateAction;
@ -463,9 +464,10 @@ public class ThumbOverviewTab extends Tab implements TabSelectionListener {
openInPlayer.setOnAction(e -> startPlayer(getSelectedThumbCells(cell))); openInPlayer.setOnAction(e -> startPlayer(getSelectedThumbCells(cell)));
MenuItem start = new MenuItem("Start Recording"); MenuItem start = new MenuItem("Start Recording");
start.setOnAction(e -> startStopAction(getSelectedThumbCells(cell), true)); start.setOnAction(e -> startStopAction(e, getSelectedThumbCells(cell), true));
MenuItem stop = new MenuItem("Stop Recording"); MenuItem stop = new MenuItem("Stop Recording");
stop.setOnAction(e -> startStopAction(getSelectedThumbCells(cell), false)); stop.setOnAction(e -> startStopAction(e, getSelectedThumbCells(cell), false));
MenuItem startStop = recorder.isTracked(cell.getModel()) ? stop : start; MenuItem startStop = recorder.isTracked(cell.getModel()) ? stop : start;
MenuItem recordUntil = new MenuItem("Start Recording Until"); MenuItem recordUntil = new MenuItem("Start Recording Until");
@ -505,6 +507,7 @@ public class ThumbOverviewTab extends Tab implements TabSelectionListener {
contextMenu.setHideOnEscape(true); contextMenu.setHideOnEscape(true);
contextMenu.setAutoFix(true); contextMenu.setAutoFix(true);
contextMenu.getItems().addAll(openInPlayer, new SeparatorMenuItem(), startStop); contextMenu.getItems().addAll(openInPlayer, new SeparatorMenuItem(), startStop);
UiUtils.disableRightClickFor(contextMenu);
if(modelIsTrackedByRecorder) { if(modelIsTrackedByRecorder) {
contextMenu.getItems().add(pauseResume); contextMenu.getItems().add(pauseResume);
} else { } else {
@ -688,7 +691,7 @@ public class ThumbOverviewTab extends Tab implements TabSelectionListener {
return 0; return 0;
} }
private void startStopAction(List<ThumbCell> selection, boolean start) { private void startStopAction(ActionEvent e, List<ThumbCell> selection, boolean start) {
for (ThumbCell thumbCell : selection) { for (ThumbCell thumbCell : selection) {
thumbCell.startStopAction(start); thumbCell.startStopAction(start);
} }