Browse Source

Fix "Pause/Delete" torrents once they reach a given ratio

adaptive-webui-19844
Christophe Dumez 15 years ago
parent
commit
dfecdb1956
  1. 9
      src/bittorrent.cpp
  2. 2
      src/propertieswidget.cpp
  3. 2
      src/transferlistdelegate.h

9
src/bittorrent.cpp

@ -212,6 +212,7 @@ ScanFoldersModel* Bittorrent::getScanFoldersModel() const { @@ -212,6 +212,7 @@ ScanFoldersModel* Bittorrent::getScanFoldersModel() const {
void Bittorrent::processBigRatios() {
if(ratio_limit <= 0) return;
qDebug("Process big ratios...");
std::vector<torrent_handle> torrents = getTorrents();
std::vector<torrent_handle>::iterator torrentIT;
for(torrentIT = torrents.begin(); torrentIT != torrents.end(); torrentIT++) {
@ -220,16 +221,20 @@ void Bittorrent::processBigRatios() { @@ -220,16 +221,20 @@ void Bittorrent::processBigRatios() {
if(h.is_seed()) {
const QString hash = h.hash();
const float ratio = getRealRatio(hash);
if(ratio <= MAX_RATIO && ratio > ratio_limit) {
addConsoleMessage(tr("%1 reached the maximum ratio you set.").arg(h.name()));
qDebug("Ratio: %f (limit: %f)", ratio, ratio_limit);
if(ratio <= MAX_RATIO && ratio >= ratio_limit) {
if(high_ratio_action == REMOVE_ACTION) {
addConsoleMessage(tr("%1 reached the maximum ratio you set.").arg(h.name()));
addConsoleMessage(tr("Removing torrent %1...").arg(h.name()));
deleteTorrent(hash);
} else {
// Pause it
if(!h.is_paused()) {
addConsoleMessage(tr("%1 reached the maximum ratio you set.").arg(h.name()));
addConsoleMessage(tr("Pausing torrent %1...").arg(h.name()));
pauseTorrent(hash);
}
}
//emit torrent_ratio_deleted(fileName);
}
}

2
src/propertieswidget.cpp

@ -350,7 +350,7 @@ void PropertiesWidget::loadDynamicData() { @@ -350,7 +350,7 @@ void PropertiesWidget::loadDynamicData() {
if(ratio > 100.)
shareRatio->setText(QString::fromUtf8(""));
else
shareRatio->setText(QString(QByteArray::number(ratio, 'f', 1)));
shareRatio->setText(QString(QByteArray::number(ratio, 'f', 2)));
if(!h.is_seed()) {
showPiecesDownloaded(true);
// Downloaded pieces

2
src/transferlistdelegate.h

@ -142,7 +142,7 @@ public: @@ -142,7 +142,7 @@ public:
if(ratio > 100.)
QItemDelegate::drawDisplay(painter, opt, opt.rect, QString::fromUtf8(""));
else
QItemDelegate::drawDisplay(painter, opt, opt.rect, QString::number(ratio, 'f', 1));
QItemDelegate::drawDisplay(painter, opt, opt.rect, QString::number(ratio, 'f', 2));
break;
}
case TR_PRIORITY: {

Loading…
Cancel
Save