Parcourir la source

Improve feature #3155 implementation

Antoine James Tournepiche il y a 1 an
Parent
commit
0aaa3263cf

+ 12 - 7
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<? extends Vault> observableValue, @SuppressWarnings("unused") Vault oldValue, Vault newValue) {
 		if (newValue == null) {
 			return;