mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Add setpoint events according to divetype
When changing to a CCR dive, add a setpoint change to the default setpoint at the beginning of the dive. Otherwise add an explicit setpoint change to 0 . Signed-off-by: Robert C. Helling <helling@atdotde.de> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
a478eb5711
commit
0f7f2195d5
3 changed files with 11 additions and 6 deletions
6
dive.c
6
dive.c
|
@ -888,8 +888,10 @@ void update_setpoint_events(struct divecomputer *dc)
|
||||||
}
|
}
|
||||||
ev = get_next_event(ev->next, "SP change");
|
ev = get_next_event(ev->next, "SP change");
|
||||||
}
|
}
|
||||||
if (!changed)
|
if (!changed) {
|
||||||
add_event(dc, 0, SAMPLE_EVENT_PO2, 0, new_setpoint, "SP change");
|
if (!add_event(dc, 0, SAMPLE_EVENT_PO2, 0, new_setpoint, "SP change"))
|
||||||
|
printf("Could not add setpoint change event\n");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void sanitize_gasmix(struct gasmix *mix)
|
void sanitize_gasmix(struct gasmix *mix)
|
||||||
|
|
|
@ -103,7 +103,7 @@ MainTab::MainTab(QWidget *parent) : QTabWidget(parent),
|
||||||
|
|
||||||
// This needs to be the same order as enum dive_comp_type in dive.h!
|
// This needs to be the same order as enum dive_comp_type in dive.h!
|
||||||
ui.DiveType->insertItems(0, QStringList() << "OC" << "CCR" << "pSCR" << "Freedive");
|
ui.DiveType->insertItems(0, QStringList() << "OC" << "CCR" << "pSCR" << "Freedive");
|
||||||
connect(ui.DiveType, SIGNAL(currentIndexChanged(int)), this, SLOT(on_divetype_Changed(int)));
|
connect(ui.DiveType, SIGNAL(currentIndexChanged(int)), this, SLOT(divetype_Changed(int)));
|
||||||
|
|
||||||
connect(ui.cylinders->view(), SIGNAL(clicked(QModelIndex)), this, SLOT(editCylinderWidget(QModelIndex)));
|
connect(ui.cylinders->view(), SIGNAL(clicked(QModelIndex)), this, SLOT(editCylinderWidget(QModelIndex)));
|
||||||
connect(ui.weights->view(), SIGNAL(clicked(QModelIndex)), this, SLOT(editWeightWidget(QModelIndex)));
|
connect(ui.weights->view(), SIGNAL(clicked(QModelIndex)), this, SLOT(editWeightWidget(QModelIndex)));
|
||||||
|
@ -772,8 +772,10 @@ void MainTab::acceptChanges()
|
||||||
MODIFY_SELECTED_DIVES(EDIT_VALUE(visibility));
|
MODIFY_SELECTED_DIVES(EDIT_VALUE(visibility));
|
||||||
if (displayed_dive.airtemp.mkelvin != cd->airtemp.mkelvin)
|
if (displayed_dive.airtemp.mkelvin != cd->airtemp.mkelvin)
|
||||||
MODIFY_SELECTED_DIVES(EDIT_VALUE(airtemp.mkelvin));
|
MODIFY_SELECTED_DIVES(EDIT_VALUE(airtemp.mkelvin));
|
||||||
if (displayed_dive.dc.dctype != cd->dc.dctype)
|
if (displayed_dive.dc.dctype != cd->dc.dctype) {
|
||||||
MODIFY_SELECTED_DIVES(EDIT_VALUE(dc.dctype));
|
MODIFY_SELECTED_DIVES(EDIT_VALUE(dc.dctype));
|
||||||
|
MODIFY_SELECTED_DIVES(update_setpoint_events(&mydive->dc));
|
||||||
|
}
|
||||||
if (displayed_dive.watertemp.mkelvin != cd->watertemp.mkelvin)
|
if (displayed_dive.watertemp.mkelvin != cd->watertemp.mkelvin)
|
||||||
MODIFY_SELECTED_DIVES(EDIT_VALUE(watertemp.mkelvin));
|
MODIFY_SELECTED_DIVES(EDIT_VALUE(watertemp.mkelvin));
|
||||||
if (displayed_dive.when != cd->when) {
|
if (displayed_dive.when != cd->when) {
|
||||||
|
@ -1012,10 +1014,11 @@ void MainTab::on_airtemp_textChanged(const QString &text)
|
||||||
validate_temp_field(ui.airtemp, text);
|
validate_temp_field(ui.airtemp, text);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainTab::on_divetype_Changed(const int &index)
|
void MainTab::divetype_Changed(int index)
|
||||||
{
|
{
|
||||||
if (editMode == IGNORE)
|
if (editMode == IGNORE)
|
||||||
return;
|
return;
|
||||||
|
qDebug() << "Changing divetype to " << dctype_text[index];
|
||||||
displayed_dive.dc.dctype = (enum dive_comp_type) index;
|
displayed_dive.dc.dctype = (enum dive_comp_type) index;
|
||||||
update_setpoint_events(&displayed_dive.dc);
|
update_setpoint_events(&displayed_dive.dc);
|
||||||
markChangedWidget(ui.DiveType);
|
markChangedWidget(ui.DiveType);
|
||||||
|
|
|
@ -71,7 +71,7 @@ slots:
|
||||||
void on_suit_textChanged(const QString &text);
|
void on_suit_textChanged(const QString &text);
|
||||||
void on_notes_textChanged();
|
void on_notes_textChanged();
|
||||||
void on_airtemp_textChanged(const QString &text);
|
void on_airtemp_textChanged(const QString &text);
|
||||||
void on_divetype_Changed(const int &index);
|
void divetype_Changed(int);
|
||||||
void on_watertemp_textChanged(const QString &text);
|
void on_watertemp_textChanged(const QString &text);
|
||||||
void validate_temp_field(QLineEdit *tempField, const QString &text);
|
void validate_temp_field(QLineEdit *tempField, const QString &text);
|
||||||
void on_dateEdit_dateChanged(const QDate &date);
|
void on_dateEdit_dateChanged(const QDate &date);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue