From d13dfe3526f83c5d89d81bd62c0c4afe364b50c1 Mon Sep 17 00:00:00 2001 From: Martin Beyer Date: Wed, 24 Feb 2021 16:23:49 +0100 Subject: [PATCH] First take at UI implementation of a Auto-Lock Tab --- .../AutoLockVaultOptionsController.java | 37 +++++++++++++++++++ .../fxml/vault_options_autolock.fxml | 14 ++++++- .../main/resources/i18n/strings.properties | 3 ++ 3 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 main/ui/src/main/java/org/cryptomator/ui/vaultoptions/AutoLockVaultOptionsController.java diff --git a/main/ui/src/main/java/org/cryptomator/ui/vaultoptions/AutoLockVaultOptionsController.java b/main/ui/src/main/java/org/cryptomator/ui/vaultoptions/AutoLockVaultOptionsController.java new file mode 100644 index 000000000..24de5c8c1 --- /dev/null +++ b/main/ui/src/main/java/org/cryptomator/ui/vaultoptions/AutoLockVaultOptionsController.java @@ -0,0 +1,37 @@ +package org.cryptomator.ui.vaultoptions; + +import org.cryptomator.common.vaults.Vault; +import org.cryptomator.ui.common.FxController; + +import javax.inject.Inject; + +import javafx.fxml.FXML; +import javafx.scene.control.CheckBox; +import javafx.scene.control.TextField; +import javafx.stage.Stage; + +import java.util.ResourceBundle; + +@VaultOptionsScoped +public class AutoLockVaultOptionsController implements FxController { + + private final Vault vault; + private final Stage window; + public CheckBox lockOnSleepCheckbox; + public CheckBox lockAfterIdleTimeCheckbox; + public TextField lockIdleTimeInMinutesTextField; + + @Inject + AutoLockVaultOptionsController(@VaultOptionsWindow Stage window, @VaultOptionsWindow Vault vault, ResourceBundle resourceBundle) { + this.window = window; + this.vault = vault; + //this.resourceBundle = resourceBundle; + } + + @FXML + public void initialize() { + lockOnSleepCheckbox.selectedProperty().bindBidirectional(vault.getVaultSettings().lockOnSleep()); + lockAfterIdleTimeCheckbox.selectedProperty().bindBidirectional(vault.getVaultSettings().lockAfterIdleTime()); + lockIdleTimeInMinutesTextField.textProperty().bindBidirectional(vault.getVaultSettings().lockIdleTimeInMinutes()); + } +} diff --git a/main/ui/src/main/resources/fxml/vault_options_autolock.fxml b/main/ui/src/main/resources/fxml/vault_options_autolock.fxml index 3586def6b..18a91f38d 100644 --- a/main/ui/src/main/resources/fxml/vault_options_autolock.fxml +++ b/main/ui/src/main/resources/fxml/vault_options_autolock.fxml @@ -1,7 +1,11 @@ - + + + + + + + + + + + + + diff --git a/main/ui/src/main/resources/i18n/strings.properties b/main/ui/src/main/resources/i18n/strings.properties index 86972b92c..2ef5d89cc 100644 --- a/main/ui/src/main/resources/i18n/strings.properties +++ b/main/ui/src/main/resources/i18n/strings.properties @@ -294,6 +294,9 @@ vaultOptions.masterkey.showRecoveryKeyBtn=Display Recovery Key vaultOptions.masterkey.recoverPasswordBtn=Recover Password ## Auto Lock vaultOptions.autoLock=Auto-Lock +vaultOptions.autoLock.lockOnSleep=Lock on sleep +vaultOptions.autoLock.lockAfterIdleTime=Lock after computer is idle for x minutes +vaultOptions.autoLock.lockAfterAmountOfIdleTime=Following minutes are set: # Recovery Key recoveryKey.title=Recovery Key