mirror of
https://github.com/cryptomator/cryptomator.git
synced 2026-05-21 12:11:28 +00:00
#114: show success message
* after creating a vault * after changing password * after upgrade
This commit is contained in:
@@ -396,7 +396,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();
|
||||
}
|
||||
@@ -446,7 +446,7 @@ public class MainController implements ViewController {
|
||||
}
|
||||
|
||||
public void didInitialize() {
|
||||
showUnlockView();
|
||||
showUnlockView(UnlockController.State.INITIALIZED);
|
||||
activeController.get().focus();
|
||||
}
|
||||
|
||||
@@ -458,13 +458,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);
|
||||
}
|
||||
@@ -486,7 +486,7 @@ public class MainController implements ViewController {
|
||||
|
||||
public void didLock(UnlockedController ctrl) {
|
||||
unlockedVaults.remove(ctrl.getVault());
|
||||
showUnlockView();
|
||||
showUnlockView(UnlockController.State.UNLOCKING);
|
||||
activeController.get().focus();
|
||||
}
|
||||
|
||||
@@ -499,7 +499,7 @@ public class MainController implements ViewController {
|
||||
}
|
||||
|
||||
public void didChangePassword() {
|
||||
showUnlockView();
|
||||
showUnlockView(UnlockController.State.PASSWORD_CHANGED);
|
||||
activeController.get().focus();
|
||||
}
|
||||
|
||||
|
||||
@@ -94,6 +94,9 @@ public class UnlockController implements ViewController {
|
||||
@FXML
|
||||
private Button unlockButton;
|
||||
|
||||
@FXML
|
||||
private Label successMessage;
|
||||
|
||||
@FXML
|
||||
private CheckBox savePassword;
|
||||
|
||||
@@ -160,7 +163,7 @@ public class UnlockController implements ViewController {
|
||||
passwordField.requestFocus();
|
||||
}
|
||||
|
||||
void setVault(Vault vault) {
|
||||
void setVault(Vault vault, State state) {
|
||||
vaultSubs.unsubscribe();
|
||||
vaultSubs = Subscription.EMPTY;
|
||||
|
||||
@@ -175,6 +178,10 @@ public class UnlockController implements ViewController {
|
||||
advancedOptions.setVisible(false);
|
||||
advancedOptionsButton.setText(localization.getString("unlock.button.advancedOptions.show"));
|
||||
progressIndicator.setVisible(false);
|
||||
successMessage.setVisible(didChange(state));
|
||||
if (successMessage.isVisible()) {
|
||||
successMessage.setText(localization.getString(state.successMessage()));
|
||||
}
|
||||
if (SystemUtils.IS_OS_WINDOWS) {
|
||||
winDriveLetter.valueProperty().removeListener(driveLetterChangeListener);
|
||||
winDriveLetter.getItems().clear();
|
||||
@@ -225,6 +232,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"));
|
||||
@@ -389,6 +397,15 @@ public class UnlockController implements ViewController {
|
||||
}).run();
|
||||
}
|
||||
|
||||
private boolean didChange(State state) {
|
||||
switch (state) {
|
||||
case UNLOCKING:
|
||||
return false;
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
/* callback */
|
||||
|
||||
public void setListener(UnlockListener listener) {
|
||||
@@ -400,4 +417,27 @@ public class UnlockController implements ViewController {
|
||||
void didUnlock(Vault vault);
|
||||
}
|
||||
|
||||
/* state */
|
||||
|
||||
public enum State {
|
||||
UNLOCKING(empty()),
|
||||
INITIALIZED("unlock.successLabel.vaultCreated"),
|
||||
PASSWORD_CHANGED("unlock.successLabel.passwordChanged"),
|
||||
UPGRADED("unlock.successLabel.upgraded");
|
||||
|
||||
private static String empty() {
|
||||
return "";
|
||||
}
|
||||
|
||||
private String successMessage;
|
||||
|
||||
State(String successMessage) {
|
||||
this.successMessage = successMessage;
|
||||
}
|
||||
|
||||
public String successMessage() {
|
||||
return successMessage;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -82,6 +82,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
|
||||
|
||||
Reference in New Issue
Block a user