mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 05:00:20 +00:00
Keep track of user requested minimum depth
When got auto-rescaling of the depth scale, always reset the depth scale to what the profile would suggest. This introduces a concept of user requested minimum witch we will update and not scale down to lower than. Reported-by: Henrik Brautaset Aronsen <henrik@synth.no> Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
a145c2e61a
commit
44848d5457
2 changed files with 8 additions and 4 deletions
|
@ -158,6 +158,7 @@ DivePlannerGraphics::DivePlannerGraphics(QWidget* parent): QGraphicsView(parent)
|
|||
scene()->addItem(depthHandler);
|
||||
|
||||
minMinutes = TIME_INITIAL_MAX;
|
||||
minDepth = M_OR_FT(40,120);
|
||||
QAction *action = NULL;
|
||||
|
||||
#define ADD_ACTION( SHORTCUT, Slot ) \
|
||||
|
@ -360,7 +361,8 @@ void DivePlannerGraphics::increaseDepth()
|
|||
{
|
||||
if (depthLine->maximum() + M_OR_FT(10,30) > MAX_DEPTH)
|
||||
return;
|
||||
depthLine->setMaximum( depthLine->maximum() + M_OR_FT(10,30));
|
||||
minDepth += M_OR_FT(10,30);
|
||||
depthLine->setMaximum( minDepth );
|
||||
depthLine->updateTicks();
|
||||
drawProfile();
|
||||
}
|
||||
|
@ -387,7 +389,8 @@ void DivePlannerGraphics::decreaseDepth()
|
|||
return;
|
||||
}
|
||||
}
|
||||
depthLine->setMaximum(depthLine->maximum() - M_OR_FT(10,30));
|
||||
minDepth -= M_OR_FT(10,30);
|
||||
depthLine->setMaximum( minDepth );
|
||||
depthLine->updateTicks();
|
||||
drawProfile();
|
||||
}
|
||||
|
@ -502,7 +505,7 @@ void DivePlannerGraphics::drawProfile()
|
|||
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));
|
||||
double newMax = fmax(max_depth + M_OR_FT(10,30), minDepth);
|
||||
depthLine->setMaximum(newMax);
|
||||
depthLine->updateTicks();
|
||||
}
|
||||
|
|
|
@ -221,7 +221,8 @@ private:
|
|||
ExpanderGraphics *depthHandler;
|
||||
ExpanderGraphics *timeHandler;
|
||||
|
||||
int minMinutes; // this holds the minimum duration of the dive.
|
||||
int minMinutes; // this holds the minimum requested window time
|
||||
int minDepth; // this holds the minimum requested window depth
|
||||
int dpMaxTime; // this is the time of the dive calculated by the deco.
|
||||
|
||||
friend class DiveHandler;
|
||||
|
|
Loading…
Reference in a new issue