multisource downloads, untested
This commit is contained in:
@@ -71,8 +71,15 @@ class MainFrameController {
|
||||
def result = selectedResult()
|
||||
if (result == null)
|
||||
return // TODO disable button
|
||||
def file = new File(application.context.get("muwire-settings").downloadLocation, result.name)
|
||||
core.eventBus.publish(new UIDownloadEvent(result : result, target : file))
|
||||
|
||||
def file = new File(application.context.get("muwire-settings").downloadLocation, result.name)
|
||||
|
||||
def selected = builder.getVariable("result-tabs").getSelectedComponent()
|
||||
def group = selected.getClientProperty("mvc-group")
|
||||
|
||||
def resultsBucket = group.model.hashBucket[result.infohash]
|
||||
|
||||
core.eventBus.publish(new UIDownloadEvent(result : resultsBucket, target : file))
|
||||
}
|
||||
|
||||
@ControllerAction
|
||||
|
@@ -21,7 +21,7 @@ class SearchTabModel {
|
||||
Core core
|
||||
String uuid
|
||||
def results = []
|
||||
def hashCount = [:]
|
||||
def hashBucket = [:]
|
||||
|
||||
|
||||
void mvcGroupInit(Map<String, String> args) {
|
||||
@@ -35,11 +35,12 @@ class SearchTabModel {
|
||||
|
||||
void handleResult(UIResultEvent e) {
|
||||
runInsideUIAsync {
|
||||
Integer count = hashCount.get(e.infohash)
|
||||
if (count == null)
|
||||
count = 0
|
||||
count++
|
||||
hashCount[e.infohash] = count
|
||||
def bucket = hashBucket.get(e.infohash)
|
||||
if (bucket == null) {
|
||||
bucket = []
|
||||
hashBucket[e.infohash] = bucket
|
||||
}
|
||||
bucket << e
|
||||
|
||||
results << e
|
||||
JTable table = builder.getVariable("results-table")
|
||||
|
@@ -104,11 +104,7 @@ class MainFrameView {
|
||||
int done = row.downloader.donePieces()
|
||||
"$done/$pieces pieces"
|
||||
})
|
||||
closureColumn(header: "Piece", type: String, read: { row ->
|
||||
int position = row.downloader.positionInPiece()
|
||||
int pieceSize = row.downloader.pieceSize // TODO: fix for last piece
|
||||
"$position/$pieceSize bytes"
|
||||
})
|
||||
closureColumn(header: "Sources", type: Integer, read : {row -> row.downloader.activeWorkers.size()})
|
||||
closureColumn(header: "Speed (bytes/second)", type:Integer, read :{row -> row.downloader.speed()})
|
||||
}
|
||||
}
|
||||
|
@@ -31,7 +31,7 @@ class SearchTabView {
|
||||
tableModel(list: model.results) {
|
||||
closureColumn(header: "Name", type: String, read : {row -> row.name})
|
||||
closureColumn(header: "Size", preferredWidth: 150, type: Long, read : {row -> row.size})
|
||||
closureColumn(header: "Sources", type : Integer, read : { row -> model.hashCount[row.infohash]})
|
||||
closureColumn(header: "Sources", type : Integer, read : { row -> model.hashBucket[row.infohash].size()})
|
||||
closureColumn(header: "Sender", type: String, read : {row -> row.sender.getHumanReadableName()})
|
||||
closureColumn(header: "Trust", type: String, read : {row ->
|
||||
model.core.trustService.getLevel(row.sender.destination)
|
||||
|
Reference in New Issue
Block a user