From 0aaa3263cf213d8ab1c1492f8a3f2a7f6e8defe1 Mon Sep 17 00:00:00 2001 From: Antoine James Tournepiche Date: Thu, 9 Nov 2023 23:50:34 +0100 Subject: [PATCH] Improve feature #3155 implementation --- .../ui/mainwindow/VaultListController.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/cryptomator/ui/mainwindow/VaultListController.java b/src/main/java/org/cryptomator/ui/mainwindow/VaultListController.java index d56410292..df4f10d92 100644 --- a/src/main/java/org/cryptomator/ui/mainwindow/VaultListController.java +++ b/src/main/java/org/cryptomator/ui/mainwindow/VaultListController.java @@ -38,6 +38,7 @@ import java.io.File; import java.io.IOException; import java.nio.file.Path; import java.util.EnumSet; +import java.util.Optional; import java.util.ResourceBundle; import java.util.Set; import java.util.stream.Collectors; @@ -114,13 +115,8 @@ public class VaultListController implements FxController { //toggle selected vault lock status on double click vaultList.addEventFilter(MouseEvent.MOUSE_CLICKED, click -> { - if (click.getClickCount() >= 2 && selectedVault.get() != null) { - if (selectedVault.get().isLocked()) { - appWindows.startUnlockWorkflow(selectedVault.get(), mainWindow); - } - if (selectedVault.get().isUnlocked()) { - appWindows.startLockWorkflow(selectedVault.get(), mainWindow); - } + if (click.getClickCount() >= 2) { + Optional.ofNullable(selectedVault.get()).ifPresent(this::toggleVaultLockStatus); } }); @@ -177,6 +173,15 @@ public class VaultListController implements FxController { } } + private void toggleVaultLockStatus(Vault selectedVault) { + if (selectedVault.isLocked()) { + appWindows.startUnlockWorkflow(selectedVault, mainWindow); + } + if (selectedVault.isUnlocked()) { + appWindows.startLockWorkflow(selectedVault, mainWindow); + } + } + private void selectedVaultDidChange(@SuppressWarnings("unused") ObservableValue observableValue, @SuppressWarnings("unused") Vault oldValue, Vault newValue) { if (newValue == null) { return;