Procházet zdrojové kódy

Cleaned up integrations implementation and added Regex for input

Martin Beyer před 4 roky
rodič
revize
1c35780d9e

+ 1 - 19
main/commons/src/main/java/org/cryptomator/common/settings/VaultSettings.java

@@ -37,9 +37,6 @@ public class VaultSettings {
 	public static final String DEFAULT_MOUNT_FLAGS = "";
 	public static final int DEFAULT_FILENAME_LENGTH_LIMIT = -1;
 	public static final WhenUnlocked DEFAULT_ACTION_AFTER_UNLOCK = WhenUnlocked.ASK;
-	public static final boolean DEFAULT_LOCK_ON_SLEEP = false;
-	public static final boolean DEFAULT_LOCK_AFTER_IDLETIME = false;
-	public static final String DEFAULT_LOCK_IDLETIME_IN_MINUTES = "30";
 	public static final boolean DEFAULT_LOCK_AFTER_TIME = false;
 	public static final String DEFAULT_LOCK_TIME_IN_MINUTES = "30";
 
@@ -57,9 +54,6 @@ public class VaultSettings {
 	private final StringProperty mountFlags = new SimpleStringProperty(DEFAULT_MOUNT_FLAGS);
 	private final IntegerProperty filenameLengthLimit = new SimpleIntegerProperty(DEFAULT_FILENAME_LENGTH_LIMIT);
 	private final ObjectProperty<WhenUnlocked> actionAfterUnlock = new SimpleObjectProperty<>(DEFAULT_ACTION_AFTER_UNLOCK);
-	private final BooleanProperty lockOnSleep = new SimpleBooleanProperty(DEFAULT_LOCK_ON_SLEEP);
-	private final BooleanProperty lockAfterIdleTime = new SimpleBooleanProperty(DEFAULT_LOCK_AFTER_IDLETIME);
-	private final StringProperty lockIdleTimeInMinutes = new SimpleStringProperty(DEFAULT_LOCK_IDLETIME_IN_MINUTES);
 	private final BooleanProperty lockAfterTime = new SimpleBooleanProperty(DEFAULT_LOCK_AFTER_TIME);
 	private final StringProperty lockTimeInMinutes = new SimpleStringProperty(DEFAULT_LOCK_TIME_IN_MINUTES);
 	private final StringBinding mountName;
@@ -70,7 +64,7 @@ public class VaultSettings {
 	}
 
 	Observable[] observables() {
-		return new Observable[]{path, displayName, winDriveLetter, unlockAfterStartup, revealAfterMount, useCustomMountPath, customMountPath, usesReadOnlyMode, mountFlags, filenameLengthLimit, actionAfterUnlock, lockOnSleep, lockAfterIdleTime, lockIdleTimeInMinutes, lockAfterTime, lockTimeInMinutes};
+		return new Observable[]{path, displayName, winDriveLetter, unlockAfterStartup, revealAfterMount, useCustomMountPath, customMountPath, usesReadOnlyMode, mountFlags, filenameLengthLimit, actionAfterUnlock,  lockAfterTime, lockTimeInMinutes};
 	}
 
 	public static VaultSettings withRandomId() {
@@ -171,18 +165,6 @@ public class VaultSettings {
 		return actionAfterUnlock.get();
 	}
 
-	public BooleanProperty lockOnSleep() {
-		return lockOnSleep;
-	}
-
-	public BooleanProperty lockAfterIdleTime() {
-		return lockAfterIdleTime;
-	}
-
-	public StringProperty lockIdleTimeInMinutes() {
-		return lockIdleTimeInMinutes;
-	}
-
 	public BooleanProperty lockAfterTime() {
 		return lockAfterTime;
 	}

+ 0 - 12
main/commons/src/main/java/org/cryptomator/common/settings/VaultSettingsJsonAdapter.java

@@ -31,9 +31,6 @@ class VaultSettingsJsonAdapter {
 		out.name("mountFlags").value(value.mountFlags().get());
 		out.name("filenameLengthLimit").value(value.filenameLengthLimit().get());
 		out.name("actionAfterUnlock").value(value.actionAfterUnlock().get().name());
-		out.name("lockOnSleep").value(value.lockOnSleep().get());
-		out.name("lockAfterIdleTime").value(value.lockAfterIdleTime().get());
-		out.name("lockIdleTimeInMinutes").value(value.lockIdleTimeInMinutes().get());
 		out.name("lockAfterTime").value(value.lockAfterTime().get());
 		out.name("lockTimeInMinutes").value(value.lockTimeInMinutes().get());
 		out.endObject();
@@ -53,9 +50,6 @@ class VaultSettingsJsonAdapter {
 		String mountFlags = VaultSettings.DEFAULT_MOUNT_FLAGS;
 		int filenameLengthLimit = VaultSettings.DEFAULT_FILENAME_LENGTH_LIMIT;
 		WhenUnlocked actionAfterUnlock = VaultSettings.DEFAULT_ACTION_AFTER_UNLOCK;
-		boolean lockOnSleep = VaultSettings.DEFAULT_LOCK_ON_SLEEP;
-		boolean lockAfterIdleTime = VaultSettings.DEFAULT_LOCK_AFTER_IDLETIME;
-		String lockIdleTimeInMinutes = VaultSettings.DEFAULT_LOCK_IDLETIME_IN_MINUTES;
 		boolean lockAfterTime = VaultSettings.DEFAULT_LOCK_AFTER_TIME;
 		String lockTimeInMinutes = VaultSettings.DEFAULT_LOCK_TIME_IN_MINUTES;
 
@@ -76,9 +70,6 @@ class VaultSettingsJsonAdapter {
 				case "mountFlags" -> mountFlags = in.nextString();
 				case "filenameLengthLimit" -> filenameLengthLimit = in.nextInt();
 				case "actionAfterUnlock" -> actionAfterUnlock = parseActionAfterUnlock(in.nextString());
-				case "lockOnSleep" -> lockOnSleep = in.nextBoolean();
-				case "lockAfterIdleTime" -> lockAfterIdleTime = in.nextBoolean();
-				case "lockIdleTimeInMinutes" -> lockIdleTimeInMinutes = in.nextString();
 				case "lockAfterTime" -> lockAfterTime = in.nextBoolean();
 				case "lockTimeInMinutes" -> lockTimeInMinutes = in.nextString();
 				default -> {
@@ -105,9 +96,6 @@ class VaultSettingsJsonAdapter {
 		vaultSettings.mountFlags().set(mountFlags);
 		vaultSettings.filenameLengthLimit().set(filenameLengthLimit);
 		vaultSettings.actionAfterUnlock().set(actionAfterUnlock);
-		vaultSettings.lockOnSleep().set(lockOnSleep);
-		vaultSettings.lockAfterIdleTime().set(lockAfterIdleTime);
-		vaultSettings.lockIdleTimeInMinutes().set(lockIdleTimeInMinutes);
 		vaultSettings.lockAfterTime().set(lockAfterTime);
 		vaultSettings.lockTimeInMinutes().set(lockTimeInMinutes);
 		return vaultSettings;

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 4 - 37
main/ui/src/main/java/org/cryptomator/ui/fxapp/FxApplication.java


+ 11 - 6
main/ui/src/main/java/org/cryptomator/ui/vaultoptions/AutoLockVaultOptionsController.java

@@ -5,6 +5,8 @@ import org.cryptomator.ui.common.FxController;
 
 import javax.inject.Inject;
 
+import javafx.beans.value.ChangeListener;
+import javafx.beans.value.ObservableValue;
 import javafx.fxml.FXML;
 import javafx.scene.control.CheckBox;
 import javafx.scene.control.TextField;
@@ -17,10 +19,7 @@ public class AutoLockVaultOptionsController implements FxController {
 
 	private final Vault vault;
 	private final Stage window;
-	public CheckBox lockOnSleepCheckbox;
-	public CheckBox lockAfterIdleTimeCheckbox;
 	public CheckBox lockAfterTimeCheckbox;
-	public TextField lockIdleTimeInMinutesTextField;
 	public TextField lockTimeInMinutesTextField;
 
 	@Inject
@@ -31,10 +30,16 @@ public class AutoLockVaultOptionsController implements FxController {
 
 	@FXML
 	public void initialize() {
-		lockOnSleepCheckbox.selectedProperty().bindBidirectional(vault.getVaultSettings().lockOnSleep());
-		lockAfterIdleTimeCheckbox.selectedProperty().bindBidirectional(vault.getVaultSettings().lockAfterIdleTime());
-		lockIdleTimeInMinutesTextField.textProperty().bindBidirectional(vault.getVaultSettings().lockIdleTimeInMinutes());
 		lockAfterTimeCheckbox.selectedProperty().bindBidirectional(vault.getVaultSettings().lockAfterTime());
 		lockTimeInMinutesTextField.textProperty().bindBidirectional(vault.getVaultSettings().lockTimeInMinutes());
+		//force the field to be a double with the correct decimal point
+		lockTimeInMinutesTextField.textProperty().addListener(new ChangeListener<String>() {
+			@Override
+			public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
+				if (!newValue.matches("\\d{0,9}([\\.]\\d{0,9})?")) {
+					lockTimeInMinutesTextField.setText(newValue.replaceAll("[^\\d]", ""));
+				}
+			}
+		});
 	}
 }