From 058c7259878b6f0bcb3b4edc3656379297cb8f6e Mon Sep 17 00:00:00 2001 From: Stefan Kolb Date: Sat, 14 Mar 2020 16:56:45 +0100 Subject: [PATCH] Update ActionHelper.java --- .../org/jabref/gui/actions/ActionHelper.java | 20 ++++++------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/src/main/java/org/jabref/gui/actions/ActionHelper.java b/src/main/java/org/jabref/gui/actions/ActionHelper.java index 4344c278633..5e8fe6f8fdd 100644 --- a/src/main/java/org/jabref/gui/actions/ActionHelper.java +++ b/src/main/java/org/jabref/gui/actions/ActionHelper.java @@ -5,6 +5,7 @@ import javafx.beans.binding.Bindings; import javafx.beans.binding.BooleanExpression; +import javafx.beans.binding.ObjectBinding; import javafx.collections.ObservableList; import org.jabref.gui.StateManager; @@ -33,22 +34,13 @@ public static BooleanExpression isFieldSetForSelectedEntry(Field field, StateMan public static BooleanExpression isAnyFieldSetForSelectedEntry(List fields, StateManager stateManager) { ObservableList selectedEntries = stateManager.getSelectedEntries(); - // binding should be recreated on every right click - // not sure why selectedEntries might be empty, see https://github.com/JabRef/jabref/issues/6085 - if (selectedEntries.isEmpty()) { - return Bindings.createBooleanBinding(() -> false, selectedEntries); - } - ObjectBinding entry = Bindings.valueAt(selectedEntries, 0); return Bindings.createBooleanBinding(() -> { - if (entry.get() == null) + if (entry.get() == null) { return false; - else - return entry.get().getFields().stream().anyMatch(fields::contains); - }, entry, entry.getFieldsObserable()); - return Bindings.createBooleanBinding( - () -> entry.getFields().stream().anyMatch(fields::contains), - entry.getFieldsObservable(), - selectedEntries); + } else { + return entry.get().getFields().stream().anyMatch(fields::contains); + } + }, selectedEntries); } }