From 19682e3665a9034f858ea910ae1806daad2d3ce8 Mon Sep 17 00:00:00 2001 From: Niffler Date: Tue, 13 Oct 2020 22:30:22 +0200 Subject: [PATCH] Add selection of 'All Entries' group on start-up --- CHANGELOG.md | 1 + src/main/java/org/jabref/gui/groups/GroupTreeViewModel.java | 4 ++++ .../java/org/jabref/gui/groups/GroupTreeViewModelTest.java | 5 +++++ 3 files changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7151758a03d..bf554f045a3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -51,6 +51,7 @@ inserting new citations in a OpenOffic/LibreOffice document. [#6957](https://git - We fixed an issue with the python script used by browser plugins that failed to locate JabRef if not installed in its default location. [#6963](https://github.com/JabRef/jabref/pull/6963/files) - We fixed an issue where identity column header had incorrect foreground color in the Dark theme. [#6796](https://github.com/JabRef/jabref/issues/6796) - We fixed an issue where clicking on Collapse All button in the Search for Unlinked Local Files expanded the directory structure erroneously [#6848](https://github.com/JabRef/jabref/issues/6848) +- We fixed an issue where the JabRef GUI does not highlight the "All entries" group on start-up [#6691](https://github.com/JabRef/jabref/issues/6691) ### Removed diff --git a/src/main/java/org/jabref/gui/groups/GroupTreeViewModel.java b/src/main/java/org/jabref/gui/groups/GroupTreeViewModel.java index a5d51cc7328..23a9619f968 100644 --- a/src/main/java/org/jabref/gui/groups/GroupTreeViewModel.java +++ b/src/main/java/org/jabref/gui/groups/GroupTreeViewModel.java @@ -1,5 +1,6 @@ package org.jabref.gui.groups; +import java.util.Collections; import java.util.Comparator; import java.util.List; import java.util.Objects; @@ -129,6 +130,9 @@ private void onActiveDatabaseChanged(Optional newDatabase) { .orElse(GroupNodeViewModel.getAllEntriesGroup(newDatabase.get(), stateManager, taskExecutor, localDragboard, preferences)); rootGroup.setValue(newRoot); + if (stateManager.getSelectedGroup(newDatabase.get()).isEmpty()) { + stateManager.setSelectedGroups(newDatabase.get(), Collections.singletonList(newRoot.getGroupNode())); + } selectedGroups.setAll( stateManager.getSelectedGroup(newDatabase.get()).stream() .map(selectedGroup -> new GroupNodeViewModel(newDatabase.get(), stateManager, taskExecutor, selectedGroup, localDragboard, preferences)) diff --git a/src/test/java/org/jabref/gui/groups/GroupTreeViewModelTest.java b/src/test/java/org/jabref/gui/groups/GroupTreeViewModelTest.java index 0cbf15a1bde..f90c5fdf360 100644 --- a/src/test/java/org/jabref/gui/groups/GroupTreeViewModelTest.java +++ b/src/test/java/org/jabref/gui/groups/GroupTreeViewModelTest.java @@ -43,6 +43,11 @@ void rootGroupIsAllEntriesByDefault() throws Exception { assertEquals(new GroupNodeViewModel(databaseContext, stateManager, taskExecutor, allEntriesGroup, new CustomLocalDragboard(), mock(PreferencesService.class)), groupTree.rootGroupProperty().getValue()); } + @Test + void rootGroupIsSelectedByDefault() { + assertEquals(groupTree.rootGroupProperty().get().getGroupNode(), stateManager.getSelectedGroup(databaseContext).get(0)); + } + @Test void explicitGroupsAreRemovedFromEntriesOnDelete() { ExplicitGroup group = new ExplicitGroup("group", GroupHierarchyType.INDEPENDENT, ',');