diff --git a/src/bittorrent.cpp b/src/bittorrent.cpp index 6a2382faa..bf11546fa 100644 --- a/src/bittorrent.cpp +++ b/src/bittorrent.cpp @@ -212,6 +212,7 @@ ScanFoldersModel* Bittorrent::getScanFoldersModel() const { void Bittorrent::processBigRatios() { if(ratio_limit <= 0) return; + qDebug("Process big ratios..."); std::vector torrents = getTorrents(); std::vector::iterator torrentIT; for(torrentIT = torrents.begin(); torrentIT != torrents.end(); torrentIT++) { @@ -220,15 +221,19 @@ 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 - addConsoleMessage(tr("Pausing torrent %1...").arg(h.name())); - pauseTorrent(hash); + 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); } diff --git a/src/propertieswidget.cpp b/src/propertieswidget.cpp index 9bd407065..96f1865ab 100644 --- a/src/propertieswidget.cpp +++ b/src/propertieswidget.cpp @@ -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 diff --git a/src/transferlistdelegate.h b/src/transferlistdelegate.h index b94ab4734..6af1a5a71 100644 --- a/src/transferlistdelegate.h +++ b/src/transferlistdelegate.h @@ -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: {