aboutsummaryrefslogtreecommitdiffstats
path: root/qt-ui/profile
diff options
context:
space:
mode:
Diffstat (limited to 'qt-ui/profile')
-rw-r--r--qt-ui/profile/diveplotdatamodel.cpp6
-rw-r--r--qt-ui/profile/diveplotdatamodel.h2
-rw-r--r--qt-ui/profile/profilewidget2.cpp7
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();