diff options
author | Tomaz Canabrava <tcanabrava@kde.org> | 2014-01-27 17:09:08 -0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2014-01-28 11:31:18 -0800 |
commit | 9f6ebf96a73c9663ea20a8c3e245bc3d9a4f3747 (patch) | |
tree | e9f4392b6fc3d54154c5cf546041271285ecda9c /qt-ui/profile/profilewidget2.cpp | |
parent | 7a07665d89aa26d37a8aa8defd20cbe1a569c874 (diff) | |
download | subsurface-9f6ebf96a73c9663ea20a8c3e245bc3d9a4f3747.tar.gz |
Use the same behavior as the old time markers
This commit adds the same behavior for the old time markers on the new
ones.
Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui/profile/profilewidget2.cpp')
-rw-r--r-- | qt-ui/profile/profilewidget2.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/qt-ui/profile/profilewidget2.cpp b/qt-ui/profile/profilewidget2.cpp index 007ca8a68..3a65fdd66 100644 --- a/qt-ui/profile/profilewidget2.cpp +++ b/qt-ui/profile/profilewidget2.cpp @@ -387,6 +387,23 @@ void ProfileWidget2::plotDives(QList<dive*> dives) temperatureAxis->setMinimum(pInfo.mintemp); temperatureAxis->setMaximum(pInfo.maxtemp); timeAxis->setMaximum(maxtime); + + int i, incr; + static int increments[8] = { 10, 20, 30, 60, 5*60, 10*60, 15*60, 30*60 }; + /* Time markers: at most every 10 seconds, but no more than 12 markers. + * We start out with 10 seconds and increment up to 30 minutes, + * depending on the dive time. + * This allows for 6h dives - enough (I hope) for even the craziest + * divers - but just in case, for those 8h depth-record-breaking dives, + * we double the interval if this still doesn't get us to 12 or fewer + * time markers */ + i = 0; + while (i < 7 && maxtime / increments[i] > 12) + i++; + incr = increments[i]; + while (maxtime / incr > 12) + incr *= 2; + timeAxis->setTickInterval(incr); timeAxis->updateTicks(); cylinderPressureAxis->setMinimum(pInfo.minpressure); cylinderPressureAxis->setMaximum(pInfo.maxpressure); |