From 1e6d2bb6fb83c06e99260c76e294f57cb267ae20 Mon Sep 17 00:00:00 2001 From: Jan-Peter Klein Date: Mon, 14 Aug 2023 17:15:17 +0200 Subject: [PATCH 01/11] enhanced ui by introducing context menu for 'add vault' button --- .../ui/mainwindow/VaultListController.java | 29 ++++++++++++++++++- src/main/resources/fxml/vault_list.fxml | 2 +- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/cryptomator/ui/mainwindow/VaultListController.java b/src/main/java/org/cryptomator/ui/mainwindow/VaultListController.java index f0aadfdfc..df43edb65 100644 --- a/src/main/java/org/cryptomator/ui/mainwindow/VaultListController.java +++ b/src/main/java/org/cryptomator/ui/mainwindow/VaultListController.java @@ -7,6 +7,8 @@ import org.cryptomator.cryptofs.CryptoFileSystemProvider; import org.cryptomator.cryptofs.DirStructure; import org.cryptomator.ui.addvaultwizard.AddVaultWizardComponent; import org.cryptomator.ui.common.FxController; +import org.cryptomator.ui.controls.FontAwesome5Icon; +import org.cryptomator.ui.controls.FontAwesome5IconView; import org.cryptomator.ui.removevault.RemoveVaultComponent; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -21,7 +23,10 @@ import javafx.beans.value.ObservableValue; import javafx.collections.ListChangeListener; import javafx.collections.ObservableList; import javafx.fxml.FXML; +import javafx.scene.control.Button; +import javafx.scene.control.ContextMenu; import javafx.scene.control.ListView; +import javafx.scene.control.MenuItem; import javafx.scene.input.ContextMenuEvent; import javafx.scene.input.DragEvent; import javafx.scene.input.KeyCode; @@ -34,6 +39,7 @@ import java.io.File; import java.io.IOException; import java.nio.file.Path; import java.util.EnumSet; +import java.util.ResourceBundle; import java.util.Set; import java.util.stream.Collectors; @@ -59,12 +65,14 @@ public class VaultListController implements FxController { private final RemoveVaultComponent.Builder removeVaultDialogue; private final VaultListManager vaultListManager; private final BooleanProperty draggingVaultOver = new SimpleBooleanProperty(); + private final ResourceBundle resourceBundle; public ListView vaultList; public StackPane root; + public Button addVaultBtn; @Inject - VaultListController(@MainWindow Stage mainWindow, ObservableList vaults, ObjectProperty selectedVault, VaultListCellFactory cellFactory, AddVaultWizardComponent.Builder addVaultWizard, RemoveVaultComponent.Builder removeVaultDialogue, VaultListManager vaultListManager) { + VaultListController(@MainWindow Stage mainWindow, ObservableList vaults, ObjectProperty selectedVault, VaultListCellFactory cellFactory, AddVaultWizardComponent.Builder addVaultWizard, RemoveVaultComponent.Builder removeVaultDialogue, VaultListManager vaultListManager, ResourceBundle resourceBundle) { this.mainWindow = mainWindow; this.vaults = vaults; this.selectedVault = selectedVault; @@ -72,6 +80,7 @@ public class VaultListController implements FxController { this.addVaultWizard = addVaultWizard; this.removeVaultDialogue = removeVaultDialogue; this.vaultListManager = vaultListManager; + this.resourceBundle = resourceBundle; this.emptyVaultList = Bindings.isEmpty(vaults); @@ -127,6 +136,24 @@ public class VaultListController implements FxController { root.setOnDragOver(this::handleDragEvent); root.setOnDragDropped(this::handleDragEvent); root.setOnDragExited(this::handleDragEvent); + + ContextMenu contextMenu = new ContextMenu(); + FontAwesome5IconView addIcon = new FontAwesome5IconView(); + addIcon.setGlyph(FontAwesome5Icon.PLUS); + MenuItem item1 = new MenuItem(resourceBundle.getString("addvaultwizard.welcome.newButton"), addIcon); + FontAwesome5IconView openIcon = new FontAwesome5IconView(); + openIcon.setGlyph(FontAwesome5Icon.FOLDER_OPEN); + MenuItem item2 = new MenuItem(resourceBundle.getString("addvaultwizard.welcome.existingButton"), openIcon); + item2.setOnAction(event -> didClickAddVault()); + contextMenu.getItems().addAll(item1, item2); + addVaultBtn.setContextMenu(contextMenu); + } + + @FXML + private void showMenu() { + double screenX = addVaultBtn.localToScreen(addVaultBtn.getBoundsInLocal()).getMinX(); + double screenY = addVaultBtn.localToScreen(addVaultBtn.getBoundsInLocal()).getMaxY(); + addVaultBtn.getContextMenu().show(addVaultBtn, screenX, screenY); } private void deselect(MouseEvent released) { diff --git a/src/main/resources/fxml/vault_list.fxml b/src/main/resources/fxml/vault_list.fxml index 80f29f2f7..8c3d3d12c 100644 --- a/src/main/resources/fxml/vault_list.fxml +++ b/src/main/resources/fxml/vault_list.fxml @@ -26,7 +26,7 @@ - - - - - - - From c4d503c8d5aaa6e6aa62b949275b71f47b8ff73b Mon Sep 17 00:00:00 2001 From: Jan-Peter Klein Date: Tue, 15 Aug 2023 16:24:07 +0200 Subject: [PATCH 05/11] removed unused import --- .../ui/addvaultwizard/CreateNewVaultNameController.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/org/cryptomator/ui/addvaultwizard/CreateNewVaultNameController.java b/src/main/java/org/cryptomator/ui/addvaultwizard/CreateNewVaultNameController.java index 18e0278a2..a80baef50 100644 --- a/src/main/java/org/cryptomator/ui/addvaultwizard/CreateNewVaultNameController.java +++ b/src/main/java/org/cryptomator/ui/addvaultwizard/CreateNewVaultNameController.java @@ -17,7 +17,6 @@ import javafx.scene.Scene; import javafx.scene.control.TextField; import javafx.stage.Stage; import java.nio.file.Path; -import java.util.ResourceBundle; import java.util.regex.Pattern; @AddVaultWizardScoped From 34328c10bf06b54c36cb1946809d972fe4a6e3f3 Mon Sep 17 00:00:00 2001 From: Jan-Peter Klein Date: Tue, 15 Aug 2023 16:31:42 +0200 Subject: [PATCH 06/11] changed add vault icon to caret down and set contentDisplay RIGHT --- src/main/resources/fxml/vault_list.fxml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/resources/fxml/vault_list.fxml b/src/main/resources/fxml/vault_list.fxml index 8c3d3d12c..9fdc9cadf 100644 --- a/src/main/resources/fxml/vault_list.fxml +++ b/src/main/resources/fxml/vault_list.fxml @@ -26,9 +26,9 @@ - From a038b34e29ce68bc893a5c67cea1cff09ee486c0 Mon Sep 17 00:00:00 2001 From: Jan-Peter Klein Date: Mon, 21 Aug 2023 13:05:42 +0200 Subject: [PATCH 07/11] implemented enhanced styling for MenuItems --- .../ui/mainwindow/VaultListController.java | 15 +++++++++++++++ src/main/resources/css/dark_theme.css | 10 ++++++++++ src/main/resources/css/light_theme.css | 10 ++++++++++ 3 files changed, 35 insertions(+) diff --git a/src/main/java/org/cryptomator/ui/mainwindow/VaultListController.java b/src/main/java/org/cryptomator/ui/mainwindow/VaultListController.java index 268518681..97d8738a4 100644 --- a/src/main/java/org/cryptomator/ui/mainwindow/VaultListController.java +++ b/src/main/java/org/cryptomator/ui/mainwindow/VaultListController.java @@ -34,6 +34,7 @@ import javafx.scene.input.KeyEvent; import javafx.scene.input.MouseEvent; import javafx.scene.input.TransferMode; import javafx.scene.layout.StackPane; +import javafx.scene.text.TextAlignment; import javafx.stage.Stage; import java.io.File; import java.io.IOException; @@ -144,15 +145,29 @@ public class VaultListController implements FxController { root.setOnDragDropped(this::handleDragEvent); root.setOnDragExited(this::handleDragEvent); + initAddVaultBtnContextMenu(); + } + + private void initAddVaultBtnContextMenu() { ContextMenu contextMenu = new ContextMenu(); FontAwesome5IconView addIcon = new FontAwesome5IconView(); addIcon.setGlyph(FontAwesome5Icon.PLUS); + addIcon.setTextAlignment(TextAlignment.CENTER); + addIcon.setWrappingWidth(14); + MenuItem item1 = new MenuItem(resourceBundle.getString("addvaultwizard.welcome.newButton"), addIcon); item1.setOnAction(event -> didClickAddNewVault()); + item1.getStyleClass().add("add-vault-menu-item"); + FontAwesome5IconView openIcon = new FontAwesome5IconView(); openIcon.setGlyph(FontAwesome5Icon.FOLDER_OPEN); + openIcon.setTextAlignment(TextAlignment.CENTER); + openIcon.setWrappingWidth(14); + MenuItem item2 = new MenuItem(resourceBundle.getString("addvaultwizard.welcome.existingButton"), openIcon); item2.setOnAction(event -> didClickAddExistingVault()); + item2.getStyleClass().add("add-vault-menu-item"); + contextMenu.getItems().addAll(item1, item2); addVaultBtn.setContextMenu(contextMenu); } diff --git a/src/main/resources/css/dark_theme.css b/src/main/resources/css/dark_theme.css index 45cadba93..beb50f6bc 100644 --- a/src/main/resources/css/dark_theme.css +++ b/src/main/resources/css/dark_theme.css @@ -795,6 +795,16 @@ -fx-scale-shape: false; } +/******************************************************************************* + * * + * Add Vault - MenuItem * + * * + ******************************************************************************/ + +.add-vault-menu-item { + -fx-padding: 4px 8px; +} + /******************************************************************************* * * * ProgressBar * diff --git a/src/main/resources/css/light_theme.css b/src/main/resources/css/light_theme.css index c3c0faaa9..a494269b7 100644 --- a/src/main/resources/css/light_theme.css +++ b/src/main/resources/css/light_theme.css @@ -794,6 +794,16 @@ -fx-scale-shape: false; } +/******************************************************************************* + * * + * Add Vault - MenuItem * + * * + ******************************************************************************/ + +.add-vault-menu-item { + -fx-padding: 4px 8px; +} + /******************************************************************************* * * * ProgressBar * From 820d4ff5735d2addf086e7a1908a4277ebbca65f Mon Sep 17 00:00:00 2001 From: Jan-Peter Klein Date: Wed, 23 Aug 2023 13:17:38 +0200 Subject: [PATCH 08/11] disabled right click on add vault button and enhanced naming --- .../ui/mainwindow/VaultListController.java | 33 ++++++++++--------- src/main/resources/i18n/strings.properties | 4 ++- 2 files changed, 21 insertions(+), 16 deletions(-) diff --git a/src/main/java/org/cryptomator/ui/mainwindow/VaultListController.java b/src/main/java/org/cryptomator/ui/mainwindow/VaultListController.java index 97d8738a4..a04a71482 100644 --- a/src/main/java/org/cryptomator/ui/mainwindow/VaultListController.java +++ b/src/main/java/org/cryptomator/ui/mainwindow/VaultListController.java @@ -22,6 +22,7 @@ import javafx.beans.property.SimpleBooleanProperty; import javafx.beans.value.ObservableValue; import javafx.collections.ListChangeListener; import javafx.collections.ObservableList; +import javafx.event.Event; import javafx.fxml.FXML; import javafx.scene.control.Button; import javafx.scene.control.ContextMenu; @@ -145,30 +146,32 @@ public class VaultListController implements FxController { root.setOnDragDropped(this::handleDragEvent); root.setOnDragExited(this::handleDragEvent); - initAddVaultBtnContextMenu(); + createAddVaultContextMenu(); } - private void initAddVaultBtnContextMenu() { + private void createAddVaultContextMenu() { ContextMenu contextMenu = new ContextMenu(); + FontAwesome5IconView newIcon = new FontAwesome5IconView(); + newIcon.setGlyph(FontAwesome5Icon.PLUS); + newIcon.setTextAlignment(TextAlignment.CENTER); + newIcon.setWrappingWidth(14); + + MenuItem newVaultMenuItem = new MenuItem(resourceBundle.getString("addvaultwizard.welcome.newButton"), newIcon); + newVaultMenuItem.setOnAction(event -> didClickAddNewVault()); + newVaultMenuItem.getStyleClass().add("add-vault-menu-item"); + FontAwesome5IconView addIcon = new FontAwesome5IconView(); - addIcon.setGlyph(FontAwesome5Icon.PLUS); + addIcon.setGlyph(FontAwesome5Icon.FOLDER_OPEN); addIcon.setTextAlignment(TextAlignment.CENTER); addIcon.setWrappingWidth(14); - MenuItem item1 = new MenuItem(resourceBundle.getString("addvaultwizard.welcome.newButton"), addIcon); - item1.setOnAction(event -> didClickAddNewVault()); - item1.getStyleClass().add("add-vault-menu-item"); + MenuItem existingVaultMenuItem = new MenuItem(resourceBundle.getString("addvaultwizard.welcome.existingButton"), addIcon); + existingVaultMenuItem.setOnAction(event -> didClickAddExistingVault()); + existingVaultMenuItem.getStyleClass().add("add-vault-menu-item"); - FontAwesome5IconView openIcon = new FontAwesome5IconView(); - openIcon.setGlyph(FontAwesome5Icon.FOLDER_OPEN); - openIcon.setTextAlignment(TextAlignment.CENTER); - openIcon.setWrappingWidth(14); + contextMenu.getItems().addAll(newVaultMenuItem, existingVaultMenuItem); - MenuItem item2 = new MenuItem(resourceBundle.getString("addvaultwizard.welcome.existingButton"), openIcon); - item2.setOnAction(event -> didClickAddExistingVault()); - item2.getStyleClass().add("add-vault-menu-item"); - - contextMenu.getItems().addAll(item1, item2); + addVaultBtn.addEventFilter(ContextMenuEvent.CONTEXT_MENU_REQUESTED, Event::consume); addVaultBtn.setContextMenu(contextMenu); } diff --git a/src/main/resources/i18n/strings.properties b/src/main/resources/i18n/strings.properties index b558691bb..45b5c4006 100644 --- a/src/main/resources/i18n/strings.properties +++ b/src/main/resources/i18n/strings.properties @@ -367,7 +367,9 @@ main.vaultlist.contextMenu.unlock=Unlock… main.vaultlist.contextMenu.unlockNow=Unlock Now main.vaultlist.contextMenu.vaultoptions=Show Vault Options main.vaultlist.contextMenu.reveal=Reveal Drive -main.vaultlist.addVaultBtn=Add Vault +main.vaultlist.addVaultBtn=Add +main.vaultlist.addVaultBtn.menuItemNew=New Vault +main.vaultlist.addVaultBtn.menuItemExisting=Existing Vault ## Vault Detail ### Welcome main.vaultDetail.welcomeOnboarding=Thanks for choosing Cryptomator to protect your files. If you need any assistance, check out our getting started guides: From ef2414171396361229da90e0c0fa22f2cd0e3833 Mon Sep 17 00:00:00 2001 From: Jan-Peter Klein Date: Wed, 23 Aug 2023 13:36:41 +0200 Subject: [PATCH 09/11] new stage titles for addNewVault and addExistingVault --- .../ui/addvaultwizard/AddVaultModule.java | 3 +-- .../addvaultwizard/AddVaultWizardComponent.java | 7 +++++-- .../ui/mainwindow/VaultListController.java | 16 ++++++++-------- src/main/resources/i18n/strings.properties | 9 ++++----- 4 files changed, 18 insertions(+), 17 deletions(-) diff --git a/src/main/java/org/cryptomator/ui/addvaultwizard/AddVaultModule.java b/src/main/java/org/cryptomator/ui/addvaultwizard/AddVaultModule.java index 43ec4c200..62321277c 100644 --- a/src/main/java/org/cryptomator/ui/addvaultwizard/AddVaultModule.java +++ b/src/main/java/org/cryptomator/ui/addvaultwizard/AddVaultModule.java @@ -45,9 +45,8 @@ public abstract class AddVaultModule { @Provides @AddVaultWizardWindow @AddVaultWizardScoped - static Stage provideStage(StageFactory factory, @PrimaryStage Stage primaryStage, ResourceBundle resourceBundle) { + static Stage provideStage(StageFactory factory, @PrimaryStage Stage primaryStage) { Stage stage = factory.create(); - stage.setTitle(resourceBundle.getString("addvaultwizard.title")); stage.setResizable(false); stage.initModality(Modality.WINDOW_MODAL); stage.initOwner(primaryStage); diff --git a/src/main/java/org/cryptomator/ui/addvaultwizard/AddVaultWizardComponent.java b/src/main/java/org/cryptomator/ui/addvaultwizard/AddVaultWizardComponent.java index 3c6e684ee..c67f999e8 100644 --- a/src/main/java/org/cryptomator/ui/addvaultwizard/AddVaultWizardComponent.java +++ b/src/main/java/org/cryptomator/ui/addvaultwizard/AddVaultWizardComponent.java @@ -12,6 +12,7 @@ import org.cryptomator.ui.common.FxmlScene; import javafx.scene.Scene; import javafx.stage.Stage; +import java.util.ResourceBundle; @AddVaultWizardScoped @Subcomponent(modules = {AddVaultModule.class}) @@ -25,16 +26,18 @@ public interface AddVaultWizardComponent { @FxmlScene(FxmlFile.ADDVAULT_EXISTING) Lazy sceneExisting(); - default void showAddNewVaultWizard() { + default void showAddNewVaultWizard(ResourceBundle resourceBundle) { Stage stage = window(); stage.setScene(sceneNew().get()); + stage.setTitle(resourceBundle.getString("addvaultwizard.new.title")); stage.sizeToScene(); stage.show(); } - default void showAddExistingVaultWizard() { + default void showAddExistingVaultWizard(ResourceBundle resourceBundle) { Stage stage = window(); stage.setScene(sceneExisting().get()); + stage.setTitle(resourceBundle.getString("addvaultwizard.existing.title")); stage.sizeToScene(); stage.show(); } diff --git a/src/main/java/org/cryptomator/ui/mainwindow/VaultListController.java b/src/main/java/org/cryptomator/ui/mainwindow/VaultListController.java index a04a71482..d19f072bd 100644 --- a/src/main/java/org/cryptomator/ui/mainwindow/VaultListController.java +++ b/src/main/java/org/cryptomator/ui/mainwindow/VaultListController.java @@ -156,16 +156,16 @@ public class VaultListController implements FxController { newIcon.setTextAlignment(TextAlignment.CENTER); newIcon.setWrappingWidth(14); - MenuItem newVaultMenuItem = new MenuItem(resourceBundle.getString("addvaultwizard.welcome.newButton"), newIcon); + MenuItem newVaultMenuItem = new MenuItem(resourceBundle.getString("main.vaultlist.addVaultBtn.menuItemNew"), newIcon); newVaultMenuItem.setOnAction(event -> didClickAddNewVault()); newVaultMenuItem.getStyleClass().add("add-vault-menu-item"); - FontAwesome5IconView addIcon = new FontAwesome5IconView(); - addIcon.setGlyph(FontAwesome5Icon.FOLDER_OPEN); - addIcon.setTextAlignment(TextAlignment.CENTER); - addIcon.setWrappingWidth(14); + FontAwesome5IconView existingIcon = new FontAwesome5IconView(); + existingIcon.setGlyph(FontAwesome5Icon.FOLDER_OPEN); + existingIcon.setTextAlignment(TextAlignment.CENTER); + existingIcon.setWrappingWidth(14); - MenuItem existingVaultMenuItem = new MenuItem(resourceBundle.getString("addvaultwizard.welcome.existingButton"), addIcon); + MenuItem existingVaultMenuItem = new MenuItem(resourceBundle.getString("main.vaultlist.addVaultBtn.menuItemExisting"), existingIcon); existingVaultMenuItem.setOnAction(event -> didClickAddExistingVault()); existingVaultMenuItem.getStyleClass().add("add-vault-menu-item"); @@ -198,12 +198,12 @@ public class VaultListController implements FxController { @FXML public void didClickAddNewVault() { - addVaultWizard.build().showAddNewVaultWizard(); + addVaultWizard.build().showAddNewVaultWizard(resourceBundle); } @FXML public void didClickAddExistingVault() { - addVaultWizard.build().showAddExistingVaultWizard(); + addVaultWizard.build().showAddExistingVaultWizard(resourceBundle); } private void pressedShortcutToRemoveVault() { diff --git a/src/main/resources/i18n/strings.properties b/src/main/resources/i18n/strings.properties index 45b5c4006..bba386cee 100644 --- a/src/main/resources/i18n/strings.properties +++ b/src/main/resources/i18n/strings.properties @@ -41,10 +41,8 @@ traymenu.vault.reveal=Reveal # Add Vault Wizard addvaultwizard.title=Add Vault -## Welcome -addvaultwizard.welcome.newButton=Create New Vault -addvaultwizard.welcome.existingButton=Open Existing Vault ## New +addvaultwizard.new.title=Add New Vault ### Name addvaultwizard.new.nameInstruction=Choose a name for the vault addvaultwizard.new.namePrompt=Vault Name @@ -94,6 +92,7 @@ addvault.new.readme.accessLocation.2=This is your vault's access location. addvault.new.readme.accessLocation.3=Any files added to this volume will be encrypted by Cryptomator. You can work on it like on any other drive/folder. This is only a decrypted view of its content, your files stay encrypted on your hard drive all the time. addvault.new.readme.accessLocation.4=Feel free to remove this file. ## Existing +addvaultwizard.existing.title=Add Existing Vault addvaultwizard.existing.instruction=Choose the "vault.cryptomator" file of your existing vault. If only a file named "masterkey.cryptomator" exists, select that instead. addvaultwizard.existing.chooseBtn=Choose… addvaultwizard.existing.filePickerTitle=Select Vault File @@ -368,8 +367,8 @@ main.vaultlist.contextMenu.unlockNow=Unlock Now main.vaultlist.contextMenu.vaultoptions=Show Vault Options main.vaultlist.contextMenu.reveal=Reveal Drive main.vaultlist.addVaultBtn=Add -main.vaultlist.addVaultBtn.menuItemNew=New Vault -main.vaultlist.addVaultBtn.menuItemExisting=Existing Vault +main.vaultlist.addVaultBtn.menuItemNew=New Vault... +main.vaultlist.addVaultBtn.menuItemExisting=Existing Vault... ## Vault Detail ### Welcome main.vaultDetail.welcomeOnboarding=Thanks for choosing Cryptomator to protect your files. If you need any assistance, check out our getting started guides: From 50e96095ba078e9c9fa254cccb09cfdc7cbbc4f6 Mon Sep 17 00:00:00 2001 From: Jan-Peter Klein Date: Thu, 31 Aug 2023 11:49:49 +0200 Subject: [PATCH 10/11] moved the context menu creation code to the fxml file --- .../ui/mainwindow/VaultListController.java | 31 ------------------- src/main/resources/fxml/vault_list.fxml | 18 +++++++++++ 2 files changed, 18 insertions(+), 31 deletions(-) diff --git a/src/main/java/org/cryptomator/ui/mainwindow/VaultListController.java b/src/main/java/org/cryptomator/ui/mainwindow/VaultListController.java index d19f072bd..357222b33 100644 --- a/src/main/java/org/cryptomator/ui/mainwindow/VaultListController.java +++ b/src/main/java/org/cryptomator/ui/mainwindow/VaultListController.java @@ -7,8 +7,6 @@ import org.cryptomator.cryptofs.CryptoFileSystemProvider; import org.cryptomator.cryptofs.DirStructure; import org.cryptomator.ui.addvaultwizard.AddVaultWizardComponent; import org.cryptomator.ui.common.FxController; -import org.cryptomator.ui.controls.FontAwesome5Icon; -import org.cryptomator.ui.controls.FontAwesome5IconView; import org.cryptomator.ui.removevault.RemoveVaultComponent; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -25,9 +23,7 @@ import javafx.collections.ObservableList; import javafx.event.Event; import javafx.fxml.FXML; import javafx.scene.control.Button; -import javafx.scene.control.ContextMenu; import javafx.scene.control.ListView; -import javafx.scene.control.MenuItem; import javafx.scene.input.ContextMenuEvent; import javafx.scene.input.DragEvent; import javafx.scene.input.KeyCode; @@ -35,7 +31,6 @@ import javafx.scene.input.KeyEvent; import javafx.scene.input.MouseEvent; import javafx.scene.input.TransferMode; import javafx.scene.layout.StackPane; -import javafx.scene.text.TextAlignment; import javafx.stage.Stage; import java.io.File; import java.io.IOException; @@ -146,33 +141,7 @@ public class VaultListController implements FxController { root.setOnDragDropped(this::handleDragEvent); root.setOnDragExited(this::handleDragEvent); - createAddVaultContextMenu(); - } - - private void createAddVaultContextMenu() { - ContextMenu contextMenu = new ContextMenu(); - FontAwesome5IconView newIcon = new FontAwesome5IconView(); - newIcon.setGlyph(FontAwesome5Icon.PLUS); - newIcon.setTextAlignment(TextAlignment.CENTER); - newIcon.setWrappingWidth(14); - - MenuItem newVaultMenuItem = new MenuItem(resourceBundle.getString("main.vaultlist.addVaultBtn.menuItemNew"), newIcon); - newVaultMenuItem.setOnAction(event -> didClickAddNewVault()); - newVaultMenuItem.getStyleClass().add("add-vault-menu-item"); - - FontAwesome5IconView existingIcon = new FontAwesome5IconView(); - existingIcon.setGlyph(FontAwesome5Icon.FOLDER_OPEN); - existingIcon.setTextAlignment(TextAlignment.CENTER); - existingIcon.setWrappingWidth(14); - - MenuItem existingVaultMenuItem = new MenuItem(resourceBundle.getString("main.vaultlist.addVaultBtn.menuItemExisting"), existingIcon); - existingVaultMenuItem.setOnAction(event -> didClickAddExistingVault()); - existingVaultMenuItem.getStyleClass().add("add-vault-menu-item"); - - contextMenu.getItems().addAll(newVaultMenuItem, existingVaultMenuItem); - addVaultBtn.addEventFilter(ContextMenuEvent.CONTEXT_MENU_REQUESTED, Event::consume); - addVaultBtn.setContextMenu(contextMenu); } @FXML diff --git a/src/main/resources/fxml/vault_list.fxml b/src/main/resources/fxml/vault_list.fxml index 9fdc9cadf..dba288cdd 100644 --- a/src/main/resources/fxml/vault_list.fxml +++ b/src/main/resources/fxml/vault_list.fxml @@ -8,6 +8,8 @@ + + + + + + + + + + + + + + + + + + From 3a0199a1e5684126937358b5a9d2c69ff55ff595 Mon Sep 17 00:00:00 2001 From: Jan-Peter Klein Date: Thu, 31 Aug 2023 12:17:57 +0200 Subject: [PATCH 11/11] updated menuItemExisting to display folder icon instead of plus icon --- src/main/resources/fxml/vault_list.fxml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/fxml/vault_list.fxml b/src/main/resources/fxml/vault_list.fxml index dba288cdd..146fa877c 100644 --- a/src/main/resources/fxml/vault_list.fxml +++ b/src/main/resources/fxml/vault_list.fxml @@ -42,7 +42,7 @@ - +