mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2024-11-27 19:57:45 +03:00
Implement resizable progress bar in "Done" column
This commit is contained in:
parent
09cf93521f
commit
d50a7778fe
2 changed files with 25 additions and 1 deletions
|
@ -344,6 +344,7 @@ var DynamicTable = new Class({
|
|||
column['updateTd'] = function (td, row) {
|
||||
td.innerHTML = this.getRowValue(row);
|
||||
};
|
||||
column['onResize'] = null;
|
||||
this.columns.push(column);
|
||||
this.columns[name] = column;
|
||||
|
||||
|
@ -430,6 +431,10 @@ var DynamicTable = new Class({
|
|||
for (var i = 0; i < trs.length; i++)
|
||||
trs[i].getElements('td')[pos].addClass('invisible');
|
||||
}
|
||||
if (this.columns[pos].onResize !== null)
|
||||
{
|
||||
this.columns[pos].onResize(columnName);
|
||||
}
|
||||
},
|
||||
|
||||
setSortedColumn : function (column) {
|
||||
|
@ -846,15 +851,23 @@ var TorrentsTable = new Class({
|
|||
|
||||
if (td.getChildren('div').length) {
|
||||
var div = td.getChildren('div')[0];
|
||||
div.setWidth(td.offsetWidth - 5);
|
||||
if (div.getValue() != progressFormated)
|
||||
div.setValue(progressFormated);
|
||||
}
|
||||
else
|
||||
td.adopt(new ProgressBar(progressFormated.toFloat(), {
|
||||
'width' : 80
|
||||
'width' : td.offsetWidth - 5
|
||||
}));
|
||||
};
|
||||
|
||||
this.columns['progress'].onResize = function (columnName) {
|
||||
var pos = this.getColumnPos(columnName);
|
||||
var trs = this.tableBody.getElements('tr');
|
||||
for (var i = 0; i < trs.length; i++)
|
||||
this.columns[columnName].updateTd(trs[i].getElements('td')[pos], this.rows.get(trs[i].rowId));
|
||||
}.bind(this);
|
||||
|
||||
// num_seeds
|
||||
|
||||
this.columns['num_seeds'].updateTd = function (td, row) {
|
||||
|
|
|
@ -59,6 +59,7 @@ var ProgressBar = new Class({
|
|||
obj.appendChild(obj.vals.light);
|
||||
obj.getValue = ProgressBar_getValue;
|
||||
obj.setValue = ProgressBar_setValue;
|
||||
obj.setWidth = ProgressBar_setWidth;
|
||||
if (vals.width) obj.setValue(vals.value);
|
||||
else setTimeout('ProgressBar_checkForParent("' + obj.id + '")', 1);
|
||||
return obj;
|
||||
|
@ -84,6 +85,16 @@ function ProgressBar_setValue(value) {
|
|||
this.vals.light.setStyle('clip', 'rect(0,' + this.vals.width + 'px,' + this.vals.height + 'px,' + r + 'px)');
|
||||
}
|
||||
|
||||
function ProgressBar_setWidth(value) {
|
||||
if (this.vals.width !== value) {
|
||||
this.vals.width = value;
|
||||
this.setStyle('width', value);
|
||||
this.vals.dark.setStyle('width', value);
|
||||
this.vals.light.setStyle('width', value);
|
||||
this.setValue(this.vals.value);
|
||||
}
|
||||
}
|
||||
|
||||
function ProgressBar_checkForParent(id) {
|
||||
var obj = $(id);
|
||||
if (!obj) return;
|
||||
|
|
Loading…
Reference in a new issue