Skip to content

Commit

Permalink
Update ActionHelper.java
Browse files Browse the repository at this point in the history
  • Loading branch information
stefan-kolb committed Mar 14, 2020
1 parent 1bd2770 commit 058c725
Showing 1 changed file with 6 additions and 14 deletions.
20 changes: 6 additions & 14 deletions src/main/java/org/jabref/gui/actions/ActionHelper.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -33,22 +34,13 @@ public static BooleanExpression isFieldSetForSelectedEntry(Field field, StateMan
public static BooleanExpression isAnyFieldSetForSelectedEntry(List<Field> fields, StateManager stateManager) {
ObservableList<BibEntry> 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<BibEntry> 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);
}
}

0 comments on commit 058c725

Please sign in to comment.