profile: don't interpret NULL as current_dive in plotDive()

ProfileWidget2::plotDive() had this weird interface, where passing
in NULL as dive would mean "show current_dive". However, most callers
would already pass in current_dive. Therefore, unify and always pass
in current_dive if the caller wants to draw the current dive.

This allows us to interpret NULL as "show empty profile". Thus,
passing in current_dive when there is no current_dive simply shows
an empty profile. This makes the calling code in
MainWindow::selectionChanged() simpler.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2020-04-13 13:45:52 +02:00 committed by Dirk Hohndel
parent c1963fd5dd
commit 17556cc66c
4 changed files with 8 additions and 13 deletions

View file

@ -381,8 +381,7 @@ void ProfileWidget2::setupItemOnScene()
void ProfileWidget2::replot()
{
dataModel->clear();
plotDive(nullptr, true, false);
plotDive(current_dive, true, false);
}
void ProfileWidget2::createPPGas(PartialPressureGasItem *item, int verticalColumn, color_index_t color, color_index_t colorAlert,
@ -566,11 +565,8 @@ void ProfileWidget2::plotDive(const struct dive *d, bool force, bool doClearPict
#endif
if (currentState != ADD && currentState != PLAN) {
if (!d) {
if (!current_dive) {
setEmptyState();
return;
}
d = current_dive; // display the current dive
setEmptyState();
return;
}
// No need to do this again if we are already showing the same dive