diff options
Diffstat (limited to 'qt-ui/profile')
-rw-r--r-- | qt-ui/profile/diveplotdatamodel.cpp | 6 | ||||
-rw-r--r-- | qt-ui/profile/diveplotdatamodel.h | 2 | ||||
-rw-r--r-- | qt-ui/profile/profilewidget2.cpp | 7 |
3 files changed, 12 insertions, 3 deletions
diff --git a/qt-ui/profile/diveplotdatamodel.cpp b/qt-ui/profile/diveplotdatamodel.cpp index 94a8af5ba..700ca6503 100644 --- a/qt-ui/profile/diveplotdatamodel.cpp +++ b/qt-ui/profile/diveplotdatamodel.cpp @@ -109,6 +109,7 @@ void DivePlotDataModel::setDive(dive* d, const plot_info& info) clear(); Q_ASSERT(d != NULL); diveId = d->id; + dcNr = dc_number; pInfo = info; beginInsertRows(QModelIndex(), 0, pInfo.nr-1); endInsertRows(); @@ -119,6 +120,11 @@ int DivePlotDataModel::id() const return diveId; } +int DivePlotDataModel::dcShown() const +{ + return dcNr; +} + #define MAX_PPGAS_FUNC( GAS, GASFUNC ) \ double DivePlotDataModel::GASFUNC() \ { \ diff --git a/qt-ui/profile/diveplotdatamodel.h b/qt-ui/profile/diveplotdatamodel.h index 47ebe03e0..34af0daad 100644 --- a/qt-ui/profile/diveplotdatamodel.h +++ b/qt-ui/profile/diveplotdatamodel.h @@ -24,6 +24,7 @@ public: void setDive(struct dive *d, const plot_info& pInfo); const plot_info& data() const; int id() const; + int dcShown() const; double pheMax(); double pn2Max(); double po2Max(); @@ -32,6 +33,7 @@ public: private: plot_info pInfo; int diveId; + int dcNr; }; #endif diff --git a/qt-ui/profile/profilewidget2.cpp b/qt-ui/profile/profilewidget2.cpp index 42e95f620..4ed637cd6 100644 --- a/qt-ui/profile/profilewidget2.cpp +++ b/qt-ui/profile/profilewidget2.cpp @@ -271,12 +271,13 @@ void ProfileWidget2::plotDives(QList<dive*> dives) if (!d) return; - // No need to do this again if we are already showing that dive, - // so we check the unique id of the dive against the one we are + // No need to do this again if we are already showing the same dive + // computer of the same dive, so we check the unique id of the dive + // and the selected dive computer number against the ones we are // showing (can't compare the dive pointers as those might change). // I'm unclear what the semantics are supposed to be if we actually // use more than one 'dives' as argument - so ignoring that right now :-) - if (d->id == dataModel->id()) + if (d->id == dataModel->id() && dc_number == dataModel->dcShown()) return; setProfileState(); |