<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jan 25, 2016 at 3:44 PM, Joakim Bygdell <span dir="ltr"><<a href="mailto:j.bygdell@gmail.com" target="_blank">j.bygdell@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Helper function that retrieved the total weight for a dive to be displayed<br>
on the DiveDetials page.<br>
<br>
Signed-off-by: Joakim Bygdell <<a href="mailto:j.bygdell@gmail.com">j.bygdell@gmail.com</a>><br>
---<br>
qt-mobile/qml/DiveDetailsView.qml | 2 +-<br>
qt-mobile/qmlmanager.cpp | 20 ++++++++++++++++++++<br>
qt-mobile/qmlmanager.h | 1 +<br>
3 files changed, 22 insertions(+), 1 deletion(-)<br>
<br>
diff --git a/qt-mobile/qml/DiveDetailsView.qml b/qt-mobile/qml/DiveDetailsView.qml<br>
index 6c33359..df1d255 100644<br>
--- a/qt-mobile/qml/DiveDetailsView.qml<br>
+++ b/qt-mobile/qml/DiveDetailsView.qml<br>
@@ -13,6 +13,7 @@ Item {<br>
id: detailsView<br>
property int labelWidth: MobileComponents.Units.gridUnit * 10<br>
property string cylinder: manager.getCylinder(<a href="http://dive.id" rel="noreferrer" target="_blank">dive.id</a>)<br>
+ property string weight: manager.getWeights(<a href="http://dive.id" rel="noreferrer" target="_blank">dive.id</a>)<br>
width: parent.width<br>
height: mainLayout.implicitHeight + MobileComponents.Units.iconSizes.large<br>
Rectangle {<br>
@@ -171,7 +172,6 @@ Item {<br>
MobileComponents.Label {<br>
id: txtWeight<br>
text: weight<br>
- Layout.fillWidth: true<br>
wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere<br>
Layout.alignment: Qt.AlignRight<br>
}<br>
diff --git a/qt-mobile/qmlmanager.cpp b/qt-mobile/qmlmanager.cpp<br>
index d2b5c47..a4cfd5f 100644<br>
--- a/qt-mobile/qmlmanager.cpp<br>
+++ b/qt-mobile/qmlmanager.cpp<br>
@@ -718,3 +718,23 @@ QString QMLManager::getCylinder(QString diveId)<br>
cylinder = d->cylinder[0].type.description;<br>
return cylinder;<br>
}<br>
+<br>
+QString QMLManager::getWeights(QString diveId)<br>
+{<br>
+ int dive_id = diveId.toInt();<br>
+ struct dive *d = get_dive_by_uniq_id(dive_id);<br>
+ int weight = 0;<br>
+ QString weights;<br>
+ if (d){<br>
+ for (int i = 0; i < MAX_WEIGHTSYSTEMS; i++)<br>
+ weight += d->weightsystem[i].weight.grams;<br>
+<br>
+ if (informational_prefs.unit_system == IMPERIAL){<br>
+ weights = QString::number(grams_to_lbs(weight)) + " lbs";<br>
+ }<br>
+ else {<br>
+ weights = QString::number(weight/1000) + " kg";<br>
+ }<br>
+ }<br>
+ return weights;<br>
+}<br></blockquote><div><br></div><div>I don't like very much what's happening to QMLManager at this point, it's becomming a godlike class. </div><div><br></div><div>we already have a DiveObjectWrapper that's exported to Qml as 'Dive' so you can use a Dive object there directly,</div><div><br></div><div>you can add a Q_INVOKABLE QString DiveObjectWrapper::weightsAsString() (or any other name) {</div><div> your foreach code up there; </div><div>}</div><div><br></div><div>and call it on the QML as follows:</div><div><br></div><div>model.dive.weightsAsString();</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
diff --git a/qt-mobile/qmlmanager.h b/qt-mobile/qmlmanager.h<br>
index 57b67c2..bcaf9c7 100644<br>
--- a/qt-mobile/qmlmanager.h<br>
+++ b/qt-mobile/qmlmanager.h<br>
@@ -85,6 +85,7 @@ public slots:<br>
QString getDate(QString diveId);<br>
QString getCurrentPosition();<br>
QString getCylinder(QString diveId);<br>
+ QString getWeights(QString diveId);<br>
void deleteGpsFix(quint64 when);<br>
void refreshDiveList();<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
2.4.9 (Apple Git-60)<br>
<br>
_______________________________________________<br>
subsurface mailing list<br>
<a href="mailto:subsurface@subsurface-divelog.org">subsurface@subsurface-divelog.org</a><br>
<a href="http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface" rel="noreferrer" target="_blank">http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface</a><br>
</font></span></blockquote></div><br></div></div>