First take at UI implementation of a Auto-Lock Tab

This commit is contained in:
Martin Beyer
2021-02-24 16:23:49 +01:00
parent 8fccb1b8f0
commit d13dfe3526
3 changed files with 53 additions and 1 deletions

View File

@@ -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());
}
}

View File

@@ -1,7 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.layout.VBox?>
<?import org.cryptomator.ui.controls.FormattedLabel?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.CheckBox?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.VBox?>
<VBox xmlns:fx="http://javafx.com/fxml"
xmlns="http://javafx.com/javafx"
fx:controller="org.cryptomator.ui.vaultoptions.AutoLockVaultOptionsController"
@@ -9,4 +13,12 @@
<padding>
<Insets topRightBottomLeft="12"/>
</padding>
<children>
<CheckBox text="%vaultOptions.autoLock.lockOnSleep" fx:id="lockOnSleepCheckbox"/>
<CheckBox text="%vaultOptions.autoLock.lockAfterIdleTime" fx:id="lockAfterIdleTimeCheckbox"/>
<HBox>
<FormattedLabel format="%vaultOptions.autoLock.lockAfterAmountOfIdleTime"/>
<TextField fx:id="lockIdleTimeInMinutesTextField"/>
</HBox>
</children>
</VBox>

View File

@@ -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