Rearrange planner UI elements

This is my first attempt at grouping UI elements of the planner in a
sensible way.

It might still be sensible to combine the two bottom panes into one.

In addition there is a new field "altutude" which is sychronized with the
surface pressure as for planning we often know the altitude of the dive
site rather than the atmospheric pressure.

Signed-off-by: Robert C. Helling <helling@atdotde.de>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Robert Helling 2014-06-26 17:04:39 +02:00 committed by Dirk Hohndel
parent 5b5a25db78
commit d2a834b0cd
6 changed files with 628 additions and 543 deletions

View file

@ -241,6 +241,8 @@ void DiveHandler::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
DivePlannerWidget::DivePlannerWidget(QWidget *parent, Qt::WindowFlags f) : QWidget(parent, f)
{
ui.setupUi(this);
if (prefs.units.METERS == units::FEET)
ui.atmHeight->setSuffix("ft");
ui.tableWidget->setTitle(tr("Dive Planner Points"));
ui.tableWidget->setModel(DivePlannerPointsModel::instance());
DivePlannerPointsModel::instance()->setRecalc(true);
@ -270,18 +272,8 @@ DivePlannerWidget::DivePlannerWidget(QWidget *parent, Qt::WindowFlags f) : QWidg
ui.tableWidget->setBtnToolTip(tr("add dive data point"));
connect(ui.startTime, SIGNAL(timeChanged(QTime)), plannerModel, SLOT(setStartTime(QTime)));
connect(ui.ATMPressure, SIGNAL(textChanged(QString)), this, SLOT(atmPressureChanged(QString)));
connect(ui.bottomSAC, SIGNAL(valueChanged(int)), this, SLOT(bottomSacChanged(int)));
connect(ui.decoStopSAC, SIGNAL(valueChanged(int)), this, SLOT(decoSacChanged(int)));
connect(ui.gfhigh, SIGNAL(valueChanged(int)), plannerModel, SLOT(setGFHigh(int)));
connect(ui.gfhigh, SIGNAL(editingFinished()), plannerModel, SLOT(emitDataChanged()));
connect(ui.gflow, SIGNAL(valueChanged(int)), plannerModel, SLOT(setGFLow(int)));
connect(ui.gflow, SIGNAL(editingFinished()), plannerModel, SLOT(emitDataChanged()));
connect(ui.printPlan, SIGNAL(pressed()), this, SLOT(printDecoPlan()));
connect(ui.drop_stone_mode, SIGNAL(toggled(bool)), plannerModel, SLOT(setDropStoneMode(bool)));
#ifdef NO_PRINTING
ui.printPlan->hide();
#endif
connect(ui.ATMPressure, SIGNAL(valueChanged(int)), this, SLOT(atmPressureChanged(int)));
connect(ui.atmHeight, SIGNAL(valueChanged(int)), this, SLOT(heightChanged(int)));
// Creating (and canceling) the plan
connect(ui.buttonBox, SIGNAL(accepted()), plannerModel, SLOT(createPlan()));
@ -291,11 +283,8 @@ DivePlannerWidget::DivePlannerWidget(QWidget *parent, Qt::WindowFlags f) : QWidg
/* set defaults. */
ui.startTime->setTime(QTime(1, 0));
ui.ATMPressure->setText("1013");
ui.bottomSAC->setValue(20);
ui.decoStopSAC->setValue(17);
ui.gflow->setValue(prefs.gflow);
ui.gfhigh->setValue(prefs.gfhigh);
ui.ATMPressure->setValue(1013);
ui.atmHeight->setValue(0);
setMinimumWidth(0);
setMinimumHeight(0);
@ -311,9 +300,23 @@ void DivePlannerPointsModel::addCylinder_clicked()
CylindersModel::instance()->add();
}
void DivePlannerWidget::atmPressureChanged(const QString &pressure)
void DivePlannerWidget::atmPressureChanged(const int pressure)
{
plannerModel->setSurfacePressure(pressure.toInt());
const char *depthunit;
plannerModel->setSurfacePressure(pressure);
ui.atmHeight->blockSignals(true);
ui.atmHeight->setValue((int) get_depth_units((int)(log(1013.0 / pressure) * 7800000), NULL,NULL));
ui.atmHeight->blockSignals(false);
}
void DivePlannerWidget::heightChanged(const int height)
{
int pressure = (int) (1013.0 * exp(- (double) units_to_depth((double) height) / 7800000.0));
ui.ATMPressure->blockSignals(true);
ui.ATMPressure->setValue(pressure);
ui.ATMPressure->blockSignals(false);
plannerModel->setSurfacePressure(pressure);
}
void DivePlannerWidget::bottomSacChanged(const int bottomSac)
@ -350,6 +353,7 @@ PlannerSettingsWidget::PlannerSettingsWidget(QWidget *parent, Qt::WindowFlags f)
ui.bottompo2->setValue(prefs.bottompo2 / 1000.0);
ui.decopo2->setValue(prefs.decopo2 / 1000.0);
connect(ui.lastStop, SIGNAL(toggled(bool)), plannerModel, SLOT(setLastStop6m(bool)));
connect(ui.verbatim_plan, SIGNAL(toggled(bool)), plannerModel, SLOT(setVerbatim(bool)));
connect(ui.display_duration, SIGNAL(toggled(bool)), plannerModel, SLOT(setDisplayDuration(bool)));
@ -367,6 +371,18 @@ PlannerSettingsWidget::PlannerSettingsWidget(QWidget *parent, Qt::WindowFlags f)
connect(ui.descRate, SIGNAL(valueChanged(int)), plannerModel, SLOT(emitDataChanged()));
connect(ui.bottompo2, SIGNAL(valueChanged(double)), this, SLOT(setBottomPo2(double)));
connect(ui.decopo2, SIGNAL(valueChanged(double)), this, SLOT(setDecoPo2(double)));
connect(ui.drop_stone_mode, SIGNAL(toggled(bool)), plannerModel, SLOT(setDropStoneMode(bool)));
connect(ui.bottomSAC, SIGNAL(valueChanged(int)), this, SLOT(bottomSacChanged(int)));
connect(ui.decoStopSAC, SIGNAL(valueChanged(int)), this, SLOT(decoSacChanged(int)));
connect(ui.gfhigh, SIGNAL(valueChanged(int)), plannerModel, SLOT(setGFHigh(int)));
// connect(ui.gfhigh, SIGNAL(valueChanged()), plannerModel, SLOT(emitDataChanged()));
connect(ui.gflow, SIGNAL(valueChanged(int)), plannerModel, SLOT(setGFLow(int)));
// connect(ui.gflow, SIGNAL(valueChanged()), plannerModel, SLOT(emitDataChanged()));
ui.bottomSAC->setValue(20);
ui.decoStopSAC->setValue(17);
ui.gflow->setValue(prefs.gflow);
ui.gfhigh->setValue(prefs.gfhigh);
setMinimumWidth(0);
setMinimumHeight(0);
@ -605,11 +621,13 @@ void DivePlannerPointsModel::setDecoSac(int sac)
void DivePlannerPointsModel::setGFHigh(const int gfhigh)
{
diveplan.gfhigh = gfhigh;
plannerModel->emitDataChanged();
}
void DivePlannerPointsModel::setGFLow(const int ghflow)
{
diveplan.gflow = ghflow;
plannerModel->emitDataChanged();
}
void DivePlannerPointsModel::setSurfacePressure(int pressure)

View file

@ -136,7 +136,8 @@ public:
public
slots:
void settingsChanged();
void atmPressureChanged(const QString &pressure);
void atmPressureChanged(const int pressure);
void heightChanged(const int height);
void bottomSacChanged(const int bottomSac);
void decoSacChanged(const int decosac);
void printDecoPlan();

View file

@ -65,23 +65,7 @@
<property name="spacing">
<number>2</number>
</property>
<item row="7" column="0" colspan="2">
<widget class="TableView" name="cylinderTableWidget" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>50</height>
</size>
</property>
</widget>
</item>
<item row="8" column="0" colspan="2">
<item row="6" column="0" colspan="2">
<widget class="TableView" name="tableWidget" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
@ -97,22 +81,23 @@
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QSpinBox" name="decoStopSAC"/>
</item>
<item row="5" column="0">
<widget class="QSpinBox" name="gflow">
<property name="minimum">
<number>1</number>
<item row="5" column="0" colspan="2">
<widget class="TableView" name="cylinderTableWidget" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximum">
<number>150</number>
<property name="minimumSize">
<size>
<width>0</width>
<height>50</height>
</size>
</property>
<zorder>label_2</zorder>
</widget>
</item>
<item row="1" column="0">
<widget class="QTimeEdit" name="startTime"/>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
@ -120,82 +105,50 @@
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>GFLow</string>
</property>
</widget>
</item>
<item row="11" column="0" colspan="2">
<item row="9" column="0" colspan="2">
<widget class="QDialogButtonBox" name="buttonBox">
<property name="standardButtons">
<set>QDialogButtonBox::Abort|QDialogButtonBox::Save</set>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QSpinBox" name="bottomSAC"/>
<item row="1" column="0">
<widget class="QTimeEdit" name="startTime"/>
</item>
<item row="5" column="1">
<widget class="QSpinBox" name="gfhigh">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>150</number>
<item row="2" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Altitide</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="label_4">
<property name="text">
<string>SAC on DECO Stop</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Bottom SAC</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLabel" name="label_6">
<property name="text">
<string>GFHigh</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_2">
<property name="text">
<string>ATM Pressure</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="ATMPressure">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
<item row="3" column="1">
<widget class="QSpinBox" name="ATMPressure">
<property name="suffix">
<string>bar</string>
</property>
<property name="maximum">
<number>2000</number>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QCheckBox" name="drop_stone_mode">
<property name="text">
<string>Drop like a stone mode</string>
<item row="3" column="0">
<widget class="QSpinBox" name="atmHeight">
<property name="suffix">
<string>m</string>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QPushButton" name="printPlan">
<property name="text">
<string>Print</string>
<property name="minimum">
<number>-2000</number>
</property>
<property name="maximum">
<number>10000</number>
</property>
</widget>
</item>
@ -215,12 +168,6 @@
</customwidgets>
<tabstops>
<tabstop>startTime</tabstop>
<tabstop>ATMPressure</tabstop>
<tabstop>bottomSAC</tabstop>
<tabstop>decoStopSAC</tabstop>
<tabstop>gflow</tabstop>
<tabstop>gfhigh</tabstop>
<tabstop>printPlan</tabstop>
<tabstop>buttonBox</tabstop>
<tabstop>scrollArea</tabstop>
</tabstops>

View file

@ -83,6 +83,11 @@ MainWindow::MainWindow() : QMainWindow(),
connect(information(), SIGNAL(addDiveFinished()), ui.newProfile, SLOT(setProfileState()));
connect(DivePlannerPointsModel::instance(), SIGNAL(planCreated()), MainWindow::instance(), SLOT(planCreated()));
connect(DivePlannerPointsModel::instance(), SIGNAL(planCanceled()), MainWindow::instance(), SLOT(planCanceled()));
connect(ui.printPlan, SIGNAL(pressed()), ui.divePlannerWidget, SLOT(printDecoPlan()));
#ifdef NO_PRINTING
ui.printPlan->hide();
#endif
ui.mainErrorMessage->hide();
initialUiSetup();
readSettings();

View file

@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>1418</width>
<height>1084</height>
<width>1682</width>
<height>1151</height>
</rect>
</property>
<widget class="QWidget" name="centralwidget">
@ -38,7 +38,7 @@
</property>
<widget class="QStackedWidget" name="infoPane">
<property name="currentIndex">
<number>0</number>
<number>1</number>
</property>
<widget class="QWidget" name="page">
<layout class="QHBoxLayout" name="horizontalLayout_3">
@ -109,57 +109,18 @@
<property name="spacing">
<number>0</number>
</property>
<item row="0" column="0">
<widget class="QToolButton" name="profPO2">
<property name="toolTip">
<string>Enable the pO2 Graph</string>
<item row="14" column="0">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../subsurface.qrc">
<normaloff>:/icon_o2</normaloff>:/icon_o2</iconset>
</property>
<property name="iconSize">
<property name="sizeHint" stdset="0">
<size>
<width>24</width>
<height>24</height>
<width>20</width>
<height>40</height>
</size>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QToolButton" name="profPn2">
<property name="toolTip">
<string>Enable the pN2 Graph</string>
</property>
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../subsurface.qrc">
<normaloff>:/icon_n2</normaloff>:/icon_n2</iconset>
</property>
<property name="iconSize">
<size>
<width>24</width>
<height>24</height>
</size>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</spacer>
</item>
<item row="2" column="0">
<widget class="QToolButton" name="profPhe">
@ -187,6 +148,32 @@
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QToolButton" name="profCalcAllTissues">
<property name="toolTip">
<string>Calculate All Tissues</string>
</property>
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../subsurface.qrc">
<normaloff>:/icon_ceiling_alltissues</normaloff>:/icon_ceiling_alltissues</iconset>
</property>
<property name="iconSize">
<size>
<width>24</width>
<height>24</height>
</size>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QToolButton" name="profDcCeiling">
<property name="enabled">
@ -245,17 +232,17 @@
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QToolButton" name="profCalcAllTissues">
<item row="10" column="0">
<widget class="QToolButton" name="profNdl_tts">
<property name="toolTip">
<string>Calculate All Tissues</string>
<string>Show NDL / TTS</string>
</property>
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../subsurface.qrc">
<normaloff>:/icon_ceiling_alltissues</normaloff>:/icon_ceiling_alltissues</iconset>
<normaloff>:/icon_NDLTTS</normaloff>:/icon_NDLTTS</iconset>
</property>
<property name="iconSize">
<size>
@ -375,32 +362,6 @@
</property>
</widget>
</item>
<item row="10" column="0">
<widget class="QToolButton" name="profNdl_tts">
<property name="toolTip">
<string>Show NDL / TTS</string>
</property>
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../subsurface.qrc">
<normaloff>:/icon_NDLTTS</normaloff>:/icon_NDLTTS</iconset>
</property>
<property name="iconSize">
<size>
<width>24</width>
<height>24</height>
</size>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item row="11" column="0">
<widget class="QToolButton" name="profSAC">
<property name="toolTip">
@ -427,32 +388,6 @@
</property>
</widget>
</item>
<item row="12" column="0">
<widget class="QToolButton" name="profRuler">
<property name="toolTip">
<string>Enable / Disable the Ruler</string>
</property>
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../subsurface.qrc">
<normaloff>:/units</normaloff>:/units</iconset>
</property>
<property name="iconSize">
<size>
<width>24</width>
<height>24</height>
</size>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item row="13" column="0">
<widget class="QToolButton" name="profScaled">
<property name="toolTip">
@ -479,21 +414,86 @@
</property>
</widget>
</item>
<item row="0" column="1" rowspan="15">
<widget class="ProfileWidget2" name="newProfile"/>
</item>
<item row="14" column="0">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
<item row="12" column="0">
<widget class="QToolButton" name="profRuler">
<property name="toolTip">
<string>Enable / Disable the Ruler</string>
</property>
<property name="sizeHint" stdset="0">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../subsurface.qrc">
<normaloff>:/units</normaloff>:/units</iconset>
</property>
<property name="iconSize">
<size>
<width>20</width>
<height>40</height>
<width>24</width>
<height>24</height>
</size>
</property>
</spacer>
<property name="checkable">
<bool>true</bool>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QToolButton" name="profPO2">
<property name="toolTip">
<string>Enable the pO2 Graph</string>
</property>
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../subsurface.qrc">
<normaloff>:/icon_o2</normaloff>:/icon_o2</iconset>
</property>
<property name="iconSize">
<size>
<width>24</width>
<height>24</height>
</size>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QToolButton" name="profPn2">
<property name="toolTip">
<string>Enable the pN2 Graph</string>
</property>
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../subsurface.qrc">
<normaloff>:/icon_n2</normaloff>:/icon_n2</iconset>
</property>
<property name="iconSize">
<size>
<width>24</width>
<height>24</height>
</size>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="1" rowspan="15">
<widget class="ProfileWidget2" name="newProfile"/>
</item>
</layout>
</widget>
@ -504,7 +504,7 @@
</property>
<widget class="QStackedWidget" name="diveListPane">
<property name="currentIndex">
<number>0</number>
<number>1</number>
</property>
<widget class="DiveListView" name="ListWidget">
<property name="alternatingRowColors">
@ -548,9 +548,9 @@
</widget>
<widget class="QStackedWidget" name="globePane">
<property name="currentIndex">
<number>0</number>
<number>1</number>
</property>
<widget class="QWidget" name="stackedWidgetPage1" native="true">
<widget class="QWidget" name="stackedWidgetPage1">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
@ -570,22 +570,54 @@
<verstretch>0</verstretch>
</sizepolicy>
</property>
<layout class="QVBoxLayout" name="verticalLayout_4">
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QLabel" name="divePlanOutputLabel">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>20</height>
</size>
</property>
<property name="text">
<string>Dive plan details</string>
</property>
</widget>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="divePlanOutputLabel">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>20</height>
</size>
</property>
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Dive plan details&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="textFormat">
<enum>Qt::RichText</enum>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="printPlan">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Print</string>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
<property name="default">
<bool>false</bool>
</property>
<property name="flat">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QTextEdit" name="divePlanOutput">
<property name="enabled">
<bool>true</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
@ -614,10 +646,7 @@ p, li { white-space: pre-wrap; }
</widget>
</item>
<item>
<widget class="KMessageWidget" name="mainErrorMessage" native="true">
<zorder>mainSplitter</zorder>
<zorder>mainSplitter</zorder>
</widget>
<widget class="KMessageWidget" name="mainErrorMessage" native="true"/>
</item>
</layout>
</widget>
@ -626,7 +655,7 @@ p, li { white-space: pre-wrap; }
<rect>
<x>0</x>
<y>0</y>
<width>1418</width>
<width>1682</width>
<height>22</height>
</rect>
</property>

View file

@ -6,312 +6,397 @@
<rect>
<x>0</x>
<y>0</y>
<width>963</width>
<height>324</height>
<width>537</width>
<height>435</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<widget class="QWidget" name="gridLayoutWidget">
<property name="geometry">
<rect>
<x>20</x>
<y>20</y>
<width>872</width>
<height>463</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="1" column="2">
<widget class="QFrame" name="frame_2">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QFrame" name="frame_3">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="6" column="0">
<widget class="QLabel" name="label_9">
<property name="text">
<string>surface to the bottom</string>
</property>
</widget>
</item>
<item row="10" column="1">
<widget class="QDoubleSpinBox" name="bottompo2">
<property name="suffix">
<string>bar</string>
</property>
<property name="maximum">
<double>2.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>1.400000000000000</double>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QSpinBox" name="descRate">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>20</height>
</size>
</property>
<property name="suffix">
<string>m/min</string>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="value">
<number>18</number>
</property>
</widget>
</item>
<item row="11" column="1">
<widget class="QDoubleSpinBox" name="decopo2">
<property name="suffix">
<string>bar</string>
</property>
<property name="maximum">
<double>2.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>1.600000000000000</double>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QSpinBox" name="ascRate75">
<property name="suffix">
<string>m/min</string>
</property>
<property name="minimum">
<number>1</number>
</property>
</widget>
</item>
<item row="10" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
<string>bottom pO₂</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_8">
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Descent rate&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>6m/20ft to surface</string>
</property>
</widget>
</item>
<item row="11" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>deco pO₂</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>75%-50% avg. depth</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>below 75% avg. depth</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>50% avg. depth - 6m/20ft</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Ascent rates&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QSpinBox" name="ascRateStops">
<property name="suffix">
<string>m/min</string>
</property>
<property name="minimum">
<number>1</number>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QSpinBox" name="ascRateLast6m">
<property name="suffix">
<string>m/min</string>
</property>
<property name="minimum">
<number>1</number>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="label_12">
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Gas options&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QSpinBox" name="ascRate50">
<property name="suffix">
<string>m/min</string>
</property>
<property name="minimum">
<number>1</number>
</property>
</widget>
</item>
<item row="8" column="1">
<widget class="QSpinBox" name="bottomSAC"/>
</item>
<item row="8" column="0">
<widget class="QLabel" name="label_13">
<property name="text">
<string>bottom SAC</string>
</property>
</widget>
</item>
<item row="9" column="0">
<widget class="QLabel" name="label_14">
<property name="text">
<string>deco SAC</string>
</property>
</widget>
</item>
<item row="9" column="1">
<widget class="QSpinBox" name="decoStopSAC"/>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QFrame" name="frame_2">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<property name="sizeConstraint">
<enum>QLayout::SetNoConstraint</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QCheckBox" name="lastStop">
<property name="text">
<string>Last Stop at 6m/20ft</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="backgasBreaks">
<property name="text">
<string>plan backgas breaks</string>
</property>
</widget>
</item>
<item>
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item>
<widget class="QFrame" name="frame_4">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QFormLayout" name="formLayout_2">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::FieldsStayAtSizeHint</enum>
</property>
<item row="1" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
<string> bottom pO₂</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>deco pO₂</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QDoubleSpinBox" name="decopo2">
<property name="suffix">
<string>bar</string>
</property>
<property name="maximum">
<double>2.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>1.600000000000000</double>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QDoubleSpinBox" name="bottompo2">
<property name="suffix">
<string>bar</string>
</property>
<property name="maximum">
<double>2.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>1.400000000000000</double>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
<item row="1" column="0">
<widget class="QFrame" name="frame">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QCheckBox" name="verbatim_plan">
<property name="text">
<string>verbatim diveplan</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="display_runtime">
<property name="toolTip">
<string>In dive plan, show runtime (absolute time) of stops</string>
</property>
<property name="text">
<string>display runtime</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="display_duration">
<property name="enabled">
<bool>true</bool>
</property>
<property name="toolTip">
<string>In dive plan, show duration (relative time) of stops</string>
</property>
<property name="text">
<string>display segment duration</string>
</property>
<property name="checked">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="display_transitions">
<property name="toolTip">
<string>In diveplan, list transitions or treat them as implicit</string>
</property>
<property name="text">
<string>display transitions in deco</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="1" column="1">
<widget class="QFrame" name="frame_3">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QFormLayout" name="formLayout">
<item row="1" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>below 75% avg. depth</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>75%-50% avg. depth</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>50% avg. depth - 6m/20ft</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>6m/20ft to surface</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Ascent rates</string>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="label_8">
<property name="text">
<string>Descent rate</string>
</property>
</widget>
</item>
<item row="8" column="0">
<widget class="QLabel" name="label_9">
<property name="text">
<string>surface to the bottom</string>
</property>
</widget>
</item>
<item row="8" column="1">
<widget class="QSpinBox" name="descRate">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>20</height>
</size>
</property>
<property name="suffix">
<string>m/min</string>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="value">
<number>18</number>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QSpinBox" name="ascRate75">
<property name="suffix">
<string>m/min</string>
</property>
<property name="minimum">
<number>1</number>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QSpinBox" name="ascRate50">
<property name="suffix">
<string>m/min</string>
</property>
<property name="minimum">
<number>1</number>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QSpinBox" name="ascRateStops">
<property name="suffix">
<string>m/min</string>
</property>
<property name="minimum">
<number>1</number>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QSpinBox" name="ascRateLast6m">
<property name="suffix">
<string>m/min</string>
</property>
<property name="minimum">
<number>1</number>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<item>
<widget class="QLabel" name="label_10">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Planning options&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item>
<widget class="QFrame" name="frame">
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<widget class="QLabel" name="label_15">
<property name="text">
<string>GF low</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="gflow">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>150</number>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_16">
<property name="text">
<string>GF high</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QSpinBox" name="gfhigh">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>150</number>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QCheckBox" name="drop_stone_mode">
<property name="text">
<string>Drop to first depth</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="lastStop">
<property name="text">
<string>Last Stop at 6m/20ft</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="backgasBreaks">
<property name="text">
<string>plan backgas breaks</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_11">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Dive note options&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="display_runtime">
<property name="toolTip">
<string>In dive plan, show runtime (absolute time) of stops</string>
</property>
<property name="text">
<string>display runtime</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="display_duration">
<property name="enabled">
<bool>true</bool>
</property>
<property name="toolTip">
<string>In dive plan, show duration (relative time) of stops</string>
</property>
<property name="text">
<string>display segment duration</string>
</property>
<property name="checked">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="display_transitions">
<property name="toolTip">
<string>In diveplan, list transitions or treat them as implicit</string>
</property>
<property name="text">
<string>display transitions in deco</string>
</property>
</widget>
</item>
<item>
<widget class="Line" name="line">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>20</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="verbatim_plan">
<property name="text">
<string>verbatim diveplan</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<tabstops>
<tabstop>verbatim_plan</tabstop>
<tabstop>display_runtime</tabstop>
<tabstop>display_duration</tabstop>
<tabstop>display_transitions</tabstop>
<tabstop>lastStop</tabstop>
<tabstop>backgasBreaks</tabstop>
<tabstop>descRate</tabstop>
</tabstops>
<resources/>
<connections/>