Helper function to determined planned dives

... to reduce code duplication.

Signed-off-by: Robert C. Helling <helling@atdotde.de>
This commit is contained in:
Robert C. Helling 2019-01-01 18:02:04 +01:00
parent f1fc89b978
commit c349692d98
4 changed files with 8 additions and 3 deletions

View file

@ -3357,6 +3357,10 @@ void dump_taglist(const char *intro, struct tag_entry *tl)
fprintf(stderr, "\n"); fprintf(stderr, "\n");
} }
bool is_dc_planner(const struct divecomputer *dc) {
return same_string(dc->model, "planned dive");
}
/* /*
* Merging two dives can be subtle, because there's two different ways * Merging two dives can be subtle, because there's two different ways
* of merging: * of merging:
@ -3401,7 +3405,7 @@ struct dive *merge_dives(const struct dive *a, const struct dive *b, int offset,
offset = 0; offset = 0;
} }
if (same_string(a->dc.model, "planned dive")) { if (is_dc_planner(&a->dc)) {
const struct dive *tmp = a; const struct dive *tmp = a;
a = b; a = b;
b = tmp; b = tmp;

View file

@ -652,6 +652,7 @@ extern void nuclear_regeneration(struct deco_state *ds, double time);
extern void vpmb_start_gradient(struct deco_state *ds); extern void vpmb_start_gradient(struct deco_state *ds);
extern void vpmb_next_gradient(struct deco_state *ds, double deco_time, double surface_pressure); extern void vpmb_next_gradient(struct deco_state *ds, double deco_time, double surface_pressure);
extern double tissue_tolerance_calc(struct deco_state *ds, const struct dive *dive, double pressure); extern double tissue_tolerance_calc(struct deco_state *ds, const struct dive *dive, double pressure);
extern bool is_dc_planner(const struct divecomputer *dc);
/* this should be converted to use our types */ /* this should be converted to use our types */
struct divedatapoint { struct divedatapoint {

View file

@ -169,7 +169,7 @@ QString DiveObjectHelper::waterTemp() const
QString DiveObjectHelper::notes() const QString DiveObjectHelper::notes() const
{ {
QString tmp = m_dive->notes ? QString::fromUtf8(m_dive->notes) : QString(); QString tmp = m_dive->notes ? QString::fromUtf8(m_dive->notes) : QString();
if (same_string(m_dive->dc.model, "planned dive")) { if (is_dc_planner(&m_dive->dc)) {
QTextDocument notes; QTextDocument notes;
#define _NOTES_BR "&#92n" #define _NOTES_BR "&#92n"
tmp.replace("<thead>", "<thead>" _NOTES_BR) tmp.replace("<thead>", "<thead>" _NOTES_BR)

View file

@ -965,7 +965,7 @@ void MainWindow::on_actionReplanDive_triggered()
{ {
if (!plannerStateClean() || !current_dive) if (!plannerStateClean() || !current_dive)
return; return;
else if (!current_dive->dc.model || strcmp(current_dive->dc.model, "planned dive")) { else if (!is_dc_planner(&current_dive->dc)) {
if (QMessageBox::warning(this, tr("Warning"), tr("Trying to replan a dive that's not a planned dive."), if (QMessageBox::warning(this, tr("Warning"), tr("Trying to replan a dive that's not a planned dive."),
QMessageBox::Ok | QMessageBox::Cancel) == QMessageBox::Cancel) QMessageBox::Ok | QMessageBox::Cancel) == QMessageBox::Cancel)
return; return;