From 2f953061b370938c663102ef6c84feba0b97fcc3 Mon Sep 17 00:00:00 2001 From: Sebastian Stenzel Date: Tue, 6 Aug 2019 12:06:03 +0200 Subject: [PATCH] =?UTF-8?q?Experimenting=20with=20=E2=8C=98W=20shortcuts?= =?UTF-8?q?=20on=20windows=20(TODO:=20we=20should=20find=20some=20better?= =?UTF-8?q?=20way=20to=20do=20this)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/preferences/PreferencesController.java | 6 +++++ .../vaultoptions/VaultOptionsController.java | 22 ++++++++++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/main/ui/src/main/java/org/cryptomator/ui/preferences/PreferencesController.java b/main/ui/src/main/java/org/cryptomator/ui/preferences/PreferencesController.java index 67d1d8ae4..56d563530 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/preferences/PreferencesController.java +++ b/main/ui/src/main/java/org/cryptomator/ui/preferences/PreferencesController.java @@ -4,6 +4,9 @@ import javafx.beans.binding.BooleanBinding; import javafx.fxml.FXML; import javafx.scene.control.Tab; import javafx.scene.control.TabPane; +import javafx.scene.input.KeyCode; +import javafx.scene.input.KeyCodeCombination; +import javafx.scene.input.KeyCombination; import javafx.stage.Stage; import javafx.stage.WindowEvent; import org.cryptomator.ui.common.FxController; @@ -35,6 +38,9 @@ public class PreferencesController implements FxController { if (updateAvailable.get()) { tabPane.getSelectionModel().select(updatesTab); } + + KeyCombination cmdW = new KeyCodeCombination(KeyCode.W, KeyCombination.SHORTCUT_DOWN); + window.getScene().getAccelerators().put(cmdW, window::close); } } diff --git a/main/ui/src/main/java/org/cryptomator/ui/vaultoptions/VaultOptionsController.java b/main/ui/src/main/java/org/cryptomator/ui/vaultoptions/VaultOptionsController.java index 9b525c2a3..bea97f7cb 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/vaultoptions/VaultOptionsController.java +++ b/main/ui/src/main/java/org/cryptomator/ui/vaultoptions/VaultOptionsController.java @@ -1,5 +1,11 @@ package org.cryptomator.ui.vaultoptions; +import javafx.fxml.FXML; +import javafx.scene.input.KeyCode; +import javafx.scene.input.KeyCodeCombination; +import javafx.scene.input.KeyCombination; +import javafx.stage.Stage; +import javafx.stage.WindowEvent; import org.cryptomator.ui.common.FxController; import javax.inject.Inject; @@ -7,7 +13,21 @@ import javax.inject.Inject; @VaultOptionsScoped public class VaultOptionsController implements FxController { + private final Stage window; + @Inject - VaultOptionsController(){} + VaultOptionsController(@VaultOptionsWindow Stage window) { + this.window = window; + } + + @FXML + public void initialize() { + window.setOnShowing(this::windowWillAppear); + } + + private void windowWillAppear(WindowEvent windowEvent) { + KeyCombination cmdW = new KeyCodeCombination(KeyCode.W, KeyCombination.SHORTCUT_DOWN); + window.getScene().getAccelerators().put(cmdW, window::close); + } }