浏览代码

Merge pull request #2452 from chewitt1/chewitt-next-button

Fixes #2447
Armin Schrenk 2 年之前
父节点
当前提交
ce96d1c65e

+ 4 - 7
src/main/java/org/cryptomator/ui/addvaultwizard/CreateNewVaultNameController.java

@@ -40,19 +40,15 @@ public class CreateNewVaultNameController implements FxController {
 		this.chooseLocationScene = chooseLocationScene;
 		this.vaultPath = vaultPath;
 		this.vaultName = vaultName;
-		this.validVaultName = Bindings.createBooleanBinding(this::isValidVaultNameInternal, vaultName);
+		this.validVaultName = Bindings.createBooleanBinding(this::isValidVaultName, vaultName);
 	}
 
 	@FXML
 	public void initialize() {
-		vaultName.bind(textField.textProperty());
+		vaultName.bindBidirectional(textField.textProperty());
 		vaultName.addListener(this::vaultNameChanged);
 	}
 
-	private boolean isValidVaultNameInternal() {
-		return vaultName.get() != null && VALID_NAME_PATTERN.matcher(vaultName.get().trim()).matches();
-	}
-
 	private void vaultNameChanged(@SuppressWarnings("unused") Observable observable) {
 		if (isValidVaultName()) {
 			if (vaultPath.get() != null) {
@@ -70,6 +66,7 @@ public class CreateNewVaultNameController implements FxController {
 	@FXML
 	public void next() {
 		window.setScene(chooseLocationScene.get());
+		vaultName.set(vaultName.get().trim());
 	}
 
 	/* Getter/Setter */
@@ -79,7 +76,7 @@ public class CreateNewVaultNameController implements FxController {
 	}
 
 	public boolean isValidVaultName() {
-		return validVaultName.get();
+		return vaultName.get() != null && VALID_NAME_PATTERN.matcher(vaultName.get().trim()).matches();
 	}
 
 }

+ 1 - 1
src/main/resources/fxml/addvault_new_name.fxml

@@ -71,7 +71,7 @@
 		<ButtonBar buttonMinWidth="120" buttonOrder="B+X">
 			<buttons>
 				<Button text="%generic.button.back" ButtonBar.buttonData="BACK_PREVIOUS" onAction="#back"/>
-				<Button text="%generic.button.next" ButtonBar.buttonData="NEXT_FORWARD" onAction="#next" defaultButton="true" disable="${controller.invalidVaultName}"/>
+				<Button text="%generic.button.next" ButtonBar.buttonData="NEXT_FORWARD" onAction="#next" defaultButton="true" disable="${!controller.validVaultName}"/>
 			</buttons>
 		</ButtonBar>
 	</children>