[PATCH] Keep track of user requested minimum depth

Henrik Brautaset Aronsen subsurface at henrik.synth.no
Sun Dec 8 05:54:19 UTC 2013


Ack.

Anton Lundin wrote:
> 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 at synth.no>
> ---
>   qt-ui/diveplanner.cpp | 9 ++++++---
>   qt-ui/diveplanner.h   | 3 ++-
>   2 files changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/qt-ui/diveplanner.cpp b/qt-ui/diveplanner.cpp
> index ad4f600..2abf68f 100644
> --- a/qt-ui/diveplanner.cpp
> +++ b/qt-ui/diveplanner.cpp
> @@ -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();
>   	}
> diff --git a/qt-ui/diveplanner.h b/qt-ui/diveplanner.h
> index b5c78a9..0241bc6 100644
> --- a/qt-ui/diveplanner.h
> +++ b/qt-ui/diveplanner.h
> @@ -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;


More information about the subsurface mailing list