mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2024-11-26 11:16:20 +03:00
Share ratio can now go over 100
This commit is contained in:
parent
a9ce197d04
commit
2da5e03741
4 changed files with 9 additions and 6 deletions
|
@ -349,7 +349,7 @@ void PropertiesWidget::loadDynamicData() {
|
||||||
reannounce_lbl->setText(h.next_announce());
|
reannounce_lbl->setText(h.next_announce());
|
||||||
// Update ratio info
|
// Update ratio info
|
||||||
const qreal ratio = QBtSession::instance()->getRealRatio(h.hash());
|
const qreal ratio = QBtSession::instance()->getRealRatio(h.hash());
|
||||||
if(ratio > 100.)
|
if(ratio > QBtSession::MAX_RATIO)
|
||||||
shareRatio->setText(QString::fromUtf8("∞"));
|
shareRatio->setText(QString::fromUtf8("∞"));
|
||||||
else
|
else
|
||||||
shareRatio->setText(QString(QByteArray::number(ratio, 'f', 2)));
|
shareRatio->setText(QString(QByteArray::number(ratio, 'f', 2)));
|
||||||
|
|
|
@ -82,7 +82,6 @@ using namespace libtorrent;
|
||||||
QBtSession* QBtSession::m_instance = 0;
|
QBtSession* QBtSession::m_instance = 0;
|
||||||
|
|
||||||
const int MAX_TRACKER_ERRORS = 2;
|
const int MAX_TRACKER_ERRORS = 2;
|
||||||
const qreal MAX_RATIO = 100.;
|
|
||||||
enum VersionType { NORMAL,ALPHA,BETA,RELEASE_CANDIDATE,DEVEL };
|
enum VersionType { NORMAL,ALPHA,BETA,RELEASE_CANDIDATE,DEVEL };
|
||||||
|
|
||||||
// Main constructor
|
// Main constructor
|
||||||
|
@ -1442,12 +1441,12 @@ qreal QBtSession::getRealRatio(QString hash) const{
|
||||||
if(h.total_done() == 0) {
|
if(h.total_done() == 0) {
|
||||||
if(h.all_time_upload() == 0)
|
if(h.all_time_upload() == 0)
|
||||||
return 0;
|
return 0;
|
||||||
return 101;
|
return MAX_RATIO+1;
|
||||||
}
|
}
|
||||||
qreal ratio = (float)h.all_time_upload()/(float)h.total_done();
|
qreal ratio = (float)h.all_time_upload()/(float)h.total_done();
|
||||||
Q_ASSERT(ratio >= 0.);
|
Q_ASSERT(ratio >= 0.);
|
||||||
if(ratio > 100.)
|
if(ratio > MAX_RATIO)
|
||||||
ratio = 100.;
|
ratio = MAX_RATIO;
|
||||||
return ratio;
|
return ratio;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -65,6 +65,9 @@ class QBtSession : public QObject {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
Q_DISABLE_COPY(QBtSession)
|
Q_DISABLE_COPY(QBtSession)
|
||||||
|
|
||||||
|
public:
|
||||||
|
static const qreal MAX_RATIO = 9999.;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
explicit QBtSession();
|
explicit QBtSession();
|
||||||
static QBtSession* m_instance;
|
static QBtSession* m_instance;
|
||||||
|
|
|
@ -41,6 +41,7 @@
|
||||||
#include <QDateTime>
|
#include <QDateTime>
|
||||||
#include "misc.h"
|
#include "misc.h"
|
||||||
#include "torrentmodel.h"
|
#include "torrentmodel.h"
|
||||||
|
#include "qbtsession.h"
|
||||||
|
|
||||||
#ifdef Q_WS_WIN
|
#ifdef Q_WS_WIN
|
||||||
#include <QPlastiqueStyle>
|
#include <QPlastiqueStyle>
|
||||||
|
@ -155,7 +156,7 @@ public:
|
||||||
QItemDelegate::drawBackground(painter, opt, index);
|
QItemDelegate::drawBackground(painter, opt, index);
|
||||||
opt.displayAlignment = Qt::AlignRight;
|
opt.displayAlignment = Qt::AlignRight;
|
||||||
const qreal ratio = index.data().toDouble();
|
const qreal ratio = index.data().toDouble();
|
||||||
if(ratio > 100.)
|
if(ratio > QBtSession::MAX_RATIO)
|
||||||
QItemDelegate::drawDisplay(painter, opt, opt.rect, QString::fromUtf8("∞"));
|
QItemDelegate::drawDisplay(painter, opt, opt.rect, QString::fromUtf8("∞"));
|
||||||
else
|
else
|
||||||
QItemDelegate::drawDisplay(painter, opt, opt.rect, QString::number(ratio, 'f', 2));
|
QItemDelegate::drawDisplay(painter, opt, opt.rect, QString::number(ratio, 'f', 2));
|
||||||
|
|
Loading…
Reference in a new issue