From 4696354f4bcc34baba8f6fbfd1159ebe03366072 Mon Sep 17 00:00:00 2001 From: Anton Lundin Date: Sat, 7 Dec 2013 16:25:38 +0100 Subject: Adapt depth-scale to current way points If the scale is too big or too small, adapt the scale automatically. Signed-off-by: Anton Lundin Signed-off-by: Dirk Hohndel --- qt-ui/diveplanner.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'qt-ui') diff --git a/qt-ui/diveplanner.cpp b/qt-ui/diveplanner.cpp index 5efb7aaed..a66256a6f 100644 --- a/qt-ui/diveplanner.cpp +++ b/qt-ui/diveplanner.cpp @@ -484,18 +484,28 @@ void DivePlannerGraphics::drawProfile() plannerModel->createTemporaryPlan(); struct diveplan diveplan = plannerModel->getDiveplan(); struct divedatapoint *dp = diveplan.dp; + unsigned int max_depth = 0; + if (!dp) { plannerModel->deleteTemporaryPlan(); return; } - while(dp->next) + while(dp->next) { + if (dp->depth > max_depth) + max_depth = dp->depth; dp = dp->next; + } if (!activeDraggedHandler && (timeLine->maximum() < dp->time / 60.0 + 5 || dp->time / 60.0 + 15 < timeLine->maximum())) { double newMax = fmax(dp->time / 60.0 + 5, minMinutes); timeLine->setMaximum(newMax); timeLine->updateTicks(); } + if (!activeDraggedHandler && (depthLine->maximum() < max_depth + M_OR_FT(10,30) || max_depth + M_OR_FT(10,30) < depthLine->maximum())) { + double newMax = fmax(max_depth + M_OR_FT(10,30), M_OR_FT(40,120)); + depthLine->setMaximum(newMax); + depthLine->updateTicks(); + } // Re-position the user generated dive handlers int last = 0; -- cgit v1.2.3-70-g09d2