Browse Source

Code rewrite, no behavior change

adaptive-webui-19844
Chocobo1 8 years ago
parent
commit
e178e70053
  1. 79
      src/gui/transferlistwidget.cpp

79
src/gui/transferlistwidget.cpp

@ -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;
else if (all_same_limit && (torrent->downloadLimit() != selected_torrents.first()->downloadLimit()))
all_same_limit = false;
}
} }
if (TorrentsList.empty()) return;
if (selected_torrents.empty()) return; int oldLimit = TorrentsList.first()->downloadLimit();
foreach (BitTorrent::TorrentHandle *const torrent, TorrentsList) {
if (torrent->downloadLimit() != oldLimit) {
oldLimit = -1;
break;
}
}
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()) {
selected_torrents << torrent;
// Determine current limit for selected torrents
if (first)
first = false;
else if (all_same_limit && (torrent->uploadLimit() != selected_torrents.first()->uploadLimit()))
all_same_limit = false;
}
if (selected_torrents.empty()) return; int oldLimit = TorrentsList.first()->uploadLimit();
foreach (BitTorrent::TorrentHandle *const torrent, TorrentsList) {
if (torrent->uploadLimit() != oldLimit) {
oldLimit = -1;
break;
}
}
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…
Cancel
Save