From 2862f2afaebf367327887396564d6a5d664f3e6c Mon Sep 17 00:00:00 2001 From: Gena928 Date: Wed, 1 Apr 2020 22:45:59 +0300 Subject: [PATCH] Issue #6042 fixed --- CHANGELOG.md | 1 + .../org/jabref/gui/groups/GroupTreeView.java | 47 ++++++++++--------- .../org/jabref/gui/preferences/GroupsTab.fxml | 1 + .../jabref/gui/preferences/GroupsTabView.java | 2 + .../gui/preferences/GroupsTabViewModel.java | 5 ++ .../jabref/preferences/JabRefPreferences.java | 2 + src/main/resources/l10n/JabRef_da.properties | 1 + src/main/resources/l10n/JabRef_en.properties | 1 + 8 files changed, 39 insertions(+), 21 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9aaaa4312fc..a3b05ed8002 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -49,6 +49,7 @@ Note that this project **does not** adhere to [Semantic Versioning](http://semve - We made the filters more easily accessible in the integrity check dialog. [#5955](https://github.com/JabRef/jabref/pull/5955) - We reimplemented and improved the dialog "Customize entry types". [#4719](https://github.com/JabRef/jabref/issues/4719) - We added an [American Physical Society](https://journals.aps.org/) fetcher. [#818](https://github.com/JabRef/jabref/issues/818) +- We added possibility to enable/disable items quantity in groups. [#6042](https://github.com/JabRef/jabref/issues/6042) ### Fixed diff --git a/src/main/java/org/jabref/gui/groups/GroupTreeView.java b/src/main/java/org/jabref/gui/groups/GroupTreeView.java index 856edb67a19..4aeb44320ee 100644 --- a/src/main/java/org/jabref/gui/groups/GroupTreeView.java +++ b/src/main/java/org/jabref/gui/groups/GroupTreeView.java @@ -44,6 +44,7 @@ import org.jabref.logic.l10n.Localization; import org.jabref.model.entry.BibEntry; import org.jabref.model.groups.AllEntriesGroup; +import org.jabref.preferences.JabRefPreferences; import org.jabref.preferences.PreferencesService; import org.controlsfx.control.textfield.CustomTextField; @@ -71,6 +72,7 @@ public class GroupTreeView { private GroupTreeViewModel viewModel; private CustomLocalDragboard localDragboard; + private JabRefPreferences preferences; private DragExpansionHandler dragExpansionHandler; @@ -78,6 +80,7 @@ public class GroupTreeView { public void initialize() { this.localDragboard = stateManager.getLocalDragboard(); viewModel = new GroupTreeViewModel(stateManager, dialogService, preferencesService, taskExecutor, localDragboard); + preferences = JabRefPreferences.getInstance(); // Set-up groups tree groupTree.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); @@ -120,27 +123,29 @@ public void initialize() { .withTooltip(GroupNodeViewModel::getDescription) .install(mainColumn); - // Number of hits - PseudoClass anySelected = PseudoClass.getPseudoClass("any-selected"); - PseudoClass allSelected = PseudoClass.getPseudoClass("all-selected"); - new ViewModelTreeTableCellFactory() - .withGraphic(group -> { - final StackPane node = new StackPane(); - node.getStyleClass().setAll("hits"); - if (!group.isRoot()) { - BindingsHelper.includePseudoClassWhen(node, anySelected, - group.anySelectedEntriesMatchedProperty()); - BindingsHelper.includePseudoClassWhen(node, allSelected, - group.allSelectedEntriesMatchedProperty()); - } - Text text = new Text(); - text.textProperty().bind(group.getHits().asString()); - text.getStyleClass().setAll("text"); - node.getChildren().add(text); - node.setMaxWidth(Control.USE_PREF_SIZE); - return node; - }) - .install(numberColumn); + // Number of hits (only if user wants to see them) + if (preferences.getBoolean(JabRefPreferences.DISPLAY_GROUP_QUANTITY)) { + PseudoClass anySelected = PseudoClass.getPseudoClass("any-selected"); + PseudoClass allSelected = PseudoClass.getPseudoClass("all-selected"); + new ViewModelTreeTableCellFactory() + .withGraphic(group -> { + final StackPane node = new StackPane(); + node.getStyleClass().setAll("hits"); + if (!group.isRoot()) { + BindingsHelper.includePseudoClassWhen(node, anySelected, + group.anySelectedEntriesMatchedProperty()); + BindingsHelper.includePseudoClassWhen(node, allSelected, + group.allSelectedEntriesMatchedProperty()); + } + Text text = new Text(); + text.textProperty().bind(group.getHits().asString()); + text.getStyleClass().setAll("text"); + node.getChildren().add(text); + node.setMaxWidth(Control.USE_PREF_SIZE); + return node; + }) + .install(numberColumn); + } // Arrow indicating expanded status new ViewModelTreeTableCellFactory() diff --git a/src/main/java/org/jabref/gui/preferences/GroupsTab.fxml b/src/main/java/org/jabref/gui/preferences/GroupsTab.fxml index ee38f7d5e34..0f54b4f6a43 100644 --- a/src/main/java/org/jabref/gui/preferences/GroupsTab.fxml +++ b/src/main/java/org/jabref/gui/preferences/GroupsTab.fxml @@ -25,6 +25,7 @@ +