From f84be1e109853e0bcdab6196f12e3996a681f1b4 Mon Sep 17 00:00:00 2001 From: Burning_TNT <88144530+burningtnt@users.noreply.github.com> Date: Thu, 9 Nov 2023 21:20:39 +0800 Subject: [PATCH] Fix #2539 (#2541) --- .../org/jackhuang/hmcl/ui/versions/ModListPageSkin.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModListPageSkin.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModListPageSkin.java index 5c3173cd7..dbca5da2b 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModListPageSkin.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModListPageSkin.java @@ -21,6 +21,7 @@ import com.jfoenix.controls.*; import com.jfoenix.controls.datamodels.treetable.RecursiveTreeObject; import javafx.beans.binding.Bindings; import javafx.beans.property.BooleanProperty; +import javafx.collections.ListChangeListener; import javafx.geometry.Insets; import javafx.geometry.Pos; import javafx.scene.Node; @@ -174,6 +175,11 @@ class ModListPageSkin extends SkinBase { listView.setCellFactory(x -> new ModInfoListCell(listView, lastCell)); listView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); Bindings.bindContent(listView.getItems(), skinnable.getItems()); + skinnable.getItems().addListener((ListChangeListener) c -> { + if (isSearching) { + search(); + } + }); center.setContent(listView); root.getContent().add(center); @@ -219,7 +225,7 @@ class ModListPageSkin extends SkinBase { } } else { String lowerQueryString = queryString.toLowerCase(Locale.ROOT); - predicate = s -> s.toLowerCase(Locale.ROOT).contains(lowerQueryString); + predicate = s -> s.contains(lowerQueryString); } // Do we need to search in the background thread?