aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dive.h1
-rw-r--r--planner.c1
-rw-r--r--qt-ui/diveplanner.cpp13
-rw-r--r--qt-ui/diveplanner.h2
-rw-r--r--qt-ui/diveplanner.ui98
5 files changed, 86 insertions, 29 deletions
diff --git a/dive.h b/dive.h
index 70c418706..482af6fa7 100644
--- a/dive.h
+++ b/dive.h
@@ -766,6 +766,7 @@ struct diveplan {
int surface_pressure; /* mbar */
int bottomsac; /* ml/min */
int decosac; /* ml/min */
+ int salinity;
short gflow;
short gfhigh;
struct divedatapoint *dp;
diff --git a/planner.c b/planner.c
index a4181907e..6f09b8e5f 100644
--- a/planner.c
+++ b/planner.c
@@ -259,6 +259,7 @@ static void create_dive_from_plan(struct diveplan *diveplan, bool track_gas)
printf("in create_dive_from_plan\n");
dump_plan(diveplan);
#endif
+ displayed_dive.salinity = diveplan->salinity;
// reset the cylinders and clear out the samples and events of the
// displayed dive so we can restart
reset_cylinders(&displayed_dive, track_gas);
diff --git a/qt-ui/diveplanner.cpp b/qt-ui/diveplanner.cpp
index d825c6e84..b8d251c2c 100644
--- a/qt-ui/diveplanner.cpp
+++ b/qt-ui/diveplanner.cpp
@@ -297,6 +297,7 @@ DivePlannerWidget::DivePlannerWidget(QWidget *parent, Qt::WindowFlags f) : QWidg
connect(ui.dateEdit, SIGNAL(dateChanged(QDate)), plannerModel, SLOT(setStartDate(QDate)));
connect(ui.ATMPressure, SIGNAL(valueChanged(int)), this, SLOT(atmPressureChanged(int)));
connect(ui.atmHeight, SIGNAL(valueChanged(int)), this, SLOT(heightChanged(int)));
+ connect(ui.salinity, SIGNAL(valueChanged(double)), this, SLOT(salinityChanged(double)));
connect(DivePlannerPointsModel::instance(), SIGNAL(startTimeChanged(QDateTime)), this, SLOT(setupStartTime(QDateTime)));
// Creating (and canceling) the plan
@@ -367,6 +368,12 @@ void DivePlannerWidget::heightChanged(const int height)
plannerModel->setSurfacePressure(pressure);
}
+void DivePlannerWidget::salinityChanged(const double salinity)
+{
+ /* Salinity is expressed in weight in grams per 10l */
+ plannerModel->setSalinity(10000 * salinity);
+}
+
void PlannerSettingsWidget::bottomSacChanged(const double bottomSac)
{
plannerModel->setBottomSac(bottomSac);
@@ -786,6 +793,12 @@ void DivePlannerPointsModel::setSurfacePressure(int pressure)
emit dataChanged(createIndex(0, 0), createIndex(rowCount() - 1, COLUMNS - 1));
}
+void DivePlannerPointsModel::setSalinity(int salinity)
+{
+ diveplan.salinity = salinity;
+ emit dataChanged(createIndex(0, 0), createIndex(rowCount() - 1, COLUMNS - 1));
+}
+
int DivePlannerPointsModel::getSurfacePressure()
{
return diveplan.surface_pressure;
diff --git a/qt-ui/diveplanner.h b/qt-ui/diveplanner.h
index c613ae210..bca0deb78 100644
--- a/qt-ui/diveplanner.h
+++ b/qt-ui/diveplanner.h
@@ -70,6 +70,7 @@ slots:
void setGFLow(const int ghflow);
void triggerGFLow();
void setSurfacePressure(int pressure);
+ void setSalinity(int salinity);
int getSurfacePressure();
void setBottomSac(double sac);
void setDecoSac(double sac);
@@ -146,6 +147,7 @@ slots:
void settingsChanged();
void atmPressureChanged(const int pressure);
void heightChanged(const int height);
+ void salinityChanged(const double salinity);
void printDecoPlan();
private:
diff --git a/qt-ui/diveplanner.ui b/qt-ui/diveplanner.ui
index 54abcc35a..0edd742fa 100644
--- a/qt-ui/diveplanner.ui
+++ b/qt-ui/diveplanner.ui
@@ -65,7 +65,7 @@
<property name="spacing">
<number>2</number>
</property>
- <item row="6" column="0" colspan="2">
+ <item row="5" column="0" colspan="3">
<widget class="TableView" name="tableWidget" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
@@ -81,7 +81,7 @@
</property>
</widget>
</item>
- <item row="5" column="0" colspan="2">
+ <item row="4" column="0" colspan="3">
<widget class="TableView" name="cylinderTableWidget" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
@@ -110,7 +110,30 @@
</property>
</widget>
</item>
+ <item row="1" column="0">
+ <widget class="QDateEdit" name="dateEdit">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="calendarPopup">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
<item row="1" column="1">
+ <widget class="QTimeEdit" name="startTime">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
<widget class="QDialogButtonBox" name="buttonBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
@@ -123,33 +146,6 @@
</property>
</widget>
</item>
- <item row="1" column="0">
- <layout class="QHBoxLayout" name="dateAndTime">
- <item>
- <widget class="QDateEdit" name="dateEdit">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="calendarPopup">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QTimeEdit" name="startTime">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- </layout>
- </item>
<item row="2" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
@@ -164,8 +160,21 @@
</property>
</widget>
</item>
+ <item row="2" column="2">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Salinity</string>
+ </property>
+ </widget>
+ </item>
<item row="3" column="1">
<widget class="QSpinBox" name="ATMPressure">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
<property name="suffix">
<string>mbar</string>
</property>
@@ -179,6 +188,12 @@
</item>
<item row="3" column="0">
<widget class="QSpinBox" name="atmHeight">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
<property name="suffix">
<string>m</string>
</property>
@@ -193,6 +208,31 @@
</property>
</widget>
</item>
+ <item row="3" column="2">
+ <widget class="QDoubleSpinBox" name="salinity">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="suffix">
+ <string> kg/ℓ</string>
+ </property>
+ <property name="minimum">
+ <double>1.000000000000000</double>
+ </property>
+ <property name="maximum">
+ <double>1.050000000000000</double>
+ </property>
+ <property name="singleStep">
+ <double>0.010000000000000</double>
+ </property>
+ <property name="value">
+ <double>1.030000000000000</double>
+ </property>
+ </widget>
+ </item>
</layout>
</widget>
</widget>