From defa9c75eb513dd2ea795db7115ed4abaf76417c Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Mon, 19 Apr 2021 12:05:58 +0200 Subject: [PATCH] add hotkeys for vault selection --- .../ui/mainwindow/VaultListController.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/main/ui/src/main/java/org/cryptomator/ui/mainwindow/VaultListController.java b/main/ui/src/main/java/org/cryptomator/ui/mainwindow/VaultListController.java index 04ea9f152..106d118e8 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/mainwindow/VaultListController.java +++ b/main/ui/src/main/java/org/cryptomator/ui/mainwindow/VaultListController.java @@ -15,12 +15,15 @@ import javafx.collections.ObservableList; import javafx.fxml.FXML; import javafx.scene.control.ListView; import javafx.scene.input.ContextMenuEvent; +import javafx.scene.input.KeyEvent; import javafx.scene.input.MouseEvent; +import javafx.stage.Stage; @MainWindowScoped public class VaultListController implements FxController { + private final Stage mainWindow; private final ObservableList vaults; private final ObjectProperty selectedVault; private final VaultListCellFactory cellFactory; @@ -30,7 +33,8 @@ public class VaultListController implements FxController { public ListView vaultList; @Inject - VaultListController(ObservableList vaults, ObjectProperty selectedVault, VaultListCellFactory cellFactory, AddVaultWizardComponent.Builder addVaultWizard) { + VaultListController(@MainWindow Stage mainWindow, ObservableList vaults, ObjectProperty selectedVault, VaultListCellFactory cellFactory, AddVaultWizardComponent.Builder addVaultWizard) { + this.mainWindow = mainWindow; this.vaults = vaults; this.selectedVault = selectedVault; this.cellFactory = cellFactory; @@ -59,6 +63,13 @@ public class VaultListController implements FxController { request.consume(); } }); + //register vault selection shortcut globally + mainWindow.addEventFilter(KeyEvent.KEY_RELEASED, keyEvent -> { + if (keyEvent.isShortcutDown() && keyEvent.getCode().isDigitKey()) { + vaultList.getSelectionModel().select(Integer.parseInt(keyEvent.getText()) - 1); + keyEvent.consume(); + } + }); } private void deselect(MouseEvent released) {