From e0ac1c9a26c6f82a42dea3d25bd0c8bd2a68ceb6 Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Wed, 20 Apr 2016 15:12:53 -0700 Subject: 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 Signed-off-by: Dirk Hohndel --- profile-widget/diveprofileitem.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'profile-widget') diff --git a/profile-widget/diveprofileitem.cpp b/profile-widget/diveprofileitem.cpp index d62c35f93..9ea90ea2f 100644 --- a/profile-widget/diveprofileitem.cpp +++ b/profile-widget/diveprofileitem.cpp @@ -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; } -- cgit v1.2.3-70-g09d2