Browse Source

fewer calls to hash()

adaptive-webui-19844
Ivan Sorokin 11 years ago
parent
commit
bbc4080a5d
  1. 2
      src/properties/propertieswidget.cpp
  2. 5
      src/qtlibtorrent/qbtsession.cpp
  3. 2
      src/qtlibtorrent/qbtsession.h
  4. 4
      src/qtlibtorrent/torrentmodel.cpp
  5. 4
      src/webui/btjson.cpp

2
src/properties/propertieswidget.cpp

@ -335,7 +335,7 @@ void PropertiesWidget::loadDynamicData() { @@ -335,7 +335,7 @@ void PropertiesWidget::loadDynamicData() {
// Update next announce time
reannounce_lbl->setText(h.next_announce());
// Update ratio info
const qreal ratio = QBtSession::instance()->getRealRatio(h.hash());
const qreal ratio = QBtSession::instance()->getRealRatio(h);
shareRatio->setText(ratio > QBtSession::MAX_RATIO ? QString::fromUtf8("") : misc::accurateDoubleToString(ratio, 2));
if (!h.is_seed() && h.has_metadata()) {
showPiecesDownloaded(true);

5
src/qtlibtorrent/qbtsession.cpp

@ -220,7 +220,7 @@ void QBtSession::processBigRatios() { @@ -220,7 +220,7 @@ void QBtSession::processBigRatios() {
if (!h.is_valid()) continue;
if (h.is_seed()) {
const QString hash = h.hash();
const qreal ratio = getRealRatio(hash);
const qreal ratio = getRealRatio(h);
qreal ratio_limit = TorrentPersistentData::getRatioLimit(hash);
if (ratio_limit == TorrentPersistentData::USE_GLOBAL_RATIO)
ratio_limit = global_ratio_limit;
@ -1556,8 +1556,7 @@ bool QBtSession::enableDHT(bool b) { @@ -1556,8 +1556,7 @@ bool QBtSession::enableDHT(bool b) {
return true;
}
qreal QBtSession::getRealRatio(const QString &hash) const {
QTorrentHandle h = getTorrentHandle(hash);
qreal QBtSession::getRealRatio(QTorrentHandle h) const {
if (!h.is_valid()) {
return 0.;
}

2
src/qtlibtorrent/qbtsession.h

@ -92,7 +92,7 @@ public: @@ -92,7 +92,7 @@ public:
qreal getPayloadUploadRate() const;
libtorrent::session_status getSessionStatus() const;
int getListenPort() const;
qreal getRealRatio(const QString& hash) const;
qreal getRealRatio(QTorrentHandle h) const;
QHash<QString, TrackerInfos> getTrackersInfo(const QString &hash) const;
bool hasActiveTorrents() const;
bool hasDownloadingTorrents() const;

4
src/qtlibtorrent/torrentmodel.cpp

@ -191,10 +191,10 @@ QVariant TorrentModelItem::data(int column, int role) const @@ -191,10 +191,10 @@ QVariant TorrentModelItem::data(int column, int role) const
case TR_ETA: {
// XXX: Is this correct?
if (m_torrent.is_paused() || m_torrent.is_queued()) return MAX_ETA;
return QBtSession::instance()->getETA(m_torrent.hash());
return QBtSession::instance()->getETA(m_hash);
}
case TR_RATIO:
return QBtSession::instance()->getRealRatio(m_torrent.hash());
return QBtSession::instance()->getRealRatio(m_torrent);
case TR_LABEL:
return m_label;
case TR_ADD_DATE:

4
src/webui/btjson.cpp

@ -143,7 +143,7 @@ static JsonDict toJson(const QTorrentHandle& h) @@ -143,7 +143,7 @@ static JsonDict toJson(const QTorrentHandle& h)
if (h.num_incomplete() > 0)
leechs += " ("+QString::number(h.num_incomplete())+")";
ret.add(KEY_TORRENT_LEECHS, leechs);
const qreal ratio = QBtSession::instance()->getRealRatio(h.hash());
const qreal ratio = QBtSession::instance()->getRealRatio(h);
ret.add(KEY_TORRENT_RATIO, (ratio > 100.) ? QString::fromUtf8("") : misc::accurateDoubleToString(ratio, 1));
QString eta;
QString state;
@ -305,7 +305,7 @@ QString btjson::getPropertiesForTorrent(const QString& hash) @@ -305,7 +305,7 @@ QString btjson::getPropertiesForTorrent(const QString& hash)
elapsed_txt += " ("+tr("Seeded for %1", "e.g. Seeded for 3m10s").arg(misc::userFriendlyDuration(h.seeding_time()))+")";
data.add(KEY_PROP_TIME_ELAPSED, elapsed_txt);
data.add(KEY_PROP_CONNECT_COUNT, QString(QString::number(h.num_connections()) + " (" + tr("%1 max", "e.g. 10 max").arg(QString::number(h.connections_limit())) + ")"));
const qreal ratio = QBtSession::instance()->getRealRatio(h.hash());
const qreal ratio = QBtSession::instance()->getRealRatio(h);
data.add(KEY_PROP_RATIO, ratio > 100. ? QString::fromUtf8("") : misc::accurateDoubleToString(ratio, 1));
} catch(const std::exception& e) {
qWarning() << Q_FUNC_INFO << "Invalid torrent: " << e.what();

Loading…
Cancel
Save