mirror of https://github.com/zlatinb/muwire
Render filtered results piecemally. Disable filter button while filtering is ongoing. Clear selection before filtering. GitHub issue #88
parent
f688a0bcb4
commit
b501bc0f5f
|
@ -65,12 +65,15 @@ class BrowseModel {
|
||||||
}
|
}
|
||||||
|
|
||||||
void filterResults() {
|
void filterResults() {
|
||||||
|
filterer?.cancel()
|
||||||
results.clear()
|
results.clear()
|
||||||
root.removeAllChildren()
|
root.removeAllChildren()
|
||||||
filterer?.cancel()
|
view.clearForFilter()
|
||||||
|
view.refreshResults()
|
||||||
if (filter != null) {
|
if (filter != null) {
|
||||||
filterer = new Filterer()
|
filterer = new Filterer()
|
||||||
filterer.execute()
|
filterer.execute()
|
||||||
|
setFilterEnabled(false)
|
||||||
} else {
|
} else {
|
||||||
synchronized (allResults) {
|
synchronized (allResults) {
|
||||||
results.addAll(allResults)
|
results.addAll(allResults)
|
||||||
|
@ -103,11 +106,13 @@ class BrowseModel {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void process(List<UIResultEvent> chunks) {
|
protected void process(List<UIResultEvent> chunks) {
|
||||||
if (cancelled)
|
if (cancelled || chunks.isEmpty())
|
||||||
return
|
return
|
||||||
results.addAll(chunks)
|
results.addAll(chunks)
|
||||||
for (UIResultEvent result : chunks)
|
for (UIResultEvent result : chunks)
|
||||||
resultsTreeModel.addToTree(result)
|
resultsTreeModel.addToTree(result)
|
||||||
|
view.refreshResults()
|
||||||
|
view.expandUnconditionally()
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -116,6 +121,7 @@ class BrowseModel {
|
||||||
return
|
return
|
||||||
view.refreshResults()
|
view.refreshResults()
|
||||||
view.expandUnconditionally()
|
view.expandUnconditionally()
|
||||||
|
setFilterEnabled(true)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -296,6 +296,12 @@ class BrowseView {
|
||||||
showTree.call()
|
showTree.call()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void clearForFilter() {
|
||||||
|
resultsTable.clearSelection()
|
||||||
|
treeExpansions.manualExpansion = false
|
||||||
|
treeExpansions.expandedPaths.clear()
|
||||||
|
}
|
||||||
|
|
||||||
void refreshResults() {
|
void refreshResults() {
|
||||||
int [] selectedRows = resultsTable.getSelectedRows()
|
int [] selectedRows = resultsTable.getSelectedRows()
|
||||||
if (lastSortEvent != null) {
|
if (lastSortEvent != null) {
|
||||||
|
|
Loading…
Reference in New Issue