[PATCH] Profile: Display VPM-B rather than GF when in VPM-B mode

Rick Walsh rickmwalsh at gmail.com
Sat Oct 24 03:31:47 PDT 2015


If we are planning a dive using VPM-B with +x conservatism, we want to
print "VPM-B +x" at the top of the profile, instead of "GF xx/yy".

Accordingly, the variable gradientFactor in profilewidget2.cpp is renamed
decoModelParameters to reflect what it represents.

Signed-off-by: Rick Walsh <rickmwalsh at gmail.com>
---
 qt-ui/profile/profilewidget2.cpp | 29 ++++++++++++++++-------------
 qt-ui/profile/profilewidget2.h   |  2 +-
 2 files changed, 17 insertions(+), 14 deletions(-)

diff --git a/qt-ui/profile/profilewidget2.cpp b/qt-ui/profile/profilewidget2.cpp
index 3ccd1bb..621bca2 100644
--- a/qt-ui/profile/profilewidget2.cpp
+++ b/qt-ui/profile/profilewidget2.cpp
@@ -87,7 +87,7 @@ ProfileWidget2::ProfileWidget2(QWidget *parent) : QGraphicsView(parent),
 	gasPressureItem(new DiveGasPressureItem()),
 	diveComputerText(new DiveTextItem()),
 	diveCeiling(new DiveCalculatedCeiling()),
-	gradientFactor(new DiveTextItem()),
+	decoModelParameters(new DiveTextItem()),
 	reportedCeiling(new DiveReportedCeiling()),
 	pn2GasItem(new PartialPressureGasItem()),
 	pheGasItem(new PartialPressureGasItem()),
@@ -204,7 +204,7 @@ void ProfileWidget2::addItemsToScene()
 	diveComputerText->setData(SUBSURFACE_OBJ_DATA, SUBSURFACE_OBJ_DC_TEXT);
 	scene()->addItem(diveComputerText);
 	scene()->addItem(diveCeiling);
-	scene()->addItem(gradientFactor);
+	scene()->addItem(decoModelParameters);
 	scene()->addItem(reportedCeiling);
 	scene()->addItem(pn2GasItem);
 	scene()->addItem(pheGasItem);
@@ -288,11 +288,11 @@ void ProfileWidget2::setupItemOnScene()
 	rulerItem->setAxis(timeAxis, profileYAxis);
 	tankItem->setHorizontalAxis(timeAxis);
 
-	// show the gradient factor at the top in the center
-	gradientFactor->setY(0);
-	gradientFactor->setX(50);
-	gradientFactor->setBrush(getColor(PRESSURE_TEXT));
-	gradientFactor->setAlignment(Qt::AlignHCenter | Qt::AlignBottom);
+	// show the deco model parameters at the top in the center
+	decoModelParameters->setY(0);
+	decoModelParameters->setX(50);
+	decoModelParameters->setBrush(getColor(PRESSURE_TEXT));
+	decoModelParameters->setAlignment(Qt::AlignHCenter | Qt::AlignBottom);
 
 	setupItem(reportedCeiling, timeAxis, profileYAxis, dataModel, DivePlotDataModel::CEILING, DivePlotDataModel::TIME, 1);
 	setupItem(diveCeiling, timeAxis, profileYAxis, dataModel, DivePlotDataModel::CEILING, DivePlotDataModel::TIME, 1);
@@ -509,7 +509,7 @@ void ProfileWidget2::plotDive(struct dive *d, bool force)
 
 		// this copies the dive and makes copies of all the relevant additional data
 		copy_dive(d, &displayed_dive);
-		gradientFactor->setText(QString("GF %1/%2").arg(prefs.gflow).arg(prefs.gfhigh));
+		decoModelParameters->setText(QString("GF %1/%2").arg(prefs.gflow).arg(prefs.gfhigh));
 	} else {
 		DivePlannerPointsModel *plannerModel = DivePlannerPointsModel::instance();
 		plannerModel->createTemporaryPlan();
@@ -518,7 +518,10 @@ void ProfileWidget2::plotDive(struct dive *d, bool force)
 			plannerModel->deleteTemporaryPlan();
 			return;
 		}
-		gradientFactor->setText(QString("GF %1/%2").arg(diveplan.gflow).arg(diveplan.gfhigh));
+		if (currentState == PLAN && prefs.deco_mode == VPMB)
+			decoModelParameters->setText(QString("VPM-B +%1").arg(prefs.conservatism_level));
+		else
+			decoModelParameters->setText(QString("GF %1/%2").arg(prefs.gflow).arg(prefs.gfhigh));
 	}
 
 	// special handling for the first time we display things
@@ -926,7 +929,7 @@ void ProfileWidget2::setEmptyState()
 	toolTipItem->setVisible(false);
 	diveComputerText->setVisible(false);
 	diveCeiling->setVisible(false);
-	gradientFactor->setVisible(false);
+	decoModelParameters->setVisible(false);
 	reportedCeiling->setVisible(false);
 	rulerItem->setVisible(false);
 	tankItem->setVisible(false);
@@ -1053,7 +1056,7 @@ void ProfileWidget2::setProfileState()
 	diveComputerText->setPos(itemPos.dcLabel.on);
 
 	diveCeiling->setVisible(prefs.calcceiling);
-	gradientFactor->setVisible(prefs.calcceiling);
+	decoModelParameters->setVisible(prefs.calcceiling);
 	reportedCeiling->setVisible(prefs.dcceiling);
 
 	if (prefs.calcalltissues) {
@@ -1131,7 +1134,7 @@ void ProfileWidget2::setAddState()
 	/* show the same stuff that the profile shows. */
 	currentState = ADD; /* enable the add state. */
 	diveCeiling->setVisible(true);
-	gradientFactor->setVisible(true);
+	decoModelParameters->setVisible(true);
 	setBackgroundBrush(QColor("#A7DCFF"));
 }
 
@@ -1165,7 +1168,7 @@ void ProfileWidget2::setPlanState()
 	/* show the same stuff that the profile shows. */
 	currentState = PLAN; /* enable the add state. */
 	diveCeiling->setVisible(true);
-	gradientFactor->setVisible(true);
+	decoModelParameters->setVisible(true);
 	setBackgroundBrush(QColor("#D7E3EF"));
 }
 
diff --git a/qt-ui/profile/profilewidget2.h b/qt-ui/profile/profilewidget2.h
index 2d1a7bf..23e9398 100644
--- a/qt-ui/profile/profilewidget2.h
+++ b/qt-ui/profile/profilewidget2.h
@@ -171,7 +171,7 @@ private:
 	QList<DiveEventItem *> eventItems;
 	DiveTextItem *diveComputerText;
 	DiveCalculatedCeiling *diveCeiling;
-	DiveTextItem *gradientFactor;
+	DiveTextItem *decoModelParameters;
 	QList<DiveCalculatedTissue *> allTissues;
 	DiveReportedCeiling *reportedCeiling;
 	PartialPressureGasItem *pn2GasItem;
-- 
2.4.3



More information about the subsurface mailing list