Browse Source

First take at UI implementation of a Auto-Lock Tab

Martin Beyer 4 years ago
parent
commit
d13dfe3526

+ 37 - 0
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());
+	}
+}

+ 13 - 1
main/ui/src/main/resources/fxml/vault_options_autolock.fxml

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

+ 3 - 0
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