1
0
mirror of https://github.com/tumic0/GPXSee.git synced 2025-07-18 21:04:24 +02:00

Added distance & time info

This commit is contained in:
2015-10-14 02:54:36 +02:00
parent 7e2b27acf1
commit da42f3ab33
5 changed files with 96 additions and 41 deletions

View File

@ -20,6 +20,18 @@
#include <QDebug>
static QString timeSpan(qreal time)
{
unsigned h, m, s;
h = time / 3600;
m = (time - (h * 3600)) / 60;
s = time - (h * 3600) - (m * 60);
return QString("%1:%2:%3").arg(h).arg(m, 2, 10, QChar('0'))
.arg(s,2, 10, QChar('0'));
}
GUI::GUI()
{
createActions();
@ -47,6 +59,8 @@ GUI::GUI()
_dirIndex = -1;
_files = 0;
_distance = 0;
_time = 0;
resize(600, 800);
}
@ -164,12 +178,15 @@ void GUI::createTrackGraphs()
void GUI::createStatusBar()
{
_fileName = new QLabel();
_zoom = new QLabel();
_zoom->setAlignment(Qt::AlignHCenter);
_fileNameLabel = new QLabel();
_distanceLabel = new QLabel();
_timeLabel = new QLabel();
_distanceLabel->setAlignment(Qt::AlignHCenter);
_timeLabel->setAlignment(Qt::AlignHCenter);
statusBar()->addPermanentWidget(_fileName, 9);
statusBar()->addPermanentWidget(_zoom, 1);
statusBar()->addPermanentWidget(_fileNameLabel, 8);
statusBar()->addPermanentWidget(_distanceLabel, 1);
statusBar()->addPermanentWidget(_timeLabel, 1);
statusBar()->setSizeGripEnabled(false);
}
@ -220,9 +237,14 @@ bool GUI::openFile(const QString &fileName)
_fileActionGroup->setEnabled(true);
if (++_files > 1)
_fileName->setText(tr("%1 tracks").arg(_files));
_fileNameLabel->setText(tr("%1 tracks").arg(_files));
else
_fileName->setText(fileName);
_fileNameLabel->setText(fileName);
_distance += gpx.distance();
_distanceLabel->setText(QString::number(_distance / 1000, 'f', 1)
+ " " + tr("km"));
_time += gpx.time();
_timeLabel->setText(timeSpan(_time));
return true;
} else {
@ -289,11 +311,15 @@ void GUI::saveFile(const QString &fileName)
void GUI::closeFile()
{
_files = 0;
_distance = 0;
_time = 0;
_elevationGraph->clear();
_speedGraph->clear();
_track->clear();
_fileName->clear();
_fileNameLabel->clear();
_distanceLabel->clear();
_timeLabel->clear();
_fileActionGroup->setEnabled(false);
}