aboutsummaryrefslogtreecommitdiffstats
path: root/qt-mobile/qmlprofile.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qt-mobile/qmlprofile.cpp')
-rw-r--r--qt-mobile/qmlprofile.cpp43
1 files changed, 43 insertions, 0 deletions
diff --git a/qt-mobile/qmlprofile.cpp b/qt-mobile/qmlprofile.cpp
new file mode 100644
index 000000000..351b5b1ce
--- /dev/null
+++ b/qt-mobile/qmlprofile.cpp
@@ -0,0 +1,43 @@
+#include "qmlprofile.h"
+#include "profilewidget2.h"
+#include "dive.h"
+
+QMLProfile::QMLProfile(QQuickItem *parent) :
+ QQuickPaintedItem(parent)
+{
+ profile = new ProfileWidget2(0);
+ profile->setProfileState();
+ profile->setToolTipVisibile(false);
+}
+
+void QMLProfile::paint(QPainter *painter)
+{
+ if (m_diveId.toInt() < 1)
+ return;
+
+ struct dive *d;
+ d = get_dive_by_uniq_id(m_diveId.toInt());
+ if (!d)
+ return;
+
+ int old_animation_speed = prefs.animation_speed;
+ prefs.animation_speed = 0; // no animations while rendering the QGraphicsView
+ profile->plotDive(d);
+ // we need to show the widget so it gets populated, but then
+ // hide it right away so we get to draw it ourselves below
+ profile->show();
+ profile->hide();
+ profile->resize(this->width(), this->height());
+ profile->render(painter, profile->geometry());
+ prefs.animation_speed = old_animation_speed;
+}
+
+QString QMLProfile::diveId() const
+{
+ return m_diveId;
+}
+
+void QMLProfile::setDiveId(const QString &diveId)
+{
+ m_diveId = diveId;
+}