summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mobile-widgets/qml/DiveSummary.qml18
-rw-r--r--qt-models/divesummarymodel.cpp28
2 files changed, 27 insertions, 19 deletions
diff --git a/mobile-widgets/qml/DiveSummary.qml b/mobile-widgets/qml/DiveSummary.qml
index 612cee9fd..8c390c8a2 100644
--- a/mobile-widgets/qml/DiveSummary.qml
+++ b/mobile-widgets/qml/DiveSummary.qml
@@ -48,19 +48,11 @@ Kirigami.ScrollablePage {
ListModel {
id: monthModel
- ListElement {text: qsTr("Total")}
- ListElement {text: qsTr(" 1 month [ 30 days]")}
- ListElement {text: qsTr(" 2 month [ 60 days]")}
- ListElement {text: qsTr(" 3 month [ 90 days]")}
- ListElement {text: qsTr(" 4 month [120 days]")}
- ListElement {text: qsTr(" 5 month [150 days]")}
- ListElement {text: qsTr(" 6 month [180 days]")}
- ListElement {text: qsTr(" 7 month [210 days]")}
- ListElement {text: qsTr(" 8 month [240 days]")}
- ListElement {text: qsTr(" 9 month [270 days]")}
- ListElement {text: qsTr("10 month [300 days]")}
- ListElement {text: qsTr("11 month [330 days]")}
- ListElement {text: qsTr("12 month [360 days]")}
+ ListElement {text: qsTr("All")}
+ ListElement {text: qsTr("1 month")}
+ ListElement {text: qsTr("3 months")}
+ ListElement {text: qsTr("6 months")}
+ ListElement {text: qsTr("1 year")}
}
TemplateLabel {
diff --git a/qt-models/divesummarymodel.cpp b/qt-models/divesummarymodel.cpp
index 739463246..1c192a573 100644
--- a/qt-models/divesummarymodel.cpp
+++ b/qt-models/divesummarymodel.cpp
@@ -242,12 +242,28 @@ void DiveSummaryModel::calc(int column, int period)
if (column >= (int)results.size())
return;
- QDateTime localTime;
-
- // Calculate Start of the 2 periods.
- timestamp_t now, start;
- now = QDateTime::currentMSecsSinceEpoch() / 1000L + gettimezoneoffset();
- start = (period == 0) ? 0 : now - period * 30 * 24 * 60 * 60;
+ QDateTime currentTime = QDateTime::currentDateTime();
+ QDateTime startTime = currentTime;
+
+ // Calculate Start of the periods.
+ switch (period) {
+ case 0: // having startTime == currentTime is used as special case below
+ break;
+ case 1: startTime = currentTime.addMonths(-1);
+ break;
+ case 2: startTime = currentTime.addMonths(-3);
+ break;
+ case 3: startTime = currentTime.addMonths(-6);
+ break;
+ case 4: startTime = currentTime.addYears(-1);
+ break;
+ default: qWarning("DiveSummaryModel::calc called with invalid period");
+ }
+ timestamp_t start;
+ if (startTime == currentTime)
+ start = 0;
+ else
+ start = startTime.toMSecsSinceEpoch() / 1000L + gettimezoneoffset();
// Loop over all dives and sum up data
Stats stats = loopDives(start);