diff options
author | Robert C. Helling <helling@atdotde.de> | 2021-07-03 14:41:55 +0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2021-07-03 14:38:19 -0700 |
commit | 6b2e56e5131aa707216c4b0da5805199fcc0034d (patch) | |
tree | ffd55dc118ab337822ed78653122079619b62d9e /profile-widget | |
parent | 876a09753aa25400d795c97498e0e9bb50489fda (diff) | |
download | subsurface-6b2e56e5131aa707216c4b0da5805199fcc0034d.tar.gz |
Handle dives with no samples
This occurs upon importing dives for example via CSV.
Make sure the profile display is cleared when selecting
such a dive rather than showing a different dive.
Allow editing the profile for such a dive.
Signed-off-by: Robert C. Helling <helling@atdotde.de>
Diffstat (limited to 'profile-widget')
-rw-r--r-- | profile-widget/profilewidget2.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/profile-widget/profilewidget2.cpp b/profile-widget/profilewidget2.cpp index e64f07b22..f0c3f1d0a 100644 --- a/profile-widget/profilewidget2.cpp +++ b/profile-widget/profilewidget2.cpp @@ -528,8 +528,10 @@ void ProfileWidget2::plotDive(const struct dive *dIn, int dcIn, bool doClearPict } const struct divecomputer *currentdc = get_dive_dc_const(d, dc); - if (!currentdc || !currentdc->samples) + if (!currentdc || !currentdc->samples) { + setEmptyState(); return; + } // special handling when switching from empty state animSpeed = instant || currentState == EMPTY || printMode ? 0 : qPrefDisplay::animation_speed(); @@ -1359,7 +1361,7 @@ void ProfileWidget2::contextMenuEvent(QContextMenuEvent *event) changeMode->addAction(gettextFromC::tr(divemode_text_ui[PSCR]), [this, seconds](){ addDivemodeSwitch(seconds, PSCR); }); - if (same_string(get_dive_dc_const(d, dc)->model, "manually added dive")) + if (same_string(get_dive_dc_const(d, dc)->model, "manually added dive") || !get_dive_dc_const(d, dc)->samples) m.addAction(tr("Edit the profile"), this, &ProfileWidget2::editCurrentDive); if (DiveEventItem *item = dynamic_cast<DiveEventItem *>(sceneItem)) { |