Bläddra i källkod

Merge commit '68445befeb17cee00c3b7d050edd0404ae3089d2' into develop

Sebastian Stenzel 7 år sedan
förälder
incheckning
32e81796ae

+ 7 - 7
main/ui/src/main/java/org/cryptomator/ui/controllers/MainController.java

@@ -397,7 +397,7 @@ public class MainController implements ViewController {
 		} else if (newValue.isValidVaultDirectory() && upgradeStrategyForSelectedVault.isPresent()) {
 			this.showUpgradeView();
 		} else if (newValue.isValidVaultDirectory()) {
-			this.showUnlockView();
+			this.showUnlockView(UnlockController.State.UNLOCKING);
 		} else {
 			this.showInitializeView();
 		}
@@ -447,7 +447,7 @@ public class MainController implements ViewController {
 	}
 
 	public void didInitialize() {
-		showUnlockView();
+		showUnlockView(UnlockController.State.INITIALIZED);
 		activeController.get().focus();
 	}
 
@@ -459,13 +459,13 @@ public class MainController implements ViewController {
 	}
 
 	public void didUpgrade() {
-		showUnlockView();
+		showUnlockView(UnlockController.State.UPGRADED);
 		activeController.get().focus();
 	}
 
-	private void showUnlockView() {
+	private void showUnlockView(UnlockController.State state) {
 		final UnlockController ctrl = viewControllerLoader.load("/fxml/unlock.fxml");
-		ctrl.setVault(selectedVault.get());
+		ctrl.setVault(selectedVault.get(), state);
 		ctrl.setListener(this::didUnlock);
 		activeController.set(ctrl);
 	}
@@ -487,7 +487,7 @@ public class MainController implements ViewController {
 
 	public void didLock(UnlockedController ctrl) {
 		unlockedVaults.remove(ctrl.getVault());
-		showUnlockView();
+		showUnlockView(UnlockController.State.UNLOCKING);
 		activeController.get().focus();
 	}
 
@@ -500,7 +500,7 @@ public class MainController implements ViewController {
 	}
 
 	public void didChangePassword() {
-		showUnlockView();
+		showUnlockView(UnlockController.State.PASSWORD_CHANGED);
 		activeController.get().focus();
 	}
 

+ 27 - 1
main/ui/src/main/java/org/cryptomator/ui/controllers/UnlockController.java

@@ -101,6 +101,9 @@ public class UnlockController implements ViewController {
 	@FXML
 	private Button unlockButton;
 
+	@FXML
+	private Label successMessage;
+
 	@FXML
 	private CheckBox savePassword;
 
@@ -194,7 +197,7 @@ public class UnlockController implements ViewController {
 		passwordField.requestFocus();
 	}
 
-	void setVault(Vault vault) {
+	void setVault(Vault vault, State state) {
 		vaultSubs.unsubscribe();
 		vaultSubs = Subscription.EMPTY;
 
@@ -209,6 +212,8 @@ public class UnlockController implements ViewController {
 		advancedOptions.setVisible(false);
 		advancedOptionsButton.setText(localization.getString("unlock.button.advancedOptions.show"));
 		progressIndicator.setVisible(false);
+		successMessage.setVisible(state.successMessage().isPresent());
+		state.successMessage().map(localization::getString).ifPresent(successMessage::setText);
 		if (SystemUtils.IS_OS_WINDOWS) {
 			winDriveLetter.valueProperty().removeListener(driveLetterChangeListener);
 			winDriveLetter.getItems().clear();
@@ -265,6 +270,7 @@ public class UnlockController implements ViewController {
 
 	@FXML
 	private void didClickAdvancedOptionsButton(ActionEvent event) {
+		successMessage.setVisible(false);
 		advancedOptions.setVisible(!advancedOptions.isVisible());
 		if (advancedOptions.isVisible()) {
 			advancedOptionsButton.setText(localization.getString("unlock.button.advancedOptions.hide"));
@@ -463,4 +469,24 @@ public class UnlockController implements ViewController {
 		void didUnlock(Vault vault);
 	}
 
+	/* state */
+
+	public enum State {
+		UNLOCKING(null),
+		INITIALIZED("unlock.successLabel.vaultCreated"),
+		PASSWORD_CHANGED("unlock.successLabel.passwordChanged"),
+		UPGRADED("unlock.successLabel.upgraded");
+
+		private Optional<String> successMessage;
+
+		State(String successMessage) {
+			this.successMessage = Optional.ofNullable(successMessage);
+		}
+
+		public Optional<String> successMessage() {
+			return successMessage;
+		}
+
+	}
+
 }

+ 3 - 0
main/ui/src/main/resources/fxml/unlock.fxml

@@ -46,6 +46,9 @@
 			<Button fx:id="unlockButton" text="%unlock.button.unlock" defaultButton="true" prefWidth="150.0" onAction="#didClickUnlockButton" disable="true" cacheShape="true" cache="true" />
 		</HBox>
 		
+		<!-- Row 3 -->
+		<Label fx:id="successMessage" cacheShape="true" cache="true" visible="true" GridPane.rowIndex="3" GridPane.columnIndex="0" GridPane.columnSpan="2"/>
+
 		<!-- Row 3 -->
 		<GridPane fx:id="advancedOptions" vgap="12.0" hgap="12.0" prefWidth="400.0" GridPane.rowIndex="3" GridPane.columnIndex="0" GridPane.columnSpan="2" visible="false" cacheShape="true" cache="true">
 			<padding>

+ 4 - 0
main/ui/src/main/resources/localization/de.txt

@@ -34,6 +34,10 @@ unlock.errorMessage.wrongPassword = Falsches Passwort
 unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware = Tresor nicht unterstützt. Der Tresor wurde mit einer älteren Version von Cryptomator erstellt.
 unlock.errorMessage.unsupportedVersion.softwareOlderThanVault = Tresor nicht unterstützt. Der Tresor wurde mit einer neueren Version von Cryptomator erstellt.
 unlock.messageLabel.startServerFailed = Starten des WebDAV-Servers fehlgeschlagen.
+unlock.successLabel.vaultCreated = Der Tresor wurde erfolgreich erstellt.
+unlock.successLabel.passwordChanged = Das Passwort wurde erfolgreich geändert.
+unlock.successLabel.upgraded = Cryptomator wurde erfolgreich geupdated.
+
 # change_password.fxml
 changePassword.label.oldPassword = Altes Passwort
 changePassword.label.newPassword = Neues Passwort

+ 3 - 0
main/ui/src/main/resources/localization/en.txt

@@ -84,6 +84,9 @@ unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware=Unsupported vault.
 unlock.errorMessage.unsupportedVersion.softwareOlderThanVault=Unsupported vault. This vault has been created with a newer version of Cryptomator.
 unlock.errorMessage.unauthenticVersionMac=Could not authenticate version MAC.
 unlock.messageLabel.startServerFailed=Starting WebDAV server failed.
+unlock.successLabel.vaultCreated=Vault was successfully created.
+unlock.successLabel.passwordChanged=Password was successfully changed.
+unlock.successLabel.upgraded=Cryptomator was successfully upgraded.
 
 # change_password.fxml
 changePassword.label.oldPassword=Old Password