mirror of
https://github.com/d47081/qBittorrent.git
synced 2025-01-23 21:14:33 +00:00
Code rewrite, no behavior change
This commit is contained in:
parent
88b2b26007
commit
e178e70053
@ -428,65 +428,56 @@ void TransferListWidget::previewSelectedTorrents()
|
|||||||
|
|
||||||
void TransferListWidget::setDlLimitSelectedTorrents()
|
void TransferListWidget::setDlLimitSelectedTorrents()
|
||||||
{
|
{
|
||||||
QList<BitTorrent::TorrentHandle *> selected_torrents;
|
QList<BitTorrent::TorrentHandle *> TorrentsList;
|
||||||
bool first = true;
|
|
||||||
bool all_same_limit = true;
|
|
||||||
foreach (BitTorrent::TorrentHandle *const torrent, getSelectedTorrents()) {
|
foreach (BitTorrent::TorrentHandle *const torrent, getSelectedTorrents()) {
|
||||||
if (!torrent->isSeed()) {
|
if (torrent->isSeed())
|
||||||
selected_torrents << torrent;
|
continue;
|
||||||
// Determine current limit for selected torrents
|
TorrentsList += torrent;
|
||||||
if (first)
|
}
|
||||||
first = false;
|
if (TorrentsList.empty()) return;
|
||||||
else if (all_same_limit && (torrent->downloadLimit() != selected_torrents.first()->downloadLimit()))
|
|
||||||
all_same_limit = false;
|
int oldLimit = TorrentsList.first()->downloadLimit();
|
||||||
|
foreach (BitTorrent::TorrentHandle *const torrent, TorrentsList) {
|
||||||
|
if (torrent->downloadLimit() != oldLimit) {
|
||||||
|
oldLimit = -1;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (selected_torrents.empty()) return;
|
|
||||||
|
|
||||||
bool ok = false;
|
bool ok = false;
|
||||||
int default_limit = -1;
|
const long newLimit = SpeedLimitDialog::askSpeedLimit(
|
||||||
if (all_same_limit)
|
&ok, tr("Torrent Download Speed Limiting"), oldLimit
|
||||||
default_limit = selected_torrents.first()->downloadLimit();
|
|
||||||
const long new_limit = SpeedLimitDialog::askSpeedLimit(
|
|
||||||
&ok, tr("Torrent Download Speed Limiting"), default_limit
|
|
||||||
, BitTorrent::Session::instance()->globalDownloadSpeedLimit());
|
, BitTorrent::Session::instance()->globalDownloadSpeedLimit());
|
||||||
if (ok) {
|
if (!ok) return;
|
||||||
foreach (BitTorrent::TorrentHandle *const torrent, selected_torrents) {
|
|
||||||
qDebug("Applying download speed limit of %ld Kb/s to torrent %s", (long)(new_limit / 1024.), qPrintable(torrent->hash()));
|
foreach (BitTorrent::TorrentHandle *const torrent, TorrentsList) {
|
||||||
torrent->setDownloadLimit(new_limit);
|
qDebug("Applying download speed limit of %ld Kb/s to torrent %s", (long) (newLimit / 1024.), qPrintable(torrent->hash()));
|
||||||
}
|
torrent->setDownloadLimit(newLimit);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void TransferListWidget::setUpLimitSelectedTorrents()
|
void TransferListWidget::setUpLimitSelectedTorrents()
|
||||||
{
|
{
|
||||||
QList<BitTorrent::TorrentHandle *> selected_torrents;
|
QList<BitTorrent::TorrentHandle *> TorrentsList = getSelectedTorrents();
|
||||||
bool first = true;
|
if (TorrentsList.empty()) return;
|
||||||
bool all_same_limit = true;
|
|
||||||
foreach (BitTorrent::TorrentHandle *const torrent, getSelectedTorrents()) {
|
int oldLimit = TorrentsList.first()->uploadLimit();
|
||||||
selected_torrents << torrent;
|
foreach (BitTorrent::TorrentHandle *const torrent, TorrentsList) {
|
||||||
// Determine current limit for selected torrents
|
if (torrent->uploadLimit() != oldLimit) {
|
||||||
if (first)
|
oldLimit = -1;
|
||||||
first = false;
|
break;
|
||||||
else if (all_same_limit && (torrent->uploadLimit() != selected_torrents.first()->uploadLimit()))
|
}
|
||||||
all_same_limit = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (selected_torrents.empty()) return;
|
|
||||||
|
|
||||||
bool ok = false;
|
bool ok = false;
|
||||||
int default_limit = -1;
|
const long newLimit = SpeedLimitDialog::askSpeedLimit(
|
||||||
if (all_same_limit)
|
&ok, tr("Torrent Upload Speed Limiting"), oldLimit
|
||||||
default_limit = selected_torrents.first()->uploadLimit();
|
|
||||||
const long new_limit = SpeedLimitDialog::askSpeedLimit(
|
|
||||||
&ok, tr("Torrent Upload Speed Limiting"), default_limit
|
|
||||||
, BitTorrent::Session::instance()->globalUploadSpeedLimit());
|
, BitTorrent::Session::instance()->globalUploadSpeedLimit());
|
||||||
if (ok) {
|
if (!ok) return;
|
||||||
foreach (BitTorrent::TorrentHandle *const torrent, selected_torrents) {
|
|
||||||
qDebug("Applying upload speed limit of %ld Kb/s to torrent %s", (long)(new_limit / 1024.), qPrintable(torrent->hash()));
|
foreach (BitTorrent::TorrentHandle *const torrent, TorrentsList) {
|
||||||
torrent->setUploadLimit(new_limit);
|
qDebug("Applying upload speed limit of %ld Kb/s to torrent %s", (long) (newLimit / 1024.), qPrintable(torrent->hash()));
|
||||||
}
|
torrent->setUploadLimit(newLimit);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user