mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Profile heartrate: Nicer min/max values and tic distance
Correct a bug in finding the minimum heartrate. Use the minimum and maximum heartrate value to set min/max and tic distance for the heartrate axis in the profile. Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
This commit is contained in:
parent
ea7f49031d
commit
b38eb45b29
2 changed files with 16 additions and 4 deletions
|
@ -439,7 +439,7 @@ struct plot_info calculate_max_limits_new(struct dive *dive, struct divecomputer
|
|||
maxpressure = pressure;
|
||||
if (heartbeat > maxhr)
|
||||
maxhr = heartbeat;
|
||||
if (heartbeat < minhr)
|
||||
if (heartbeat && heartbeat < minhr)
|
||||
minhr = heartbeat;
|
||||
|
||||
if (depth > maxdepth)
|
||||
|
@ -469,7 +469,7 @@ struct plot_info calculate_max_limits_new(struct dive *dive, struct divecomputer
|
|||
if (minpressure > maxpressure)
|
||||
minpressure = 0;
|
||||
if (minhr > maxhr)
|
||||
minhr = 0;
|
||||
minhr = maxhr;
|
||||
|
||||
memset(&pi, 0, sizeof(pi));
|
||||
pi.maxdepth = maxdepth;
|
||||
|
|
|
@ -644,8 +644,20 @@ void ProfileWidget2::plotDive(struct dive *d, bool force)
|
|||
|
||||
#ifndef SUBSURFACE_MOBILE
|
||||
if (plotInfo.maxhr) {
|
||||
heartBeatAxis->setMinimum(plotInfo.minhr);
|
||||
heartBeatAxis->setMaximum(plotInfo.maxhr);
|
||||
int heartBeatAxisMin = lrint(plotInfo.minhr / 5.0 - 0.5) * 5;
|
||||
int heartBeatAxisMax, heartBeatAxisTick;
|
||||
if (plotInfo.maxhr - plotInfo.minhr < 40)
|
||||
heartBeatAxisTick = 10;
|
||||
else if (plotInfo.maxhr - plotInfo.minhr < 80)
|
||||
heartBeatAxisTick = 20;
|
||||
else if (plotInfo.maxhr - plotInfo.minhr < 100)
|
||||
heartBeatAxisTick = 25;
|
||||
else
|
||||
heartBeatAxisTick = 50;
|
||||
for (heartBeatAxisMax = heartBeatAxisMin; heartBeatAxisMax < plotInfo.maxhr; heartBeatAxisMax += heartBeatAxisTick);
|
||||
heartBeatAxis->setMinimum(heartBeatAxisMin);
|
||||
heartBeatAxis->setMaximum(heartBeatAxisMax + 1);
|
||||
heartBeatAxis->setTickInterval(heartBeatAxisTick);
|
||||
heartBeatAxis->updateTicks(HR_AXIS); // this shows the ticks
|
||||
}
|
||||
heartBeatAxis->setVisible(prefs.hrgraph && plotInfo.maxhr);
|
||||
|
|
Loading…
Add table
Reference in a new issue