mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2024-11-25 02:36:10 +03:00
WebUI: Display torrent progress percentage in General tab
This PR adds torrent progress percentage next to pieces bar in General tab, as in the GUI. PR #21756.
This commit is contained in:
parent
06fe3e5fb0
commit
71f83cf9ba
4 changed files with 27 additions and 9 deletions
|
@ -116,6 +116,7 @@ const QString KEY_PROP_SSL_CERTIFICATE = u"ssl_certificate"_s;
|
||||||
const QString KEY_PROP_SSL_PRIVATEKEY = u"ssl_private_key"_s;
|
const QString KEY_PROP_SSL_PRIVATEKEY = u"ssl_private_key"_s;
|
||||||
const QString KEY_PROP_SSL_DHPARAMS = u"ssl_dh_params"_s;
|
const QString KEY_PROP_SSL_DHPARAMS = u"ssl_dh_params"_s;
|
||||||
const QString KEY_PROP_HAS_METADATA = u"has_metadata"_s;
|
const QString KEY_PROP_HAS_METADATA = u"has_metadata"_s;
|
||||||
|
const QString KEY_PROP_PROGRESS = u"progress"_s;
|
||||||
|
|
||||||
|
|
||||||
// File keys
|
// File keys
|
||||||
|
@ -503,7 +504,8 @@ void TorrentsController::propertiesAction()
|
||||||
{KEY_PROP_SAVE_PATH, torrent->savePath().toString()},
|
{KEY_PROP_SAVE_PATH, torrent->savePath().toString()},
|
||||||
{KEY_PROP_DOWNLOAD_PATH, torrent->downloadPath().toString()},
|
{KEY_PROP_DOWNLOAD_PATH, torrent->downloadPath().toString()},
|
||||||
{KEY_PROP_COMMENT, torrent->comment()},
|
{KEY_PROP_COMMENT, torrent->comment()},
|
||||||
{KEY_PROP_HAS_METADATA, torrent->hasMetadata()}
|
{KEY_PROP_HAS_METADATA, torrent->hasMetadata()},
|
||||||
|
{KEY_PROP_PROGRESS, torrent->progress()}
|
||||||
};
|
};
|
||||||
|
|
||||||
setResult(ret);
|
setResult(ret);
|
||||||
|
|
|
@ -700,6 +700,22 @@ td.generalLabel {
|
||||||
padding: 2px;
|
padding: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#propProgressWrapper {
|
||||||
|
align-items: center;
|
||||||
|
display: flex;
|
||||||
|
height: auto;
|
||||||
|
margin: 5px 2px;
|
||||||
|
|
||||||
|
& > span:not(:first-child, :empty) {
|
||||||
|
margin-left: 6px;
|
||||||
|
min-width: 3.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
& #progress {
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.piecesbarWrapper {
|
.piecesbarWrapper {
|
||||||
position: relative;
|
position: relative;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
|
@ -43,6 +43,7 @@ window.qBittorrent.PropGeneral ??= (() => {
|
||||||
$("progress").appendChild(piecesBar);
|
$("progress").appendChild(piecesBar);
|
||||||
|
|
||||||
const clearData = () => {
|
const clearData = () => {
|
||||||
|
document.getElementById("progressPercentage").textContent = "";
|
||||||
$("time_elapsed").textContent = "";
|
$("time_elapsed").textContent = "";
|
||||||
$("eta").textContent = "";
|
$("eta").textContent = "";
|
||||||
$("nb_connections").textContent = "";
|
$("nb_connections").textContent = "";
|
||||||
|
@ -101,6 +102,8 @@ window.qBittorrent.PropGeneral ??= (() => {
|
||||||
if (data) {
|
if (data) {
|
||||||
// Update Torrent data
|
// Update Torrent data
|
||||||
|
|
||||||
|
document.getElementById("progressPercentage").textContent = window.qBittorrent.Misc.friendlyPercentage(data.progress);
|
||||||
|
|
||||||
const timeElapsed = (data.seeding_time > 0)
|
const timeElapsed = (data.seeding_time > 0)
|
||||||
? "QBT_TR(%1 (seeded for %2))QBT_TR[CONTEXT=PropertiesWidget]"
|
? "QBT_TR(%1 (seeded for %2))QBT_TR[CONTEXT=PropertiesWidget]"
|
||||||
.replace("%1", window.qBittorrent.Misc.friendlyDuration(data.time_elapsed))
|
.replace("%1", window.qBittorrent.Misc.friendlyDuration(data.time_elapsed))
|
||||||
|
|
|
@ -1,12 +1,9 @@
|
||||||
<div id="propGeneral" class="propertiesTabContent invisible unselectable">
|
<div id="propGeneral" class="propertiesTabContent invisible unselectable">
|
||||||
<table style="width: 100%; padding: 3px 0 3px 2px;">
|
<div id="propProgressWrapper">
|
||||||
<tbody>
|
<span>QBT_TR(Progress:)QBT_TR[CONTEXT=PropertiesWidget]</span>
|
||||||
<tr>
|
<span id="progress"></span>
|
||||||
<td style="text-align: right; white-space: nowrap">QBT_TR(Progress:)QBT_TR[CONTEXT=PropertiesWidget]</td>
|
<span id="progressPercentage"></span>
|
||||||
<td id="progress" style="width: 100%"></td>
|
</div>
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<hr>
|
<hr>
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend><b>QBT_TR(Transfer)QBT_TR[CONTEXT=PropertiesWidget]</b></legend>
|
<legend><b>QBT_TR(Transfer)QBT_TR[CONTEXT=PropertiesWidget]</b></legend>
|
||||||
|
|
Loading…
Reference in a new issue