Add button for cancelling file transfer

This commit is contained in:
Pavel Grunt 2015-01-16 15:29:46 +01:00 committed by Jeremy White
parent 8d1ea67789
commit ff42bc7399
2 changed files with 21 additions and 0 deletions

View File

@ -26,9 +26,20 @@ function SpiceFileXferTask(id, file)
SpiceFileXferTask.prototype.create_progressbar = function()
{
var _this = this;
var cancel = document.createElement("input");
this.progressbar_container = document.createElement("div");
this.progressbar = document.createElement("progress");
cancel.type = 'button';
cancel.value = 'Cancel';
cancel.style.float = 'right';
cancel.onclick = function()
{
_this.cancelled = true;
_this.remove_progressbar();
};
this.progressbar.setAttribute('max', this.file.size);
this.progressbar.setAttribute('value', 0);
this.progressbar.style.width = '100%';
@ -38,6 +49,7 @@ SpiceFileXferTask.prototype.create_progressbar = function()
this.progressbar_container.style.margin = 'auto';
this.progressbar_container.style.padding = '4px';
this.progressbar_container.textContent = this.file.name;
this.progressbar_container.appendChild(cancel);
this.progressbar_container.appendChild(this.progressbar);
document.getElementById('spice-xfer-area').appendChild(this.progressbar_container);
}

View File

@ -338,6 +338,15 @@ SpiceMainConn.prototype.file_xfer_read = function(file_xfer_task, start_byte)
return;
}
if (file_xfer_task.cancelled)
{
var xfer_status = new VDAgentFileXferStatusMessage(file_xfer_task.id,
VD_AGENT_FILE_XFER_STATUS_CANCELLED);
this.send_agent_message(VD_AGENT_FILE_XFER_STATUS, xfer_status);
delete this.file_xfer_tasks[file_xfer_task.id];
return;
}
sb = start_byte || 0,
eb = Math.min(sb + FILE_XFER_CHUNK_SIZE, file_xfer_task.file.size);