1
0
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:
Chocobo1 2016-12-30 13:34:10 +08:00
parent 88b2b26007
commit e178e70053

View File

@ -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);
} }
} }