Explorar el Código

changePassword window is now subcomponent of vaultOptions

Armin Schrenk hace 6 años
padre
commit
1f65a626e4

+ 4 - 2
main/ui/src/main/java/org/cryptomator/ui/changepassword/ChangePasswordModule.java

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

+ 1 - 2
main/ui/src/main/java/org/cryptomator/ui/mainwindow/MainWindowModule.java

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

+ 1 - 9
main/ui/src/main/java/org/cryptomator/ui/mainwindow/VaultDetailController.java

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

+ 2 - 1
main/ui/src/main/java/org/cryptomator/ui/vaultoptions/VaultOptionsModule.java

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