From 7f8c3592ce29d5fd4cd177d8e86ede9fdf3ab747 Mon Sep 17 00:00:00 2001 From: Stefan Fuchs Date: Sat, 11 Feb 2017 20:24:18 +0100 Subject: Minimum gas calculation - Calculations and UI parameters Add minimum gas calculation to planner output. Add the two UI parameters prefs.sacfactor and prefs.problemsolvingtime. Connect UI signals and slots for recalculation of diveplan. Disable minimum gas calculation if there was already a warning before. If minimum gas result is larger then cylinder start pressure give warning message instead of result. Add line break before pO2 warnings but only if warnings exist. Signed-off-by: Joachim Ritter Signed-off-by: Stefan Fuchs --- qt-models/diveplannermodel.cpp | 14 ++++++++++++++ qt-models/diveplannermodel.h | 2 ++ 2 files changed, 16 insertions(+) (limited to 'qt-models') diff --git a/qt-models/diveplannermodel.cpp b/qt-models/diveplannermodel.cpp index 616f1dadc..4a33b15c3 100644 --- a/qt-models/diveplannermodel.cpp +++ b/qt-models/diveplannermodel.cpp @@ -401,6 +401,20 @@ void DivePlannerPointsModel::setDecoSac(double sac) emitDataChanged(); } +void DivePlannerPointsModel::setSacFactor(double factor) +{ + auto planner = SettingsObjectWrapper::instance()->planner_settings; + planner->setSacFactor((int) round(factor * 100)); + emitDataChanged(); +} + +void DivePlannerPointsModel::setProblemSolvingTime(int minutes) +{ + auto planner = SettingsObjectWrapper::instance()->planner_settings; + planner->setProblemSolvingTime(minutes); + emitDataChanged(); +} + void DivePlannerPointsModel::setGFHigh(const int gfhigh) { tempGFHigh = gfhigh; diff --git a/qt-models/diveplannermodel.h b/qt-models/diveplannermodel.h index e9227f671..bc3458ffd 100644 --- a/qt-models/diveplannermodel.h +++ b/qt-models/diveplannermodel.h @@ -91,6 +91,8 @@ slots: void setReserveGas(int reserve); void setSwitchAtReqStop(bool value); void setMinSwitchDuration(int duration); + void setSacFactor(double factor); + void setProblemSolvingTime(int minutes); signals: void planCreated(); -- cgit v1.2.3-70-g09d2