From 7c62cfc516a7943d265265971c1550778e02ae92 Mon Sep 17 00:00:00 2001 From: Priyanshu Gupta Date: Sun, 9 Mar 2025 19:17:41 +0530 Subject: [PATCH 1/4] Navigate to the field in entry editor --- .../consistency/ConsistencyCheckDialog.java | 27 ++++++++++++------- src/main/resources/l10n/JabRef_en.properties | 1 + 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/jabref/gui/consistency/ConsistencyCheckDialog.java b/src/main/java/org/jabref/gui/consistency/ConsistencyCheckDialog.java index 8616dbbcfce..c9b11c1bed1 100644 --- a/src/main/java/org/jabref/gui/consistency/ConsistencyCheckDialog.java +++ b/src/main/java/org/jabref/gui/consistency/ConsistencyCheckDialog.java @@ -8,7 +8,6 @@ import java.util.stream.Collectors; import javafx.beans.property.ReadOnlyStringWrapper; -import javafx.collections.ListChangeListener; import javafx.collections.transformation.FilteredList; import javafx.fxml.FXML; import javafx.scene.control.ComboBox; @@ -26,6 +25,7 @@ import org.jabref.logic.quality.consistency.ConsistencyMessage; import org.jabref.model.entry.BibEntryTypesManager; import org.jabref.model.entry.field.SpecialField; +import org.jabref.model.entry.field.StandardField; import com.airhacks.afterburner.views.ViewLoader; import com.tobiasdiez.easybind.EasyBind; @@ -62,13 +62,6 @@ public ConsistencyCheckDialog(LibraryTab libraryTab, .setAsDialogPane(this); } - private void onSelectionChanged(ListChangeListener.Change change) { - if (change.next()) { - change.getAddedSubList().stream().findFirst().ifPresent(message -> - libraryTab.showAndEdit(message.bibEntry())); - } - } - public ConsistencyCheckDialogViewModel getViewModel() { return viewModel; } @@ -77,8 +70,6 @@ public ConsistencyCheckDialogViewModel getViewModel() { public void initialize() { viewModel = new ConsistencyCheckDialogViewModel(dialogService, preferences, entryTypesManager, result); - tableView.getSelectionModel().getSelectedItems().addListener(this::onSelectionChanged); - entryTypeCombo.getItems().addAll(viewModel.getEntryTypes()); entryTypeCombo.valueProperty().bindBidirectional(viewModel.selectedEntryTypeProperty()); EasyBind.listen(entryTypeCombo.getEditor().textProperty(), observable -> entryTypeCombo.commitValue()); @@ -124,6 +115,22 @@ protected void updateItem(String item, boolean empty) { setText(item); } ); + + this.setOnMouseClicked(event -> { + if (!isEmpty()) { + TableColumn clickedColumn = getTableColumn(); + + ConsistencyMessage selectedMessage = getTableRow().getItem(); + Optional field = StandardField.fromName(clickedColumn.getText()); + + if (field.isPresent()) { + libraryTab.editEntryAndFocusField(selectedMessage.bibEntry(), field.get()); + } else { + libraryTab.showAndEdit(selectedMessage.bibEntry()); + dialogService.notify(Localization.lang("Field does not exist in the editor!")); + } + } + }); } }); diff --git a/src/main/resources/l10n/JabRef_en.properties b/src/main/resources/l10n/JabRef_en.properties index 38cabe10f18..e6794061276 100644 --- a/src/main/resources/l10n/JabRef_en.properties +++ b/src/main/resources/l10n/JabRef_en.properties @@ -1035,6 +1035,7 @@ required\ field\ is\ present=required field is present optional\ field\ is\ present=optional field is present unknown\ field\ is\ present=unknown field is present field\ is\ absent=field is absent +Field\ does\ not\ exist\ in\ the\ editor!=Field does not exist in the editor! Consistency\ check\ completed=Consistency check completed No\ file\ specified\ for\ consistency\ check.=No file specified for consistency check. From 62c1e2d1ee57504ffc743d4efff0f2dcfcfa3c35 Mon Sep 17 00:00:00 2001 From: Priyanshu Gupta Date: Mon, 17 Mar 2025 22:45:08 +0530 Subject: [PATCH 2/4] Refactor code --- .../org/jabref/gui/consistency/ConsistencyCheckDialog.java | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/main/java/org/jabref/gui/consistency/ConsistencyCheckDialog.java b/src/main/java/org/jabref/gui/consistency/ConsistencyCheckDialog.java index c9b11c1bed1..9d6b87e78fd 100644 --- a/src/main/java/org/jabref/gui/consistency/ConsistencyCheckDialog.java +++ b/src/main/java/org/jabref/gui/consistency/ConsistencyCheckDialog.java @@ -123,12 +123,7 @@ protected void updateItem(String item, boolean empty) { ConsistencyMessage selectedMessage = getTableRow().getItem(); Optional field = StandardField.fromName(clickedColumn.getText()); - if (field.isPresent()) { - libraryTab.editEntryAndFocusField(selectedMessage.bibEntry(), field.get()); - } else { - libraryTab.showAndEdit(selectedMessage.bibEntry()); - dialogService.notify(Localization.lang("Field does not exist in the editor!")); - } + field.ifPresent(standardField -> libraryTab.editEntryAndFocusField(selectedMessage.bibEntry(), standardField)); } }); } From c8ed0b0a04d388202b872c22f93e5d1221691239 Mon Sep 17 00:00:00 2001 From: Priyanshu Gupta Date: Mon, 17 Mar 2025 22:54:05 +0530 Subject: [PATCH 3/4] Remove csl modules --- src/main/resources/csl-styles | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/csl-styles b/src/main/resources/csl-styles index 44d9b9f778e..b43e623ef66 160000 --- a/src/main/resources/csl-styles +++ b/src/main/resources/csl-styles @@ -1 +1 @@ -Subproject commit 44d9b9f778ea3b947bf381ed8c7269acff31db84 +Subproject commit b43e623ef66e737be95076ce7e898288bb3a958c From ba067c2fed4900db915321c847276cb302dac5db Mon Sep 17 00:00:00 2001 From: Priyanshu Gupta Date: Mon, 17 Mar 2025 23:05:55 +0530 Subject: [PATCH 4/4] Fix the check --- src/main/resources/l10n/JabRef_en.properties | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/resources/l10n/JabRef_en.properties b/src/main/resources/l10n/JabRef_en.properties index e6794061276..38cabe10f18 100644 --- a/src/main/resources/l10n/JabRef_en.properties +++ b/src/main/resources/l10n/JabRef_en.properties @@ -1035,7 +1035,6 @@ required\ field\ is\ present=required field is present optional\ field\ is\ present=optional field is present unknown\ field\ is\ present=unknown field is present field\ is\ absent=field is absent -Field\ does\ not\ exist\ in\ the\ editor!=Field does not exist in the editor! Consistency\ check\ completed=Consistency check completed No\ file\ specified\ for\ consistency\ check.=No file specified for consistency check.