mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2024-12-21 08:09:35 +08:00
Group setting torrents download limit
This commit is contained in:
parent
cf55751fbe
commit
902db2b938
@ -95,9 +95,9 @@ QMap<QString, QMap<QString, WebApplication::Action> > WebApplication::initialize
|
||||
ADD_ACTION(command, setGlobalUpLimit);
|
||||
ADD_ACTION(command, setGlobalDlLimit);
|
||||
ADD_ACTION(command, getTorrentsUpLimit);
|
||||
ADD_ACTION(command, getTorrentDlLimit);
|
||||
ADD_ACTION(command, getTorrentsDlLimit);
|
||||
ADD_ACTION(command, setTorrentsUpLimit);
|
||||
ADD_ACTION(command, setTorrentDlLimit);
|
||||
ADD_ACTION(command, setTorrentsDlLimit);
|
||||
ADD_ACTION(command, alternativeSpeedLimitsEnabled);
|
||||
ADD_ACTION(command, toggleAlternativeSpeedLimits);
|
||||
ADD_ACTION(command, toggleSequentialDownload);
|
||||
@ -462,15 +462,12 @@ void WebApplication::action_command_getTorrentsUpLimit()
|
||||
print(btjson::getTorrentsRatesLimits(hashes, false), Http::CONTENT_TYPE_JS);
|
||||
}
|
||||
|
||||
void WebApplication::action_command_getTorrentDlLimit()
|
||||
void WebApplication::action_command_getTorrentsDlLimit()
|
||||
{
|
||||
CHECK_URI(0);
|
||||
CHECK_PARAMETERS("hash");
|
||||
QString hash = request().posts["hash"];
|
||||
QTorrentHandle h = QBtSession::instance()->getTorrentHandle(hash);
|
||||
|
||||
if (h.is_valid())
|
||||
print(QByteArray::number(h.download_limit()));
|
||||
CHECK_PARAMETERS("hashes");
|
||||
QStringList hashes = request().posts["hashes"].split("|");
|
||||
print(btjson::getTorrentsRatesLimits(hashes, true), Http::CONTENT_TYPE_JS);
|
||||
}
|
||||
|
||||
void WebApplication::action_command_setTorrentsUpLimit()
|
||||
@ -490,17 +487,21 @@ void WebApplication::action_command_setTorrentsUpLimit()
|
||||
}
|
||||
}
|
||||
|
||||
void WebApplication::action_command_setTorrentDlLimit()
|
||||
void WebApplication::action_command_setTorrentsDlLimit()
|
||||
{
|
||||
CHECK_URI(0);
|
||||
CHECK_PARAMETERS("hash" << "limit");
|
||||
QString hash = request().posts["hash"];
|
||||
qlonglong limit = request().posts["limit"].toLongLong();
|
||||
if (limit == 0) limit = -1;
|
||||
QTorrentHandle h = QBtSession::instance()->getTorrentHandle(hash);
|
||||
CHECK_PARAMETERS("hashes" << "limit");
|
||||
|
||||
qlonglong limit = request().posts["limit"].toLongLong();
|
||||
if (limit == 0)
|
||||
limit = -1;
|
||||
|
||||
QStringList hashes = request().posts["hashes"].split("|");
|
||||
foreach (const QString &hash, hashes) {
|
||||
QTorrentHandle h = QBtSession::instance()->getTorrentHandle(hash);
|
||||
if (h.is_valid())
|
||||
h.set_download_limit(limit);
|
||||
}
|
||||
}
|
||||
|
||||
void WebApplication::action_command_toggleAlternativeSpeedLimits()
|
||||
|
@ -69,9 +69,9 @@ private:
|
||||
void action_command_setGlobalUpLimit();
|
||||
void action_command_setGlobalDlLimit();
|
||||
void action_command_getTorrentsUpLimit();
|
||||
void action_command_getTorrentDlLimit();
|
||||
void action_command_getTorrentsDlLimit();
|
||||
void action_command_setTorrentsUpLimit();
|
||||
void action_command_setTorrentDlLimit();
|
||||
void action_command_setTorrentsDlLimit();
|
||||
void action_command_alternativeSpeedLimitsEnabled();
|
||||
void action_command_toggleAlternativeSpeedLimits();
|
||||
void action_command_toggleSequentialDownload();
|
||||
|
@ -20,10 +20,10 @@
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
var hash = new URI().getData('hash');
|
||||
var hashes = new URI().getData('hashes').split('|');
|
||||
setDlLimit = function() {
|
||||
var limit = $("dllimitUpdatevalue").value.toInt() * 1024;
|
||||
if (hash == "global") {
|
||||
if (hashes[0] == "global") {
|
||||
new Request({
|
||||
url: 'command/setGlobalDlLimit',
|
||||
method: 'post',
|
||||
@ -38,10 +38,10 @@
|
||||
}
|
||||
else {
|
||||
new Request({
|
||||
url: 'command/setTorrentDlLimit',
|
||||
url: 'command/setTorrentsDlLimit',
|
||||
method: 'post',
|
||||
data: {
|
||||
'hash': hash,
|
||||
'hashes': hashes.join('|'),
|
||||
'limit': limit
|
||||
},
|
||||
onComplete: function() {
|
||||
@ -55,7 +55,7 @@
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
MochaUI.addDlLimitSlider(hash);
|
||||
MochaUI.addDlLimitSlider(hashes);
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
@ -186,7 +186,7 @@ initializeWindows = function() {
|
||||
id: 'downloadLimitPage',
|
||||
title: "QBT_TR(Global Download Speed Limit)QBT_TR",
|
||||
loadMethod: 'iframe',
|
||||
contentURL: 'downloadlimit.html?hash=global',
|
||||
contentURL: 'downloadlimit.html?hashes=global',
|
||||
scrollbars: false,
|
||||
resizable: false,
|
||||
maximizable: false,
|
||||
@ -205,7 +205,7 @@ initializeWindows = function() {
|
||||
id: 'downloadLimitPage',
|
||||
title: "QBT_TR(Torrent Download Speed Limiting)QBT_TR",
|
||||
loadMethod: 'iframe',
|
||||
contentURL: 'downloadlimit.html?hash=' + hash,
|
||||
contentURL: 'downloadlimit.html?hashes=' + h.join("|"),
|
||||
scrollbars: false,
|
||||
resizable: false,
|
||||
maximizable: false,
|
||||
|
@ -118,7 +118,7 @@ MochaUI.extend({
|
||||
}
|
||||
},
|
||||
|
||||
addDlLimitSlider: function(hash) {
|
||||
addDlLimitSlider: function(hashes) {
|
||||
if ($('dllimitSliderarea')) {
|
||||
var windowOptions = MochaUI.Windows.windowOptions;
|
||||
var sliderFirst = true;
|
||||
@ -135,15 +135,15 @@ MochaUI.extend({
|
||||
maximum = tmp / 1024.
|
||||
}
|
||||
else {
|
||||
if (hash == "global")
|
||||
if (hashes[0] == "global")
|
||||
maximum = 10000;
|
||||
else
|
||||
maximum = 1000;
|
||||
}
|
||||
}
|
||||
// Get torrent download limit
|
||||
// Get torrents download limit
|
||||
// And create slider
|
||||
if (hash == "global") {
|
||||
if (hashes[0] == 'global') {
|
||||
var dl_limit = maximum;
|
||||
if (dl_limit < 0) dl_limit = 0;
|
||||
maximum = 10000;
|
||||
@ -173,15 +173,21 @@ MochaUI.extend({
|
||||
}
|
||||
}
|
||||
else {
|
||||
var req = new Request({
|
||||
url: 'command/getTorrentDlLimit',
|
||||
var req = new Request.JSON({
|
||||
url: 'command/getTorrentsDlLimit',
|
||||
noCache : true,
|
||||
method: 'post',
|
||||
data: {
|
||||
hash: hash
|
||||
hashes: hashes.join('|')
|
||||
},
|
||||
onSuccess: function(data) {
|
||||
if (data) {
|
||||
var dl_limit = data.toInt();
|
||||
var dl_limit = data[hashes[0]];
|
||||
for(var key in data)
|
||||
if (dl_limit != data[key]) {
|
||||
dl_limit = 0;
|
||||
break;
|
||||
}
|
||||
if (dl_limit < 0) dl_limit = 0;
|
||||
var mochaSlide = new Slider($('dllimitSliderarea'), $('dllimitSliderknob'), {
|
||||
steps: maximum,
|
||||
|
Loading…
Reference in New Issue
Block a user