summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/qthelper.cpp11
-rw-r--r--core/qthelper.h2
-rw-r--r--desktop-widgets/tab-widgets/TabDiveStatistics.cpp3
-rw-r--r--desktop-widgets/tab-widgets/maintab.cpp15
4 files changed, 9 insertions, 22 deletions
diff --git a/core/qthelper.cpp b/core/qthelper.cpp
index 35965208c..9483d9ab5 100644
--- a/core/qthelper.cpp
+++ b/core/qthelper.cpp
@@ -375,7 +375,7 @@ static bool lessThan(const QPair<QString, int> &a, const QPair<QString, int> &b)
return a.second < b.second;
}
-void selectedDivesGasUsed(QVector<QPair<QString, int> > &gasUsedOrdered)
+QVector<QPair<QString, int>> selectedDivesGasUsed()
{
int i, j;
struct dive *d;
@@ -391,10 +391,13 @@ void selectedDivesGasUsed(QVector<QPair<QString, int> > &gasUsedOrdered)
gasUsed[gasName] += diveGases[j].mliter;
}
}
- Q_FOREACH(const QString& gas, gasUsed.keys()) {
- gasUsedOrdered.append(qMakePair(gas, gasUsed[gas]));
- }
+ QVector<QPair<QString, int>> gasUsedOrdered;
+ gasUsedOrdered.reserve(gasUsed.size());
+ for (auto it = gasUsed.cbegin(); it != gasUsed.cend(); ++it)
+ gasUsedOrdered.append(qMakePair(it.key(), it.value()));
std::sort(gasUsedOrdered.begin(), gasUsedOrdered.end(), lessThan);
+
+ return gasUsedOrdered;
}
QString getUserAgent()
diff --git a/core/qthelper.h b/core/qthelper.h
index cbe2b77f0..3b7ff2c59 100644
--- a/core/qthelper.h
+++ b/core/qthelper.h
@@ -80,7 +80,7 @@ QString get_short_dive_date_string(timestamp_t when);
QString get_trip_date_string(timestamp_t when, int nr, bool getday);
QString uiLanguage(QLocale *callerLoc);
QLocale getLocale();
-void selectedDivesGasUsed(QVector<QPair<QString, int> > &gasUsed);
+QVector<QPair<QString, int>> selectedDivesGasUsed();
QString getUserAgent();
QString printGPSCoords(const location_t *loc);
diff --git a/desktop-widgets/tab-widgets/TabDiveStatistics.cpp b/desktop-widgets/tab-widgets/TabDiveStatistics.cpp
index dacb01721..0cf3befd2 100644
--- a/desktop-widgets/tab-widgets/TabDiveStatistics.cpp
+++ b/desktop-widgets/tab-widgets/TabDiveStatistics.cpp
@@ -97,10 +97,9 @@ void TabDiveStatistics::updateData()
ui->timeLimits->setMinimum("");
}
- QVector<QPair<QString, int> > gasUsed;
+ QVector<QPair<QString, int> > gasUsed = selectedDivesGasUsed();
QString gasUsedString;
volume_t vol;
- selectedDivesGasUsed(gasUsed);
for (int j = 0; j < MAX_CYLINDERS; j++) {
if (gasUsed.isEmpty())
break;
diff --git a/desktop-widgets/tab-widgets/maintab.cpp b/desktop-widgets/tab-widgets/maintab.cpp
index dbb83f356..d1f13dd13 100644
--- a/desktop-widgets/tab-widgets/maintab.cpp
+++ b/desktop-widgets/tab-widgets/maintab.cpp
@@ -542,21 +542,6 @@ void MainTab::updateDiveInfo(bool clear)
int mean[MAX_CYLINDERS], duration[MAX_CYLINDERS];
per_cylinder_mean_depth(&displayed_dive, select_dc(&displayed_dive), mean, duration);
- // now let's get some gas use statistics
- QVector<QPair<QString, int> > gasUsed;
- QString gasUsedString;
- volume_t vol;
- selectedDivesGasUsed(gasUsed);
- for (int j = 0; j < MAX_CYLINDERS; j++) {
- if (gasUsed.isEmpty())
- break;
- QPair<QString, int> gasPair = gasUsed.last();
- gasUsed.pop_back();
- vol.mliter = gasPair.second;
- gasUsedString.append(gasPair.first).append(": ").append(get_volume_string(vol, true)).append("\n");
- }
- if (!gasUsed.isEmpty())
- gasUsedString.append("...");
volume_t o2_tot = {}, he_tot = {};
selected_dives_gas_parts(&o2_tot, &he_tot);