1
0
mirror of https://github.com/arduino/Arduino.git synced 2025-02-26 20:54:22 +01:00

Boards manager: when filtering result using text field, consider both core name AND supported boards names

This commit is contained in:
Federico Fissore 2015-08-05 17:33:55 +02:00
parent 4967a1135e
commit b68cf12758
2 changed files with 7 additions and 3 deletions

View File

@ -232,7 +232,9 @@ public class LibrariesIndexTableModel extends FilteredAbstractTableModel<Contrib
if (selectedCategoryFilter != null && !selectedCategoryFilter.test(lib)) {
return;
}
if (!stringContainsAll(lib.getName(), selectedFilters) && !stringContainsAll(lib.getParagraph(), selectedFilters) && !stringContainsAll(lib.getSentence(), selectedFilters)) {
String compoundTargetSearchText = lib.getName() + "\n" + lib.getParagraph() + "\n" + lib.getSentence();
if (!stringContainsAll(compoundTargetSearchText, selectedFilters)) {
return;
}
addContribution(lib);

View File

@ -31,6 +31,7 @@ package cc.arduino.contributions.packages.ui;
import cc.arduino.contributions.DownloadableContributionBuiltInAtTheBottomComparator;
import cc.arduino.contributions.filters.InstalledPredicate;
import cc.arduino.contributions.packages.ContributedBoard;
import cc.arduino.contributions.packages.ContributedPackage;
import cc.arduino.contributions.packages.ContributedPlatform;
import cc.arduino.contributions.packages.ContributionsIndexer;
@ -120,15 +121,16 @@ public class ContributionIndexTableModel extends FilteredAbstractTableModel<Cont
this.indexer = indexer;
}
public void updateIndexFilter(String filters[], Stream<Predicate<ContributedPlatform>> additionalFilters) {
public void updateIndexFilter(String[] filters, Stream<Predicate<ContributedPlatform>> additionalFilters) {
contributions.clear();
Predicate<ContributedPlatform> filter = additionalFilters.reduce(Predicate::and).get();
for (ContributedPackage pack : indexer.getPackages()) {
for (ContributedPlatform platform : pack.getPlatforms()) {
String compoundTargetSearchText = platform.getName() + "\n" + platform.getBoards().stream().map(ContributedBoard::getName).collect(Collectors.joining(" "));
if (!filter.test(platform)) {
continue;
}
if (!stringContainsAll(platform.getName(), filters))
if (!stringContainsAll(compoundTargetSearchText, filters))
continue;
addContribution(platform);
}