|
@@ -5,6 +5,7 @@ import javafx.beans.property.ObjectProperty;
|
|
|
import javafx.beans.property.ReadOnlyObjectProperty;
|
|
|
import javafx.beans.property.SimpleBooleanProperty;
|
|
|
import javafx.fxml.FXML;
|
|
|
+import javafx.stage.Stage;
|
|
|
import org.cryptomator.common.vaults.Vault;
|
|
|
import org.cryptomator.keychain.KeychainManager;
|
|
|
import org.cryptomator.ui.common.FxController;
|
|
@@ -22,14 +23,16 @@ public class VaultDetailLockedController implements FxController {
|
|
|
private final FxApplication application;
|
|
|
private final VaultOptionsComponent.Builder vaultOptionsWindow;
|
|
|
private final Optional<KeychainManager> keychainManagerOptional;
|
|
|
+ private final Stage mainWindow;
|
|
|
private final BooleanExpression passwordSaved;
|
|
|
|
|
|
@Inject
|
|
|
- VaultDetailLockedController(ObjectProperty<Vault> vault, FxApplication application, VaultOptionsComponent.Builder vaultOptionsWindow, Optional<KeychainManager> keychainManagerOptional) {
|
|
|
+ VaultDetailLockedController(ObjectProperty<Vault> vault, FxApplication application, VaultOptionsComponent.Builder vaultOptionsWindow, Optional<KeychainManager> keychainManagerOptional, @MainWindow Stage mainWindow) {
|
|
|
this.vault = vault;
|
|
|
this.application = application;
|
|
|
this.vaultOptionsWindow = vaultOptionsWindow;
|
|
|
this.keychainManagerOptional = keychainManagerOptional;
|
|
|
+ this.mainWindow = mainWindow;
|
|
|
if (keychainManagerOptional.isPresent()) {
|
|
|
this.passwordSaved = BooleanExpression.booleanExpression(EasyBind.select(vault).selectObject(v -> keychainManagerOptional.get().getPassphraseStoredProperty(v.getId())));
|
|
|
} else {
|
|
@@ -39,7 +42,7 @@ public class VaultDetailLockedController implements FxController {
|
|
|
|
|
|
@FXML
|
|
|
public void unlock() {
|
|
|
- application.startUnlockWorkflow(vault.get());
|
|
|
+ application.startUnlockWorkflow(vault.get(), Optional.of(mainWindow));
|
|
|
}
|
|
|
|
|
|
@FXML
|