Merge commit '68445befeb17cee00c3b7d050edd0404ae3089d2' into develop

This commit is contained in:
Sebastian Stenzel
2018-03-23 06:16:31 +01:00
5 changed files with 44 additions and 8 deletions

View File

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

View File

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

View File

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

View File

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

View File

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