mirror of https://github.com/zlatinb/muwire
filter library by keywords more similar to network search. Github issue #61
parent
72c23b0417
commit
0bada3b66c
|
@ -587,12 +587,13 @@ class MainFrameController {
|
||||||
void filterLibrary() {
|
void filterLibrary() {
|
||||||
JTextField field = builder.getVariable("library-filter-textfield")
|
JTextField field = builder.getVariable("library-filter-textfield")
|
||||||
String filter = field.getText()
|
String filter = field.getText()
|
||||||
if (filter != null)
|
if (filter == null)
|
||||||
filter = filter.strip()
|
return
|
||||||
if (filter == null || filter.length() == 0)
|
filter = filter.strip().replaceAll(SplitPattern.SPLIT_PATTERN," ").toLowerCase()
|
||||||
model.filter = null
|
String [] split = filter.split(" ")
|
||||||
else
|
def hs = new HashSet()
|
||||||
model.filter = filter.toLowerCase()
|
split.each {if (it.length() > 0) hs << it}
|
||||||
|
model.filter = hs.toArray(new String[0])
|
||||||
model.filterLibrary()
|
model.filterLibrary()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -101,7 +101,7 @@ class MainFrameModel {
|
||||||
|
|
||||||
// Library model
|
// Library model
|
||||||
@Observable boolean filteringEnabled
|
@Observable boolean filteringEnabled
|
||||||
volatile String filter
|
volatile String[] filter
|
||||||
volatile Filterer filterer
|
volatile Filterer filterer
|
||||||
boolean treeVisible = true
|
boolean treeVisible = true
|
||||||
private final Set<SharedFile> allSharedFiles = Collections.synchronizedSet(new LinkedHashSet<>())
|
private final Set<SharedFile> allSharedFiles = Collections.synchronizedSet(new LinkedHashSet<>())
|
||||||
|
@ -470,7 +470,12 @@ class MainFrameModel {
|
||||||
private boolean filter(SharedFile sharedFile) {
|
private boolean filter(SharedFile sharedFile) {
|
||||||
if (filter == null)
|
if (filter == null)
|
||||||
return true
|
return true
|
||||||
sharedFile.getCachedPath().containsIgnoreCase(filter)
|
String path = sharedFile.getCachedPath()
|
||||||
|
boolean contains = true
|
||||||
|
for (String keyword : filter) {
|
||||||
|
contains &= path.contains(keyword)
|
||||||
|
}
|
||||||
|
contains
|
||||||
}
|
}
|
||||||
|
|
||||||
void filterLibrary() {
|
void filterLibrary() {
|
||||||
|
|
Loading…
Reference in New Issue