diff options
-rw-r--r-- | core/qthelper.cpp | 11 | ||||
-rw-r--r-- | core/qthelper.h | 2 | ||||
-rw-r--r-- | desktop-widgets/tab-widgets/TabDiveStatistics.cpp | 3 | ||||
-rw-r--r-- | desktop-widgets/tab-widgets/maintab.cpp | 15 |
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); |