From c204ed2601cd4f85ab560533f02609155cf675e3 Mon Sep 17 00:00:00 2001 From: jellemdekker Date: Fri, 24 Apr 2020 14:30:19 +0200 Subject: [PATCH] Allow password field to be cleared with Ctrl/Command + backspace, implements #885. --- .../org/cryptomator/ui/controls/SecurePasswordField.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/main/ui/src/main/java/org/cryptomator/ui/controls/SecurePasswordField.java b/main/ui/src/main/java/org/cryptomator/ui/controls/SecurePasswordField.java index eb3019102..23bcf22bb 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/controls/SecurePasswordField.java +++ b/main/ui/src/main/java/org/cryptomator/ui/controls/SecurePasswordField.java @@ -22,6 +22,8 @@ import javafx.scene.control.TextField; import javafx.scene.input.DragEvent; import javafx.scene.input.Dragboard; import javafx.scene.input.KeyCode; +import javafx.scene.input.KeyCodeCombination; +import javafx.scene.input.KeyCombination; import javafx.scene.input.KeyEvent; import javafx.scene.input.TransferMode; @@ -43,6 +45,7 @@ public class SecurePasswordField extends TextField { private static final int GROW_BUFFER_SIZE = 50; private static final String DEFAULT_PLACEHOLDER = "●"; private static final String STYLE_CLASS = "secure-password-field"; + private static final KeyCodeCombination SHORTCUT_BACKSPACE = new KeyCodeCombination(KeyCode.BACK_SPACE, KeyCombination.SHORTCUT_DOWN); private final String placeholderChar; private final BooleanProperty capsLocked = new SimpleBooleanProperty(); @@ -100,6 +103,9 @@ public class SecurePasswordField extends TextField { if (e.getCode() == KeyCode.CAPS) { updateCapsLocked(); } + if (SHORTCUT_BACKSPACE.match(e)) { + swipe(); + } } private void revealPasswordChanged(@SuppressWarnings("unused") Observable observable) {