add cancel and retry buttons, not hooked up yet

This commit is contained in:
Zlatin Balevsky
2019-06-01 17:30:29 +01:00
parent 15a0eda713
commit 70078c309b
2 changed files with 32 additions and 0 deletions

View File

@ -48,6 +48,8 @@ class MainFrameModel {
@Observable int connections
@Observable String me
@Observable boolean searchButtonsEnabled
@Observable boolean cancelButtonEnabled
@Observable boolean retryButtonEnabled
private final Set<InfoHash> infoHashes = new HashSet<>()

View File

@ -9,9 +9,11 @@ import javax.swing.Box
import javax.swing.BoxLayout
import javax.swing.JFileChooser
import javax.swing.JSplitPane
import javax.swing.ListSelectionModel
import javax.swing.SwingConstants
import javax.swing.border.Border
import com.muwire.core.download.Downloader
import com.muwire.core.files.FileSharedEvent
import java.awt.BorderLayout
@ -95,6 +97,10 @@ class MainFrameView {
}
}
}
panel (constraints : BorderLayout.SOUTH) {
button("Cancel", enabled : bind {model.cancelButtonEnabled } )
button("Retry", enabled : bind {model.retryButtonEnabled})
}
}
}
}
@ -177,6 +183,30 @@ class MainFrameView {
}
}
}
void mvcGroupInit(Map<String, String> args) {
def downloadsTable = builder.getVariable("downloads-table")
def selectionModel = downloadsTable.getSelectionModel()
selectionModel.setSelectionMode(ListSelectionModel.SINGLE_SELECTION)
selectionModel.addListSelectionListener({
int selectedRow = downloadsTable.getSelectedRow()
def downloader = model.downloads[selectedRow].downloader
switch(downloader.getCurrentState()) {
case Downloader.DownloadState.CONNECTING :
case Downloader.DownloadState.DOWNLOADING :
model.cancelButtonEnabled = true
model.retryButtonEnabled = false
break
case Downloader.DownloadState.FAILED:
model.cancelButtonEnabled = false
model.retryButtonEnabled = true
break
default:
model.cancelButtonEnabled = false
model.retryButtonEnabled = false
}
})
}
def showSearchWindow = {
def cardsPanel = builder.getVariable("cards-panel")