2009-04-09 18:55:47 +00:00
|
|
|
/*
|
2014-01-19 01:09:44 +00:00
|
|
|
* This file Copyright (C) 2009-2014 Mnemosyne LLC
|
2009-04-09 18:55:47 +00:00
|
|
|
*
|
2014-12-21 23:49:39 +00:00
|
|
|
* It may be used under the GNU GPL versions 2 or 3
|
2014-01-19 01:09:44 +00:00
|
|
|
* or any future license endorsed by Mnemosyne LLC.
|
2009-04-09 18:55:47 +00:00
|
|
|
*
|
2009-05-31 19:33:48 +00:00
|
|
|
* $Id$
|
2009-04-09 18:55:47 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
#include <QTimer>
|
|
|
|
|
2010-07-03 01:10:36 +00:00
|
|
|
#include "formatter.h"
|
2009-04-09 18:55:47 +00:00
|
|
|
#include "session.h"
|
|
|
|
#include "stats-dialog.h"
|
|
|
|
|
|
|
|
enum
|
|
|
|
{
|
2013-02-03 19:40:20 +00:00
|
|
|
REFRESH_INTERVAL_MSEC = (15*1000)
|
2009-04-09 18:55:47 +00:00
|
|
|
};
|
|
|
|
|
2014-12-12 23:05:10 +00:00
|
|
|
StatsDialog::StatsDialog (Session& session, QWidget * parent):
|
2013-02-03 19:40:20 +00:00
|
|
|
QDialog (parent, Qt::Dialog),
|
|
|
|
mySession (session),
|
|
|
|
myTimer (new QTimer (this))
|
2009-04-09 18:55:47 +00:00
|
|
|
{
|
2014-12-21 13:57:15 +00:00
|
|
|
ui.setupUi (this);
|
2009-04-09 18:55:47 +00:00
|
|
|
|
2014-12-21 13:57:15 +00:00
|
|
|
myTimer->setSingleShot (false);
|
|
|
|
connect (myTimer, SIGNAL (timeout ()), &mySession, SLOT (refreshSessionStats ()));
|
2009-04-09 18:55:47 +00:00
|
|
|
|
2013-02-03 19:40:20 +00:00
|
|
|
connect (&mySession, SIGNAL (statsUpdated ()), this, SLOT (updateStats ()));
|
|
|
|
updateStats ();
|
|
|
|
mySession.refreshSessionStats ();
|
2009-04-09 18:55:47 +00:00
|
|
|
}
|
|
|
|
|
2014-12-12 23:05:10 +00:00
|
|
|
StatsDialog::~StatsDialog ()
|
2009-04-09 18:55:47 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
void
|
2014-12-12 23:05:10 +00:00
|
|
|
StatsDialog::setVisible (bool visible)
|
2009-04-09 18:55:47 +00:00
|
|
|
{
|
2013-02-03 19:40:20 +00:00
|
|
|
myTimer->stop ();
|
|
|
|
if (visible)
|
|
|
|
myTimer->start (REFRESH_INTERVAL_MSEC);
|
|
|
|
QDialog::setVisible (visible);
|
2009-04-09 18:55:47 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void
|
2014-12-12 23:05:10 +00:00
|
|
|
StatsDialog::updateStats ()
|
2009-04-09 18:55:47 +00:00
|
|
|
{
|
2014-12-12 23:21:04 +00:00
|
|
|
const tr_session_stats& current (mySession.getStats ());
|
|
|
|
const tr_session_stats& total (mySession.getCumulativeStats ());
|
2009-04-09 18:55:47 +00:00
|
|
|
|
2014-12-21 13:57:15 +00:00
|
|
|
ui.currentUploadedValueLabel->setText (Formatter::sizeToString (current.uploadedBytes));
|
|
|
|
ui.currentDownloadedValueLabel->setText (Formatter::sizeToString (current.downloadedBytes));
|
|
|
|
ui.currentRatioValueLabel->setText (Formatter::ratioToString (current.ratio));
|
|
|
|
ui.currentDurationValueLabel->setText (Formatter::timeToString (current.secondsActive));
|
2009-04-09 18:55:47 +00:00
|
|
|
|
2014-12-21 13:57:15 +00:00
|
|
|
ui.totalUploadedValueLabel->setText (Formatter::sizeToString (total.uploadedBytes));
|
|
|
|
ui.totalDownloadedValueLabel->setText (Formatter::sizeToString (total.downloadedBytes));
|
|
|
|
ui.totalRatioValueLabel->setText (Formatter::ratioToString (total.ratio));
|
|
|
|
ui.totalDurationValueLabel->setText (Formatter::timeToString (total.secondsActive));
|
2009-04-09 18:55:47 +00:00
|
|
|
|
2014-12-21 13:57:15 +00:00
|
|
|
ui.startCountLabel->setText (tr ("Started %n time(s)", 0, total.sessionCount));
|
2009-04-09 18:55:47 +00:00
|
|
|
}
|