mirror of
https://github.com/cryptomator/cryptomator.git
synced 2026-05-17 18:21:26 +00:00
expanded functionality: implemented showAddNewVaultWizard and showAddExistingVaultWizard functions
This commit is contained in:
@@ -22,6 +22,10 @@ public interface AddVaultWizardComponent {
|
||||
|
||||
@FxmlScene(FxmlFile.ADDVAULT_WELCOME)
|
||||
Lazy<Scene> scene();
|
||||
@FxmlScene(FxmlFile.ADDVAULT_NEW_NAME)
|
||||
Lazy<Scene> sceneNew();
|
||||
@FxmlScene(FxmlFile.ADDVAULT_EXISTING)
|
||||
Lazy<Scene> sceneExisting();
|
||||
|
||||
default void showAddVaultWizard() {
|
||||
Stage stage = window();
|
||||
@@ -30,6 +34,20 @@ public interface AddVaultWizardComponent {
|
||||
stage.show();
|
||||
}
|
||||
|
||||
default void showAddNewVaultWizard() {
|
||||
Stage stage = window();
|
||||
stage.setScene(sceneNew().get());
|
||||
stage.sizeToScene();
|
||||
stage.show();
|
||||
}
|
||||
|
||||
default void showAddExistingVaultWizard() {
|
||||
Stage stage = window();
|
||||
stage.setScene(sceneExisting().get());
|
||||
stage.sizeToScene();
|
||||
stage.show();
|
||||
}
|
||||
|
||||
@Subcomponent.Builder
|
||||
interface Builder {
|
||||
|
||||
|
||||
@@ -72,7 +72,14 @@ public class VaultListController implements FxController {
|
||||
public Button addVaultBtn;
|
||||
|
||||
@Inject
|
||||
VaultListController(@MainWindow Stage mainWindow, ObservableList<Vault> vaults, ObjectProperty<Vault> selectedVault, VaultListCellFactory cellFactory, AddVaultWizardComponent.Builder addVaultWizard, RemoveVaultComponent.Builder removeVaultDialogue, VaultListManager vaultListManager, ResourceBundle resourceBundle) {
|
||||
VaultListController(@MainWindow Stage mainWindow, //
|
||||
ObservableList<Vault> vaults, //
|
||||
ObjectProperty<Vault> selectedVault, //
|
||||
VaultListCellFactory cellFactory, //
|
||||
AddVaultWizardComponent.Builder addVaultWizard, //
|
||||
RemoveVaultComponent.Builder removeVaultDialogue, //
|
||||
VaultListManager vaultListManager, //
|
||||
ResourceBundle resourceBundle) {
|
||||
this.mainWindow = mainWindow;
|
||||
this.vaults = vaults;
|
||||
this.selectedVault = selectedVault;
|
||||
@@ -141,10 +148,11 @@ public class VaultListController implements FxController {
|
||||
FontAwesome5IconView addIcon = new FontAwesome5IconView();
|
||||
addIcon.setGlyph(FontAwesome5Icon.PLUS);
|
||||
MenuItem item1 = new MenuItem(resourceBundle.getString("addvaultwizard.welcome.newButton"), addIcon);
|
||||
item1.setOnAction(event -> didClickAddNewVault());
|
||||
FontAwesome5IconView openIcon = new FontAwesome5IconView();
|
||||
openIcon.setGlyph(FontAwesome5Icon.FOLDER_OPEN);
|
||||
MenuItem item2 = new MenuItem(resourceBundle.getString("addvaultwizard.welcome.existingButton"), openIcon);
|
||||
item2.setOnAction(event -> didClickAddVault());
|
||||
item2.setOnAction(event -> didClickAddExistingVault());
|
||||
contextMenu.getItems().addAll(item1, item2);
|
||||
addVaultBtn.setContextMenu(contextMenu);
|
||||
}
|
||||
@@ -170,11 +178,21 @@ public class VaultListController implements FxController {
|
||||
VaultListManager.redetermineVaultState(newValue);
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void didClickAddNewVault() {
|
||||
addVaultWizard.build().showAddNewVaultWizard();
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void didClickAddVault() {
|
||||
addVaultWizard.build().showAddVaultWizard();
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void didClickAddExistingVault() {
|
||||
addVaultWizard.build().showAddExistingVaultWizard();
|
||||
}
|
||||
|
||||
private void pressedShortcutToRemoveVault() {
|
||||
final var vault = selectedVault.get();
|
||||
if (vault != null && EnumSet.of(LOCKED, MISSING, ERROR, NEEDS_MIGRATION).contains(vault.getState())) {
|
||||
|
||||
Reference in New Issue
Block a user