hook up cleaning up of cancelled/finished downloads

pull/5/head
Zlatin Balevsky 2019-06-14 13:11:20 +01:00
parent f8f7cfe836
commit 5dacd60bbb
3 changed files with 20 additions and 8 deletions

View File

@ -79,11 +79,28 @@ class MainFrameModel {
void mvcGroupInit(Map<String, Object> args) {
UISettings uiSettings = application.context.get("ui-settings")
Timer timer = new Timer("download-pumper", true)
timer.schedule({
runInsideUIAsync {
if (!mvcGroup.alive)
return
// remove cancelled or finished downloads
def toRemove = []
downloads.each {
if (uiSettings.clearCancelledDownloads &&
it.downloader.getCurrentState() == Downloader.DownloadState.CANCELLED)
toRemove << it
if (uiSettings.clearFinishedDownloads &&
it.downloader.getCurrentState() == Downloader.DownloadState.FINISHED)
toRemove << it
}
toRemove.each {
downloads.remove(it)
}
builder.getVariable("uploads-table")?.model.fireTableDataChanged()
updateTablePreservingSelection("downloads-table")

View File

@ -266,7 +266,9 @@ class MainFrameView {
selectionModel.setSelectionMode(ListSelectionModel.SINGLE_SELECTION)
selectionModel.addListSelectionListener({
int selectedRow = selectedDownloaderRow()
def downloader = model.downloads[selectedRow].downloader
def downloader = model.downloads[selectedRow]?.downloader
if (downloader == null)
return
switch(downloader.getCurrentState()) {
case Downloader.DownloadState.CONNECTING :
case Downloader.DownloadState.DOWNLOADING :

View File

@ -1,7 +0,0 @@
<html>
Some html goes here
<ul>
<li>1</li>
<li>2</li>
</ul>
</html>