summaryrefslogtreecommitdiffstats
path: root/qt-mobile/qmlprofile.cpp
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2015-07-17 11:57:21 -0700
committerGravatar Dirk Hohndel <dirk@hohndel.org>2015-07-17 12:00:38 -0700
commitd595f5c167c7283dc22f902ed0b18a7d6da2221e (patch)
tree10efaa6874740510a90fb9144facd7abe86ab577 /qt-mobile/qmlprofile.cpp
parent76e61bd8d9baea008628bf5b176cf8f0b664e78f (diff)
parent0c9756c5d786158f25aaf1ad2d9c316be9e2b9e5 (diff)
downloadsubsurface-d595f5c167c7283dc22f902ed0b18a7d6da2221e.tar.gz
Merge branch 'devel' of https://github.com/gracie89/subsurface
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
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;
+}