From d87d12c17000172b471b9832bf92fd6d396aa6da Mon Sep 17 00:00:00 2001 From: Jonatan Asketorp Date: Fri, 3 Nov 2023 21:13:54 +0100 Subject: [PATCH 1/9] Remove updating search on EntryChangedEvent --- src/main/java/org/jabref/gui/LibraryTab.java | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/main/java/org/jabref/gui/LibraryTab.java b/src/main/java/org/jabref/gui/LibraryTab.java index fc4880d2562..425d46ba078 100644 --- a/src/main/java/org/jabref/gui/LibraryTab.java +++ b/src/main/java/org/jabref/gui/LibraryTab.java @@ -928,11 +928,6 @@ public void listen(EntriesAddedEvent addedEntryEvent) { DefaultTaskExecutor.runInJavaFXThread(() -> frame.getGlobalSearchBar().performSearch()); } - @Subscribe - public void listen(EntryChangedEvent entryChangedEvent) { - DefaultTaskExecutor.runInJavaFXThread(() -> frame.getGlobalSearchBar().performSearch()); - } - @Subscribe public void listen(EntriesRemovedEvent removedEntriesEvent) { // IMO only used to update the status (found X entries) From 489c3c8765c919198fd94d5e18862c5dfcf3a7bb Mon Sep 17 00:00:00 2001 From: Jonatan Asketorp Date: Fri, 3 Nov 2023 21:29:29 +0100 Subject: [PATCH 2/9] Remove unused import --- src/main/java/org/jabref/gui/LibraryTab.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/org/jabref/gui/LibraryTab.java b/src/main/java/org/jabref/gui/LibraryTab.java index 425d46ba078..07c5b859a39 100644 --- a/src/main/java/org/jabref/gui/LibraryTab.java +++ b/src/main/java/org/jabref/gui/LibraryTab.java @@ -66,7 +66,6 @@ import org.jabref.model.entry.BibEntryTypesManager; import org.jabref.model.entry.LinkedFile; import org.jabref.model.entry.event.EntriesEventSource; -import org.jabref.model.entry.event.EntryChangedEvent; import org.jabref.model.entry.event.FieldChangedEvent; import org.jabref.model.entry.field.Field; import org.jabref.model.entry.field.FieldFactory; From be85f96096a9082bf118bfc10df6c72ec413eeac Mon Sep 17 00:00:00 2001 From: Jonatan Asketorp Date: Fri, 3 Nov 2023 21:29:41 +0100 Subject: [PATCH 3/9] Update CHANGELOG.md --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b45208a55f2..3a9b285d54f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,8 @@ Note that this project **does not** adhere to [Semantic Versioning](https://semv ### Removed +- We removed search result auto-updates for edits to BibEntries. [#10619](https://github.com/JabRef/jabref/pull/10619) + ## [5.11] – 2023-10-22 ### Added From c6acfe19ccc33f6425053fc00abec9086cbd6bb8 Mon Sep 17 00:00:00 2001 From: Jonatan Asketorp Date: Fri, 3 Nov 2023 21:49:38 +0100 Subject: [PATCH 4/9] Remove filtering on query in maintable --- src/main/java/org/jabref/gui/maintable/MainTableDataModel.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/org/jabref/gui/maintable/MainTableDataModel.java b/src/main/java/org/jabref/gui/maintable/MainTableDataModel.java index bc91167bb88..310a128c422 100644 --- a/src/main/java/org/jabref/gui/maintable/MainTableDataModel.java +++ b/src/main/java/org/jabref/gui/maintable/MainTableDataModel.java @@ -48,9 +48,8 @@ public MainTableDataModel(BibDatabaseContext context, PreferencesService prefere entriesFiltered = new FilteredList<>(entriesViewModel); entriesFiltered.predicateProperty().bind( EasyBind.combine(stateManager.activeGroupProperty(), - stateManager.activeSearchQueryProperty(), groupsPreferences.groupViewModeProperty(), - (groups, query, groupViewMode) -> entry -> isMatched(groups, query, entry)) + (groups, groupViewMode) -> entry -> isMatched(groups, Optional.empty(), entry)) ); IntegerProperty resultSize = new SimpleIntegerProperty(); From 32afb6b9a2c2fc99c702d6aee371a7a83d65f0e7 Mon Sep 17 00:00:00 2001 From: Jonatan Asketorp Date: Fri, 3 Nov 2023 22:01:27 +0100 Subject: [PATCH 5/9] Revert "Remove filtering on query in maintable" This reverts commit c6acfe19ccc33f6425053fc00abec9086cbd6bb8. --- src/main/java/org/jabref/gui/maintable/MainTableDataModel.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/jabref/gui/maintable/MainTableDataModel.java b/src/main/java/org/jabref/gui/maintable/MainTableDataModel.java index 310a128c422..bc91167bb88 100644 --- a/src/main/java/org/jabref/gui/maintable/MainTableDataModel.java +++ b/src/main/java/org/jabref/gui/maintable/MainTableDataModel.java @@ -48,8 +48,9 @@ public MainTableDataModel(BibDatabaseContext context, PreferencesService prefere entriesFiltered = new FilteredList<>(entriesViewModel); entriesFiltered.predicateProperty().bind( EasyBind.combine(stateManager.activeGroupProperty(), + stateManager.activeSearchQueryProperty(), groupsPreferences.groupViewModeProperty(), - (groups, groupViewMode) -> entry -> isMatched(groups, Optional.empty(), entry)) + (groups, query, groupViewMode) -> entry -> isMatched(groups, query, entry)) ); IntegerProperty resultSize = new SimpleIntegerProperty(); From ad59c03cd6056262c6c087c45ee44e80c9de4f11 Mon Sep 17 00:00:00 2001 From: Jonatan Asketorp Date: Sat, 4 Nov 2023 14:24:11 +0100 Subject: [PATCH 6/9] Refactor method name to reflect usage --- .../org/jabref/gui/search/GlobalSearchBar.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/main/java/org/jabref/gui/search/GlobalSearchBar.java b/src/main/java/org/jabref/gui/search/GlobalSearchBar.java index 34ac62b9de0..e419c97b827 100644 --- a/src/main/java/org/jabref/gui/search/GlobalSearchBar.java +++ b/src/main/java/org/jabref/gui/search/GlobalSearchBar.java @@ -201,7 +201,7 @@ public GlobalSearchBar(JabRefFrame frame, StateManager stateManager, Preferences this.setSpacing(4.0); this.setAlignment(Pos.CENTER_LEFT); - Timer searchTask = FxTimer.create(Duration.ofMillis(SEARCH_DELAY), this::performSearch); + Timer searchTask = FxTimer.create(Duration.ofMillis(SEARCH_DELAY), this::updateSearchQuery); BindingsHelper.bindBidirectional( stateManager.activeSearchQueryProperty(), searchField.textProperty(), @@ -238,7 +238,7 @@ private void initSearchModifierButtons() { initSearchModifierButton(regularExpressionButton); regularExpressionButton.setOnAction(event -> { searchPreferences.setSearchFlag(SearchRules.SearchFlags.REGULAR_EXPRESSION, regularExpressionButton.isSelected()); - performSearch(); + updateSearchQuery(); }); caseSensitiveButton.setSelected(searchPreferences.isCaseSensitive()); @@ -246,7 +246,7 @@ private void initSearchModifierButtons() { initSearchModifierButton(caseSensitiveButton); caseSensitiveButton.setOnAction(event -> { searchPreferences.setSearchFlag(SearchRules.SearchFlags.CASE_SENSITIVE, caseSensitiveButton.isSelected()); - performSearch(); + updateSearchQuery(); }); fulltextButton.setSelected(searchPreferences.isFulltext()); @@ -254,7 +254,7 @@ private void initSearchModifierButtons() { initSearchModifierButton(fulltextButton); fulltextButton.setOnAction(event -> { searchPreferences.setSearchFlag(SearchRules.SearchFlags.FULLTEXT, fulltextButton.isSelected()); - performSearch(); + updateSearchQuery(); }); keepSearchString.setSelected(searchPreferences.shouldKeepSearchString()); @@ -262,7 +262,7 @@ private void initSearchModifierButtons() { initSearchModifierButton(keepSearchString); keepSearchString.setOnAction(evt -> { searchPreferences.setSearchFlag(SearchRules.SearchFlags.KEEP_SEARCH_STRING, keepSearchString.isSelected()); - performSearch(); + updateSearchQuery(); }); openGlobalSearchButton.disableProperty().bindBidirectional(globalSearchActive); @@ -271,7 +271,7 @@ private void initSearchModifierButtons() { openGlobalSearchButton.setOnAction(evt -> { globalSearchActive.setValue(true); globalSearchResultDialog = new GlobalSearchResultDialog(undoManager); - performSearch(); + updateSearchQuery(); dialogService.showCustomDialogAndWait(globalSearchResultDialog); globalSearchActive.setValue(false); }); @@ -298,9 +298,9 @@ public void focus() { searchField.selectAll(); } - public void performSearch() { + public void updateSearchQuery() { LOGGER.debug("Flags: {}", searchPreferences.getSearchFlags()); - LOGGER.debug("Run search {}", searchField.getText()); + LOGGER.debug("Updated search query: {}", searchField.getText()); // An empty search field should cause the search to be cleared. if (searchField.getText().isEmpty()) { From cc14b158a7b608b9e9a5b5729aafd09ba17bcd32 Mon Sep 17 00:00:00 2001 From: Jonatan Asketorp Date: Sat, 4 Nov 2023 15:53:21 +0100 Subject: [PATCH 7/9] Remove SearchListener --- src/main/java/org/jabref/gui/LibraryTab.java | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/src/main/java/org/jabref/gui/LibraryTab.java b/src/main/java/org/jabref/gui/LibraryTab.java index 07c5b859a39..137a9548678 100644 --- a/src/main/java/org/jabref/gui/LibraryTab.java +++ b/src/main/java/org/jabref/gui/LibraryTab.java @@ -155,7 +155,6 @@ public LibraryTab(BibDatabaseContext bibDatabaseContext, setupMainPanel(); setupAutoCompletion(); - this.getDatabase().registerListener(new SearchListener()); this.getDatabase().registerListener(new IndexUpdateListener()); this.getDatabase().registerListener(new EntriesRemovedListener()); @@ -276,7 +275,6 @@ public void feedData(BibDatabaseContext bibDatabaseContextFromParserResult) { setupMainPanel(); setupAutoCompletion(); - this.getDatabase().registerListener(new SearchListener()); this.getDatabase().registerListener(new EntriesRemovedListener()); // ensure that at each addition of a new entry, the entry is added to the groups interface @@ -917,23 +915,6 @@ public void listen(EntriesRemovedEvent entriesRemovedEvent) { } } - /** - * Ensures that the results of the current search are updated when a new entry is inserted into the database Actual methods for performing search must run in javafx thread - */ - private class SearchListener { - - @Subscribe - public void listen(EntriesAddedEvent addedEntryEvent) { - DefaultTaskExecutor.runInJavaFXThread(() -> frame.getGlobalSearchBar().performSearch()); - } - - @Subscribe - public void listen(EntriesRemovedEvent removedEntriesEvent) { - // IMO only used to update the status (found X entries) - DefaultTaskExecutor.runInJavaFXThread(() -> frame.getGlobalSearchBar().performSearch()); - } - } - private class IndexUpdateListener { @Subscribe From 094437161ad4b046e4c6e786dfc0dfec5c98d79f Mon Sep 17 00:00:00 2001 From: Jonatan Asketorp Date: Sun, 5 Nov 2023 22:11:05 +0100 Subject: [PATCH 8/9] Fix CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2d10fa505ae..ce147b0a31f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,7 +29,7 @@ Note that this project **does not** adhere to [Semantic Versioning](https://semv ### Removed -- We removed search result auto-updates for edits to BibEntries. [#10619](https://github.com/JabRef/jabref/pull/10619) +- We removed duplicate filtering and sorting operations in the MainTable when editing BibEntries. [#10619](https://github.com/JabRef/jabref/pull/10619) ## [5.11] – 2023-10-22 From d0c8b25ab98f7ce64036e06078a5d38596fdd57e Mon Sep 17 00:00:00 2001 From: Siedlerchr Date: Fri, 10 Nov 2023 21:59:21 +0100 Subject: [PATCH 9/9] add some more spaces --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index be8ef44eccf..992f0055839 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -36,6 +36,9 @@ Note that this project **does not** adhere to [Semantic Versioning](https://semv - We removed duplicate filtering and sorting operations in the MainTable when editing BibEntries. [#10619](https://github.com/JabRef/jabref/pull/10619) + + + ## [5.11] – 2023-10-22 ### Added