1. Use a better icon for stats dialog.

2. Use more reliable session_status.total_download/upload for statistics
This commit is contained in:
Nick Tiskov
2013-12-23 00:01:21 +04:00
committed by sledgehammer999
parent 1002e69e44
commit 20086543de
6 changed files with 12 additions and 8 deletions

View File

@@ -159,12 +159,12 @@ qlonglong TorrentSpeedMonitor::getETA(const QString &hash) const
quint64 TorrentSpeedMonitor::getAlltimeDL() const {
QMutexLocker l(&m_mutex);
return alltimeDL;
return alltimeDL + sessionDL;
}
quint64 TorrentSpeedMonitor::getAlltimeUL() const {
QMutexLocker l(&m_mutex);
return alltimeUL;
return alltimeUL + sessionUL;
}
void TorrentSpeedMonitor::getSamples()
@@ -184,18 +184,19 @@ void TorrentSpeedMonitor::getSamples()
int up = st.upload_payload_rate;
int down = st.download_payload_rate;
m_samples[misc::toQString(it->info_hash())].addSample(down, up);
alltimeDL += down;
alltimeUL += up;
}
} catch(invalid_handle&) {}
}
libtorrent::session_status ss = m_session->getSessionStatus();
sessionDL = ss.total_download;
sessionUL = ss.total_upload;
}
void TorrentSpeedMonitor::saveStats() const {
QIniSettings s;
QVariantHash v;
v.insert("AlltimeDL", alltimeDL);
v.insert("AlltimeUL", alltimeUL);
v.insert("AlltimeDL", alltimeDL + sessionDL);
v.insert("AlltimeUL", alltimeUL + sessionUL);
s.setValue("Stats/AllStats", v);
}
@@ -204,4 +205,5 @@ void TorrentSpeedMonitor::loadStats() {
QVariantHash v(s.value("Stats/AllStats", QVariantHash()).toHash());
alltimeDL = v["AlltimeDL"].toULongLong();
alltimeUL = v["AlltimeUL"].toULongLong();
sessionDL = sessionUL = 0;
}

View File

@@ -73,6 +73,8 @@ private:
// Will overflow at 15.9 EiB
quint64 alltimeUL;
quint64 alltimeDL;
quint64 sessionUL;
quint64 sessionDL;
};
#endif // TORRENTSPEEDMONITOR_H