From 43b2cde018f47f90a040278fa4478e53a41d13f0 Mon Sep 17 00:00:00 2001 From: crschnick Date: Sun, 9 Jul 2023 04:08:24 +0000 Subject: [PATCH] Fix null pointer in case no external program to launch has been set --- .../java/io/xpipe/ext/base/browser/EditFileAction.java | 6 ++++++ .../java/io/xpipe/ext/base/browser/OpenTerminalAction.java | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/ext/base/src/main/java/io/xpipe/ext/base/browser/EditFileAction.java b/ext/base/src/main/java/io/xpipe/ext/base/browser/EditFileAction.java index 3701a6ed..e68048a0 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/browser/EditFileAction.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/browser/EditFileAction.java @@ -35,6 +35,12 @@ public class EditFileAction implements LeafAction { return entries.stream().allMatch(entry -> entry.getRawFileEntry().getKind() == FileKind.FILE); } + @Override + public boolean isActive(OpenFileSystemModel model, List entries) { + var e = AppPrefs.get().externalEditor().getValue(); + return e != null; + } + @Override public String getName(OpenFileSystemModel model, List entries) { return "Edit with " + AppPrefs.get().externalEditor().getValue().toTranslatedString(); diff --git a/ext/base/src/main/java/io/xpipe/ext/base/browser/OpenTerminalAction.java b/ext/base/src/main/java/io/xpipe/ext/base/browser/OpenTerminalAction.java index 5f8be179..432c1ca5 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/browser/OpenTerminalAction.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/browser/OpenTerminalAction.java @@ -3,6 +3,7 @@ package io.xpipe.ext.base.browser; import io.xpipe.app.browser.BrowserEntry; import io.xpipe.app.browser.OpenFileSystemModel; import io.xpipe.app.browser.action.LeafAction; +import io.xpipe.app.prefs.AppPrefs; import io.xpipe.app.util.TerminalHelper; import io.xpipe.core.store.FileKind; import javafx.scene.Node; @@ -53,6 +54,12 @@ public class OpenTerminalAction implements LeafAction { return entries.stream().allMatch(entry -> entry.getRawFileEntry().getKind() == FileKind.DIRECTORY); } + @Override + public boolean isActive(OpenFileSystemModel model, List entries) { + var t = AppPrefs.get().terminalType().getValue(); + return t != null; + } + @Override public KeyCombination getShortcut() { return new KeyCodeCombination(KeyCode.T, KeyCombination.SHORTCUT_DOWN);