mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
Handle notes from planner
New strategy to identify old planner output in notes when replanning a dive: Text anchors ("*!*" and "***") added for planner output For backwards compatibility: If there is no anchor but an old table delete everything. Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
This commit is contained in:
parent
d82f8cbd3f
commit
a5d54b04a7
2 changed files with 16 additions and 8 deletions
|
@ -588,10 +588,10 @@ static void add_plan_to_notes(struct diveplan *diveplan, struct dive *dive, bool
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
len = show_disclaimer ? snprintf(buffer, sz_buffer, "<div><b>%s</b><br></div>", disclaimer) : 0;
|
len = show_disclaimer ? snprintf(buffer, sz_buffer, "<div>*!* <b>%s</b><br></div>", disclaimer) : 0;
|
||||||
|
|
||||||
if (diveplan->surface_interval > 60) {
|
if (diveplan->surface_interval > 60) {
|
||||||
len += snprintf(buffer + len, sz_buffer - len, "<div><b>%s (%s) %s %d:%02d) %s %s<br>",
|
len += snprintf(buffer + len, sz_buffer - len, "<div>*** <b>%s (%s) %s %d:%02d) %s %s<br>",
|
||||||
translate("gettextFromC", "Subsurface"),
|
translate("gettextFromC", "Subsurface"),
|
||||||
subsurface_canonical_version(),
|
subsurface_canonical_version(),
|
||||||
translate("gettextFromC", "dive plan</b> (surface interval "),
|
translate("gettextFromC", "dive plan</b> (surface interval "),
|
||||||
|
@ -599,7 +599,7 @@ static void add_plan_to_notes(struct diveplan *diveplan, struct dive *dive, bool
|
||||||
translate("gettextFromC", "created on"),
|
translate("gettextFromC", "created on"),
|
||||||
get_current_date());
|
get_current_date());
|
||||||
} else {
|
} else {
|
||||||
len += snprintf(buffer + len, sz_buffer - len, "<div><b>%s (%s) %s %s</b><br>",
|
len += snprintf(buffer + len, sz_buffer - len, "<div>*** <b>%s (%s) %s %s</b><br>",
|
||||||
translate("gettextFromC", "Subsurface"),
|
translate("gettextFromC", "Subsurface"),
|
||||||
subsurface_canonical_version(),
|
subsurface_canonical_version(),
|
||||||
translate("gettextFromC", "dive plan</b> created on"),
|
translate("gettextFromC", "dive plan</b> created on"),
|
||||||
|
|
|
@ -884,6 +884,19 @@ void DivePlannerPointsModel::createPlan(bool replanCopy)
|
||||||
displayed_dive.maxdepth.mm = 0;
|
displayed_dive.maxdepth.mm = 0;
|
||||||
displayed_dive.dc.maxdepth.mm = 0;
|
displayed_dive.dc.maxdepth.mm = 0;
|
||||||
fixup_dive(&displayed_dive);
|
fixup_dive(&displayed_dive);
|
||||||
|
// Try to identify old planner output and remove only this part
|
||||||
|
// If we don't manage to identify old plan start but there is a
|
||||||
|
// table, delete everything
|
||||||
|
QString oldnotes(current_dive->notes);
|
||||||
|
if (oldnotes.indexOf(QString("*!*")) >= 0)
|
||||||
|
oldnotes.truncate(oldnotes.indexOf(QString("*!*")));
|
||||||
|
else if (oldnotes.indexOf(QString("***")) >= 0)
|
||||||
|
oldnotes.truncate(oldnotes.indexOf(QString("***")));
|
||||||
|
else if (oldnotes.indexOf(QString("<table")) >= 0)
|
||||||
|
oldnotes.truncate(0);
|
||||||
|
oldnotes.append(displayed_dive.notes);
|
||||||
|
displayed_dive.notes = strdup(oldnotes.toUtf8().data());
|
||||||
|
// If we save as new create a copy of the dive here
|
||||||
if (replanCopy) {
|
if (replanCopy) {
|
||||||
struct dive *copy = alloc_dive();
|
struct dive *copy = alloc_dive();
|
||||||
copy_dive(current_dive, copy);
|
copy_dive(current_dive, copy);
|
||||||
|
@ -893,11 +906,6 @@ void DivePlannerPointsModel::createPlan(bool replanCopy)
|
||||||
if (current_dive->divetrip)
|
if (current_dive->divetrip)
|
||||||
add_dive_to_trip(copy, current_dive->divetrip);
|
add_dive_to_trip(copy, current_dive->divetrip);
|
||||||
record_dive(copy);
|
record_dive(copy);
|
||||||
QString oldnotes(current_dive->notes);
|
|
||||||
if (oldnotes.indexOf(QString(disclaimer).left(40)) >= 0)
|
|
||||||
oldnotes.truncate(oldnotes.indexOf(QString(displayed_dive.notes).left(40)));
|
|
||||||
oldnotes.append(displayed_dive.notes);
|
|
||||||
displayed_dive.notes = strdup(oldnotes.toUtf8().data());
|
|
||||||
}
|
}
|
||||||
copy_dive(&displayed_dive, current_dive);
|
copy_dive(&displayed_dive, current_dive);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue