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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

@ -294,7 +294,6 @@
<file>Icons/oxygen/network-server.png</file>
<file>Icons/oxygen/network-wired.png</file>
<file>Icons/oxygen/object-locked.png</file>
<file>Icons/oxygen/office-chart-bar.png</file>
<file>Icons/oxygen/preferences-desktop.png</file>
<file>Icons/oxygen/preferences-other.png</file>
<file>Icons/oxygen/preferences-system-network.png</file>
@ -315,6 +314,7 @@
<file>Icons/oxygen/view-filter.png</file>
<file>Icons/oxygen/view-preview.png</file>
<file>Icons/oxygen/view-refresh.png</file>
<file>Icons/oxygen/view-statistics.png</file>
<file>Icons/oxygen/wallet-open.png</file>
<file>Icons/oxygen/webui.png</file>
<file>Icons/skin/arrow-right.gif</file>

View file

@ -127,7 +127,7 @@ MainWindow::MainWindow(QWidget *parent, const QStringList& torrentCmdLine) : QMa
actionSet_global_download_limit->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/download.png")));
actionCreate_torrent->setIcon(IconProvider::instance()->getIcon("document-edit"));
actionAbout->setIcon(IconProvider::instance()->getIcon("help-about"));
actionStatistics->setIcon(IconProvider::instance()->getIcon("office-chart-bar"));
actionStatistics->setIcon(IconProvider::instance()->getIcon("view-statistics"));
actionBugReport->setIcon(IconProvider::instance()->getIcon("tools-report-bug"));
actionDecreasePriority->setIcon(IconProvider::instance()->getIcon("go-down"));
actionDelete->setIcon(IconProvider::instance()->getIcon("list-remove"));

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