changePassword window is now subcomponent of vaultOptions

This commit is contained in:
Armin Schrenk
2019-08-28 14:08:14 +02:00
parent 04800407d7
commit 1f65a626e4
4 changed files with 8 additions and 14 deletions
@@ -13,6 +13,7 @@ import org.cryptomator.ui.common.FxController;
import org.cryptomator.ui.common.FxControllerKey;
import org.cryptomator.ui.common.FxmlFile;
import org.cryptomator.ui.common.FxmlScene;
import org.cryptomator.ui.vaultoptions.VaultOptionsWindow;
import javax.inject.Named;
import javax.inject.Provider;
@@ -33,11 +34,12 @@ abstract class ChangePasswordModule {
@Provides
@ChangePasswordWindow
@ChangePasswordScoped
static Stage provideStage(ResourceBundle resourceBundle, @Named("windowIcon") Optional<Image> windowIcon) {
static Stage provideStage(@VaultOptionsWindow Stage owner, ResourceBundle resourceBundle, @Named("windowIcon") Optional<Image> windowIcon) {
Stage stage = new Stage();
stage.setTitle(resourceBundle.getString("changepassword.title"));
stage.setResizable(false);
stage.initModality(Modality.APPLICATION_MODAL);
stage.initModality(Modality.WINDOW_MODAL);
stage.initOwner(owner);
windowIcon.ifPresent(stage.getIcons()::add);
return stage;
}
@@ -12,7 +12,6 @@ import javafx.scene.input.KeyCombination;
import javafx.stage.Stage;
import javafx.stage.StageStyle;
import org.cryptomator.ui.addvaultwizard.AddVaultWizardComponent;
import org.cryptomator.ui.changepassword.ChangePasswordComponent;
import org.cryptomator.ui.common.FXMLLoaderFactory;
import org.cryptomator.ui.common.FxController;
import org.cryptomator.ui.common.FxControllerKey;
@@ -27,7 +26,7 @@ import java.util.Map;
import java.util.Optional;
import java.util.ResourceBundle;
@Module(subcomponents = {AddVaultWizardComponent.class, RemoveVaultComponent.class, VaultOptionsComponent.class, ChangePasswordComponent.class})
@Module(subcomponents = {AddVaultWizardComponent.class, RemoveVaultComponent.class, VaultOptionsComponent.class})
abstract class MainWindowModule {
@Provides
@@ -9,7 +9,6 @@ import javafx.fxml.FXML;
import org.cryptomator.common.vaults.Vault;
import org.cryptomator.common.vaults.VaultState;
import org.cryptomator.common.vaults.Volume;
import org.cryptomator.ui.changepassword.ChangePasswordComponent;
import org.cryptomator.ui.common.FxController;
import org.cryptomator.ui.common.Tasks;
import org.cryptomator.ui.controls.FontAwesome5Icon;
@@ -33,16 +32,14 @@ public class VaultDetailController implements FxController {
private final ExecutorService executor;
private final FxApplication application;
private final VaultOptionsComponent.Builder vaultOptionsWindow;
private final ChangePasswordComponent.Builder changePasswordWindow;
@Inject
VaultDetailController(ObjectProperty<Vault> vault, ExecutorService executor, FxApplication application, VaultOptionsComponent.Builder vaultOptionsWindow, ChangePasswordComponent.Builder changePasswordWindow) {
VaultDetailController(ObjectProperty<Vault> vault, ExecutorService executor, FxApplication application, VaultOptionsComponent.Builder vaultOptionsWindow) {
this.vault = vault;
this.glyph = EasyBind.select(vault).selectObject(Vault::stateProperty).map(this::getGlyphForVaultState).orElse(FontAwesome5Icon.EXCLAMATION_TRIANGLE);
this.executor = executor;
this.application = application;
this.vaultOptionsWindow = vaultOptionsWindow;
this.changePasswordWindow = changePasswordWindow;
this.anyVaultSelected = vault.isNotNull();
}
@@ -84,11 +81,6 @@ public class VaultDetailController implements FxController {
vaultOptionsWindow.vault(vault.get()).build().showVaultOptionsWindow();
}
@FXML
public void changePassword() {
changePasswordWindow.vault(vault.get()).build().showChangePasswordWindow();
}
@FXML
public void revealStorageLocation(ActionEvent actionEvent) {
application.getHostServices().showDocument(vault.get().getPath().toUri().toString());
@@ -12,6 +12,7 @@ import javafx.stage.Modality;
import javafx.stage.Stage;
import javafx.stage.StageStyle;
import org.cryptomator.common.vaults.Vault;
import org.cryptomator.ui.changepassword.ChangePasswordComponent;
import org.cryptomator.ui.common.FXMLLoaderFactory;
import org.cryptomator.ui.common.FxController;
import org.cryptomator.ui.common.FxControllerKey;
@@ -23,7 +24,7 @@ import javax.inject.Provider;
import java.util.Map;
import java.util.ResourceBundle;
@Module
@Module(subcomponents = {ChangePasswordComponent.class})
abstract class VaultOptionsModule {
@Provides