diff options
author | Joakim Bygdell <j.bygdell@gmail.com> | 2016-01-27 18:34:34 +0100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2016-01-27 11:18:44 -0800 |
commit | 9342dedb265ed314e1657e82aef407176f7d1e04 (patch) | |
tree | 5597c80fe1138e7341c415337599903a644be646 | |
parent | 4abe73ff2af49431d131f0d42fd10aa6f61b0125 (diff) | |
download | subsurface-9342dedb265ed314e1657e82aef407176f7d1e04.tar.gz |
Move helper function to DiveObjectsHelper
As per Tomaz recomendation the helper functions from 19588ce and e072596
are moved from qmlmanager to DiveObjectsHelper.
[Dirk Hohndel: merged with the latest code]
Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r-- | qt-mobile/qml/DiveDetailsView.qml | 6 | ||||
-rw-r--r-- | qt-mobile/qmlmanager.cpp | 36 | ||||
-rw-r--r-- | qt-mobile/qmlmanager.h | 2 | ||||
-rw-r--r-- | subsurface-core/subsurface-qt/DiveObjectHelper.cpp | 28 | ||||
-rw-r--r-- | subsurface-core/subsurface-qt/DiveObjectHelper.h | 4 |
5 files changed, 34 insertions, 42 deletions
diff --git a/qt-mobile/qml/DiveDetailsView.qml b/qt-mobile/qml/DiveDetailsView.qml index 7479ccb7a..d72f0e5a9 100644 --- a/qt-mobile/qml/DiveDetailsView.qml +++ b/qt-mobile/qml/DiveDetailsView.qml @@ -12,8 +12,6 @@ import org.kde.plasma.mobilecomponents 0.2 as MobileComponents Item { id: detailsView property int labelWidth: MobileComponents.Units.gridUnit * 10 - property string cylinder: manager.getCylinder(dive.id) - property string weight: manager.getWeights(dive.id) width: parent.width height: mainLayout.implicitHeight + MobileComponents.Units.iconSizes.large Rectangle { @@ -168,7 +166,7 @@ Item { } MobileComponents.Label { id: txtWeight - text: weight + text: dive.sumWeight Layout.fillWidth: true wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere } @@ -180,7 +178,7 @@ Item { } MobileComponents.Label { id: txtCylinder - text: cylinder + text: dive.getCylinder Layout.fillWidth: true wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere } diff --git a/qt-mobile/qmlmanager.cpp b/qt-mobile/qmlmanager.cpp index fb3c6de51..e80c2c082 100644 --- a/qt-mobile/qmlmanager.cpp +++ b/qt-mobile/qmlmanager.cpp @@ -708,39 +708,3 @@ QString QMLManager::getDate(const QString& diveId) datestring = get_dive_date_string(d->when); return datestring; } - -QString QMLManager::getCylinder(const QString& diveId) -{ - int dive_id = diveId.toInt(); - struct dive *d = get_dive_by_uniq_id(dive_id); - QString cylinder; - if (d){ - if (d->cylinder[1].type.description != NULL){ - cylinder = "Multiple"; - } - else { - cylinder = d->cylinder[0].type.description; - } - } - return cylinder; -} - -QString QMLManager::getWeights(const QString& diveId) -{ - int dive_id = diveId.toInt(); - struct dive *d = get_dive_by_uniq_id(dive_id); - int weight = 0; - QString weights; - if (d){ - for (int i = 0; i < MAX_WEIGHTSYSTEMS; i++) - weight += d->weightsystem[i].weight.grams; - - if (informational_prefs.unit_system == IMPERIAL){ - weights = QString::number(grams_to_lbs(weight), 'f', 1) + " lbs"; - } - else { - weights = QString::number(weight/1000, 'f', 1) + " kg"; - } - } - return weights; -} diff --git a/qt-mobile/qmlmanager.h b/qt-mobile/qmlmanager.h index b53af4d04..eb225a6cf 100644 --- a/qt-mobile/qmlmanager.h +++ b/qt-mobile/qmlmanager.h @@ -87,8 +87,6 @@ public slots: QString getNumber(const QString& diveId); QString getDate(const QString& diveId); QString getCurrentPosition(); - QString getCylinder(const QString& diveId); - QString getWeights(const QString& diveId); void deleteGpsFix(quint64 when); void refreshDiveList(); diff --git a/subsurface-core/subsurface-qt/DiveObjectHelper.cpp b/subsurface-core/subsurface-qt/DiveObjectHelper.cpp index e29bd3802..b4460b4de 100644 --- a/subsurface-core/subsurface-qt/DiveObjectHelper.cpp +++ b/subsurface-core/subsurface-qt/DiveObjectHelper.cpp @@ -243,3 +243,31 @@ int DiveObjectHelper::rating() const { return m_dive->rating; } + +QString DiveObjectHelper::sumWeight() const +{ + int sum = 0; + QString sumWeight; + for (int i = 0; i < MAX_WEIGHTSYSTEMS; i++){ + sum += m_dive->weightsystem[i].weight.grams; + } + if (informational_prefs.unit_system == IMPERIAL){ + sumWeight = QString::number(grams_to_lbs(sum), 'f', 1) + " lbs"; + } + else { + sumWeight = QString::number(sum / 1000, 'f', 1) + " kg"; + } + return sumWeight; +} + +QString DiveObjectHelper::getCylinder() const +{ + QString getCylinder; + if (m_dive->cylinder[1].type.description != NULL){ + getCylinder = QObject::tr("Multiple"); + } + else { + getCylinder = m_dive->cylinder[0].type.description; + } + return getCylinder; +} diff --git a/subsurface-core/subsurface-qt/DiveObjectHelper.h b/subsurface-core/subsurface-qt/DiveObjectHelper.h index 84c93465e..f44971fcd 100644 --- a/subsurface-core/subsurface-qt/DiveObjectHelper.h +++ b/subsurface-core/subsurface-qt/DiveObjectHelper.h @@ -32,6 +32,8 @@ class DiveObjectHelper : public QObject { Q_PROPERTY(QString tripMeta READ tripMeta CONSTANT) Q_PROPERTY(QString maxcns READ maxcns CONSTANT) Q_PROPERTY(QString otu READ otu CONSTANT) + Q_PROPERTY(QString sumWeight READ sumWeight CONSTANT) + Q_PROPERTY(QString getCylinder READ getCylinder CONSTANT) public: DiveObjectHelper(struct dive *dive = NULL); ~DiveObjectHelper(); @@ -62,6 +64,8 @@ public: QString tripMeta() const; QString maxcns() const; QString otu() const; + QString sumWeight() const; + QString getCylinder() const; private: struct dive *m_dive; |