show percentage of fetched results

This commit is contained in:
Zlatin Balevsky
2019-10-21 18:28:37 +01:00
parent 265cd6ee15
commit 66bd249ed3
5 changed files with 9 additions and 1 deletions

View File

@@ -10,6 +10,7 @@ import javax.annotation.Nonnull
import com.muwire.core.EventBus
import com.muwire.core.download.UIDownloadEvent
import com.muwire.core.search.BrowseStatus
import com.muwire.core.search.BrowseStatusEvent
import com.muwire.core.search.UIBrowseEvent
import com.muwire.core.search.UIResultEvent
@@ -38,12 +39,15 @@ class BrowseController {
void onBrowseStatusEvent(BrowseStatusEvent e) {
runInsideUIAsync {
model.status = e.status
if (e.status == BrowseStatus.FETCHING)
model.totalResults = e.totalResults
}
}
void onUIResultEvent(UIResultEvent e) {
runInsideUIAsync {
model.results << e
model.resultCount = model.results.size()
view.resultsTable.model.fireTableDataChanged()
}
}

View File

@@ -14,6 +14,8 @@ class BrowseModel {
@Observable BrowseStatus status
@Observable boolean downloadActionEnabled
@Observable boolean viewCommentActionEnabled
@Observable int totalResults
@Observable int resultCount
def results = []
}

View File

@@ -49,6 +49,7 @@ class BrowseView {
panel (constraints : BorderLayout.NORTH) {
label(text: "Status:")
label(text: bind {model.status.toString()})
label(text : bind {model.totalResults == 0 ? "" : (model.resultCount * 100 / model.totalResults)+ "%"})
}
scrollPane (constraints : BorderLayout.CENTER){
resultsTable = table(autoCreateRowSorter : true) {