Fix 3-, 6- and 9-minute min/max calculations

Make them use indices into the plot-info, fix calculation of average
depth, and fix and add comments.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Linus Torvalds 2016-04-20 15:12:53 -07:00 committed by Dirk Hohndel
parent d7103f97f7
commit e0ac1c9a26
3 changed files with 61 additions and 36 deletions

View file

@ -225,17 +225,21 @@ void DiveProfileItem::modelDataChanged(const QModelIndex &topLeft, const QModelI
int last = -1;
for (int i = 0, count = dataModel->rowCount(); i < count; i++) {
struct plot_data *pd = dataModel->data().entry;
struct plot_data *entry = pd + i;
// "min/max[2]" are the 9-minute window min/max indices
struct plot_data *min_entry = pd + entry->min[2];
struct plot_data *max_entry = pd + entry->max[2];
struct plot_data *entry = dataModel->data().entry + i;
if (entry->depth < 2000)
continue;
if ((entry == entry->max[2]) && entry->depth / 100 != last) {
if ((entry == max_entry) && entry->depth / 100 != last) {
plot_depth_sample(entry, Qt::AlignHCenter | Qt::AlignBottom, getColor(SAMPLE_DEEP));
last = entry->depth / 100;
}
if ((entry == entry->min[2]) && entry->depth / 100 != last) {
if ((entry == min_entry) && entry->depth / 100 != last) {
plot_depth_sample(entry, Qt::AlignHCenter | Qt::AlignTop, getColor(SAMPLE_SHALLOW));
last = entry->depth / 100;
}