Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change EasyBind dependency #6480

Merged
merged 2 commits into from
May 15, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ sourceSets {
}

repositories {
mavenLocal()
jcenter()
maven { url 'https://oss.sonatype.org/content/groups/public' }
maven { url 'https://repository.apache.org/snapshots' }
Expand Down Expand Up @@ -158,7 +159,7 @@ dependencies {
implementation 'de.jensd:fontawesomefx-materialdesignfont:1.7.22-11'
implementation 'de.saxsys:mvvmfx-validation:1.9.0-SNAPSHOT'
implementation 'de.saxsys:mvvmfx:1.8.0'
implementation 'org.fxmisc.easybind:easybind:1.0.3'
implementation 'com.tobiasdiez:easybind:2.0.0-SNAPSHOT'
implementation 'org.fxmisc.flowless:flowless:0.6.1'
implementation 'org.fxmisc.richtext:richtextfx:0.10.5'
implementation group: 'org.glassfish.hk2.external', name: 'jakarta.inject', version: '2.6.1'
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/module-info.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
requires de.jensd.fx.fontawesomefx.materialdesignicons;
requires org.controlsfx.controls;
requires org.fxmisc.richtext;
requires com.tobiasdiez.easybind;

provides com.airhacks.afterburner.views.ResourceLocator
with org.jabref.gui.util.JabRefResourceLocator;
Expand Down Expand Up @@ -51,7 +52,6 @@
// Other modules
requires commons.logging;
requires com.google.common;
requires easybind;
requires jakarta.inject;
requires org.apache.pdfbox;
requires reactfx;
Expand Down
14 changes: 5 additions & 9 deletions src/main/java/org/jabref/gui/BasePanel.java
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,8 @@
import org.jabref.preferences.JabRefPreferences;

import com.google.common.eventbus.Subscribe;
import org.fxmisc.easybind.EasyBind;
import org.fxmisc.easybind.Subscription;
import com.tobiasdiez.easybind.EasyBind;
import com.tobiasdiez.easybind.Subscription;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

Expand Down Expand Up @@ -372,9 +372,9 @@ public void setupMainPanel() {

// Saves the divider position as soon as it changes
// We need to keep a reference to the subscription, otherwise the binding gets garbage collected
dividerPositionSubscription = EasyBind.monadic(Bindings.valueAt(splitPane.getDividers(), 0))
.flatMap(SplitPane.Divider::positionProperty)
.subscribe((observable, oldValue, newValue) -> saveDividerLocation(newValue));
dividerPositionSubscription = EasyBind.wrapNullable(Bindings.valueAt(splitPane.getDividers(), 0))
.mapObservable(SplitPane.Divider::positionProperty)
.subscribeToValues(this::saveDividerLocation);

// Add changePane in case a file is present - otherwise just add the splitPane to the panel
Optional<Path> file = bibDatabaseContext.getDatabasePath();
Expand Down Expand Up @@ -575,10 +575,6 @@ private boolean showDeleteConfirmationDialog(int numberOfEntries) {
* preference setting.
*/
private void saveDividerLocation(Number position) {
if (position == null) {
return;
}

if (mode == BasePanelMode.SHOWING_EDITOR) {
preferences.setEntryEditorDividerPosition(position.doubleValue());
}
Expand Down
12 changes: 6 additions & 6 deletions src/main/java/org/jabref/gui/BasePanelPreferences.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,15 @@
import org.jabref.preferences.JabRefPreferences;
import org.jabref.preferences.PreviewPreferences;

import org.fxmisc.easybind.EasyBind;
import com.tobiasdiez.easybind.EasyBind;

public class BasePanelPreferences {
private MainTablePreferences tablePreferences;
private final MainTablePreferences tablePreferences;
private AutoCompletePreferences autoCompletePreferences;
private EntryEditorPreferences entryEditorPreferences;
private KeyBindingRepository keyBindings;
private PreviewPreferences previewPreferences;
private DoubleProperty entryEditorDividerPosition = new SimpleDoubleProperty();
private final EntryEditorPreferences entryEditorPreferences;
private final KeyBindingRepository keyBindings;
private final PreviewPreferences previewPreferences;
private final DoubleProperty entryEditorDividerPosition = new SimpleDoubleProperty();

public BasePanelPreferences(MainTablePreferences tablePreferences, AutoCompletePreferences autoCompletePreferences, EntryEditorPreferences entryEditorPreferences, KeyBindingRepository keyBindings, PreviewPreferences previewPreferences, Double entryEditorDividerPosition) {
this.tablePreferences = tablePreferences;
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/org/jabref/gui/EntryTypeView.java
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@
import org.jabref.preferences.JabRefPreferences;

import com.airhacks.afterburner.views.ViewLoader;
import com.tobiasdiez.easybind.EasyBind;
import de.saxsys.mvvmfx.utils.validation.visualization.ControlsFxVisualizer;
import org.fxmisc.easybind.EasyBind;

/**
* Dialog that prompts the user to choose a type for an entry.
Expand Down
8 changes: 4 additions & 4 deletions src/main/java/org/jabref/gui/JabRefDialogService.java
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,10 @@
import com.jfoenix.controls.JFXSnackbar;
import com.jfoenix.controls.JFXSnackbar.SnackbarEvent;
import com.jfoenix.controls.JFXSnackbarLayout;
import com.tobiasdiez.easybind.EasyBind;
import org.controlsfx.control.TaskProgressView;
import org.controlsfx.dialog.ExceptionDialog;
import org.controlsfx.dialog.ProgressDialog;
import org.fxmisc.easybind.EasyBind;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

Expand Down Expand Up @@ -77,8 +77,8 @@ public class JabRefDialogService implements DialogService {
public JabRefDialogService(Window mainWindow, Pane mainPane, JabRefPreferences preferences, ThemeLoader themeLoader) {
this.mainWindow = mainWindow;
this.statusLine = new JFXSnackbar(mainPane);
this.preferences = preferences;
this.themeLoader = themeLoader;
JabRefDialogService.preferences = preferences;
JabRefDialogService.themeLoader = themeLoader;
}

private static FXDialog createDialog(AlertType type, String title, String content) {
Expand Down Expand Up @@ -293,7 +293,7 @@ public <V> void showProgressDialog(String title, String content, Task<V> task) {

@Override
public <V> Optional<ButtonType> showBackgroundProgressDialogAndWait(String title, String content, StateManager stateManager) {
TaskProgressView taskProgressView = new TaskProgressView<>();
TaskProgressView<Task<?>> taskProgressView = new TaskProgressView<>();
EasyBind.listBind(taskProgressView.getTasks(), stateManager.getBackgroundTasks());
taskProgressView.setRetainTasks(false);
taskProgressView.setGraphicFactory(BackgroundTask::getIcon);
Expand Down
5 changes: 3 additions & 2 deletions src/main/java/org/jabref/gui/JabRefFrame.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import javafx.application.Platform;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.concurrent.Task;
import javafx.geometry.Orientation;
import javafx.scene.Group;
import javafx.scene.Node;
Expand Down Expand Up @@ -138,9 +139,9 @@
import org.jabref.preferences.LastFocusedTabPreferences;

import com.google.common.eventbus.Subscribe;
import com.tobiasdiez.easybind.EasyBind;
import org.controlsfx.control.PopOver;
import org.controlsfx.control.TaskProgressView;
import org.fxmisc.easybind.EasyBind;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

Expand Down Expand Up @@ -982,7 +983,7 @@ hide it and clip it to a square of (width x width) each time width is updated.
});

indicator.setOnMouseClicked(event -> {
TaskProgressView taskProgressView = new TaskProgressView();
TaskProgressView<Task<?>> taskProgressView = new TaskProgressView<>();
EasyBind.listBind(taskProgressView.getTasks(), stateManager.getBackgroundTasks());
taskProgressView.setRetainTasks(true);
taskProgressView.setGraphicFactory(BackgroundTask::getIcon);
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/org/jabref/gui/actions/ActionFactory.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@
import org.jabref.model.strings.StringUtil;

import com.sun.javafx.scene.control.ContextMenuContent;
import com.tobiasdiez.easybind.EasyBind;
import de.saxsys.mvvmfx.utils.commands.Command;
import org.controlsfx.control.action.ActionUtils;
import org.fxmisc.easybind.EasyBind;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

Expand Down
13 changes: 6 additions & 7 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 java.util.List;
import java.util.Optional;

import javafx.beans.binding.Binding;
import javafx.beans.binding.Bindings;
import javafx.beans.binding.BooleanExpression;
import javafx.collections.ObservableList;
Expand All @@ -16,9 +17,7 @@
import org.jabref.model.util.FileHelper;
import org.jabref.preferences.PreferencesService;

import org.fxmisc.easybind.EasyBind;
import org.fxmisc.easybind.monadic.MonadicBinding;
import org.fxmisc.easybind.monadic.MonadicObservableValue;
import com.tobiasdiez.easybind.EasyBind;

public class ActionHelper {

Expand All @@ -41,18 +40,18 @@ public static BooleanExpression isFieldSetForSelectedEntry(Field field, StateMan

public static BooleanExpression isAnyFieldSetForSelectedEntry(List<Field> fields, StateManager stateManager) {
ObservableList<BibEntry> selectedEntries = stateManager.getSelectedEntries();
MonadicBinding<Boolean> fieldsAreSet = EasyBind.monadic(Bindings.valueAt(selectedEntries, 0))
.flatMap(entry -> Bindings.createBooleanBinding(() -> {
Binding<Boolean> fieldsAreSet = EasyBind.wrapNullable(Bindings.valueAt(selectedEntries, 0))
.mapObservable(entry -> Bindings.createBooleanBinding(() -> {
return entry.getFields().stream().anyMatch(fields::contains);
}, entry.getFieldsObservable()))
.orElse(false);
.orElse(false);
return BooleanExpression.booleanExpression(fieldsAreSet);
}

public static BooleanExpression isFilePresentForSelectedEntry(StateManager stateManager, PreferencesService preferencesService) {

ObservableList<BibEntry> selectedEntries = stateManager.getSelectedEntries();
MonadicObservableValue<Boolean> fileIsPresent = EasyBind.monadic(Bindings.valueAt(selectedEntries, 0)).map(entry -> {
Binding<Boolean> fileIsPresent = EasyBind.wrapNullable(Bindings.valueAt(selectedEntries, 0)).map(entry -> {
List<LinkedFile> files = entry.getFiles();

if ((entry.getFiles().size() > 0) && stateManager.getActiveDatabase().isPresent()) {
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/org/jabref/gui/collab/ChangeDisplayDialog.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
import org.jabref.logic.l10n.Localization;
import org.jabref.model.database.BibDatabaseContext;

import org.fxmisc.easybind.EasyBind;
import com.tobiasdiez.easybind.EasyBind;

class ChangeDisplayDialog extends BaseDialog<Boolean> {

Expand Down Expand Up @@ -63,7 +63,7 @@ public ChangeDisplayDialog(BibDatabaseContext database, List<DatabaseChangeViewM
leftScroll.setFitToWidth(true);

pane.getItems().addAll(leftScroll, infoPanel);
pane.setResizableWithParent(leftScroll, false);
SplitPane.setResizableWithParent(leftScroll, false);

getDialogPane().setContent(pane);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
import org.jabref.model.entry.field.Field;

import com.airhacks.afterburner.views.ViewLoader;
import org.fxmisc.easybind.EasyBind;
import com.tobiasdiez.easybind.EasyBind;

public class ContentSelectorDialogView extends BaseDialog<Void> {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,11 @@
import org.jabref.model.entry.types.UnknownEntryType;
import org.jabref.preferences.PreferencesService;

import com.tobiasdiez.easybind.EasyBind;
import de.saxsys.mvvmfx.utils.validation.FunctionBasedValidator;
import de.saxsys.mvvmfx.utils.validation.ValidationMessage;
import de.saxsys.mvvmfx.utils.validation.ValidationStatus;
import de.saxsys.mvvmfx.utils.validation.Validator;
import org.fxmisc.easybind.EasyBind;

public class CustomEntryTypeDialogViewModel {

Expand Down Expand Up @@ -120,7 +120,7 @@ public enum FieldType {
REQUIRED(Localization.lang("Required")),
OPTIONAL(Localization.lang("Optional"));

private String name;
private final String name;

FieldType(String name) {
this.name = name;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,18 +21,18 @@
import org.jabref.gui.util.BackgroundTask;
import org.jabref.gui.util.TaskExecutor;

import org.fxmisc.easybind.EasyBind;
import com.tobiasdiez.easybind.EasyBind;
import org.fxmisc.flowless.Cell;
import org.fxmisc.flowless.VirtualFlow;
import org.fxmisc.flowless.VirtualFlowHit;

public class DocumentViewerControl extends StackPane {

private TaskExecutor taskExecutor;
private final TaskExecutor taskExecutor;

private ObjectProperty<Integer> currentPage = new SimpleObjectProperty<>(1);
private DoubleProperty scrollY = new SimpleDoubleProperty();
private DoubleProperty scrollYMax = new SimpleDoubleProperty();
private final ObjectProperty<Integer> currentPage = new SimpleObjectProperty<>(1);
private final DoubleProperty scrollY = new SimpleDoubleProperty();
private final DoubleProperty scrollYMax = new SimpleDoubleProperty();
private VirtualFlow<DocumentPageViewModel, DocumentViewerPage> flow;
private PageDimension desiredPageDimension = PageDimension.ofFixedWidth(600);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@
import org.jabref.model.entry.BibEntry;
import org.jabref.model.entry.LinkedFile;

import com.tobiasdiez.easybind.EasyBind;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.fxmisc.easybind.EasyBind;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

Expand Down Expand Up @@ -56,7 +56,7 @@ public DocumentViewerViewModel(StateManager stateManager) {
});

maxPages.bindBidirectional(
EasyBind.monadic(currentDocument).selectProperty(DocumentViewModel::maxPagesProperty));
EasyBind.wrapNullable(currentDocument).selectProperty(DocumentViewModel::maxPagesProperty));

setCurrentEntries(this.stateManager.getSelectedEntries());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
import org.jabref.preferences.PreferencesService;

import com.airhacks.afterburner.views.ViewLoader;
import org.fxmisc.easybind.EasyBind;
import com.tobiasdiez.easybind.EasyBind;

public class ManageKeywordsDialog extends BaseDialog<Void> {
private final List<BibEntry> entries;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
import org.jabref.model.entry.KeywordList;
import org.jabref.preferences.PreferencesService;

import org.fxmisc.easybind.EasyBind;
import com.tobiasdiez.easybind.EasyBind;

public class ManageKeywordsViewModel {

Expand Down
4 changes: 2 additions & 2 deletions src/main/java/org/jabref/gui/entryeditor/EntryEditor.java
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,8 @@
import org.jabref.preferences.PreferencesService;

import com.airhacks.afterburner.views.ViewLoader;
import org.fxmisc.easybind.EasyBind;
import org.fxmisc.easybind.Subscription;
import com.tobiasdiez.easybind.EasyBind;
import com.tobiasdiez.easybind.Subscription;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
import org.jabref.model.entry.BibEntry;
import org.jabref.preferences.PreferencesService;

import org.fxmisc.easybind.EasyBind;
import com.tobiasdiez.easybind.EasyBind;

public class LatexCitationsTab extends EntryEditorTab {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
import org.jabref.model.entry.BibEntry;
import org.jabref.model.util.FileUpdateMonitor;

import org.fxmisc.easybind.EasyBind;
import com.tobiasdiez.easybind.EasyBind;

public class FileAnnotationTabView {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@
import org.jabref.logic.util.BuildInfo;
import org.jabref.logic.util.OS;

import com.tobiasdiez.easybind.EasyBind;
import org.apache.http.client.utils.URIBuilder;
import org.apache.logging.log4j.core.LogEvent;
import org.fxmisc.easybind.EasyBind;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
import org.jabref.preferences.PreferencesService;

import com.airhacks.afterburner.views.ViewLoader;
import org.fxmisc.easybind.EasyBind;
import com.tobiasdiez.easybind.EasyBind;

public class ExportCustomizationDialogView extends BaseDialog<Void> {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import org.jabref.logic.net.ProgressInputStream;
import org.jabref.logic.net.URLDownload;

import org.fxmisc.easybind.EasyBind;
import com.tobiasdiez.easybind.EasyBind;

public class FileDownloadTask extends BackgroundTask<Path> {

Expand Down
Loading