aboutsummaryrefslogtreecommitdiffstats
path: root/qt-ui
diff options
context:
space:
mode:
authorGravatar Anton Lundin <glance@acc.umu.se>2013-12-07 16:25:38 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2013-12-07 08:02:34 -0800
commit4696354f4bcc34baba8f6fbfd1159ebe03366072 (patch)
treef29c554ed7598ac5b096dac0d07d8c811862138c /qt-ui
parentf9b7c5dfe9d07b69f6b063cf7102922aa7e17746 (diff)
downloadsubsurface-4696354f4bcc34baba8f6fbfd1159ebe03366072.tar.gz
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 <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui')
-rw-r--r--qt-ui/diveplanner.cpp12
1 files changed, 11 insertions, 1 deletions
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;