<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>