diff options
-rw-r--r-- | qt-mobile/qmlprofile.cpp | 24 | ||||
-rw-r--r-- | qt-mobile/qmlprofile.h | 4 |
2 files changed, 17 insertions, 11 deletions
diff --git a/qt-mobile/qmlprofile.cpp b/qt-mobile/qmlprofile.cpp index 01b03d1c7..a4ff8a9d6 100644 --- a/qt-mobile/qmlprofile.cpp +++ b/qt-mobile/qmlprofile.cpp @@ -6,6 +6,15 @@ QMLProfile::QMLProfile(QQuickItem *parent) : QQuickPaintedItem(parent) { + m_profileWidget = new ProfileWidget2(0); + m_profileWidget->setProfileState(); + m_profileWidget->setToolTipVisibile(false); + //m_profileWidget->setGeometry(this->geometry()); +} + +QMLProfile::~QMLProfile() +{ + m_profileWidget->deleteLater(); } void QMLProfile::paint(QPainter *painter) @@ -18,21 +27,16 @@ void QMLProfile::paint(QPainter *painter) if (!d) return; - - profile = new ProfileWidget2(0); - profile->setProfileState(); - profile->setToolTipVisibile(false); - int old_animation_speed = prefs.animation_speed; prefs.animation_speed = 0; // no animations while rendering the QGraphicsView - profile->plotDive(d); + + m_profileWidget->setGeometry(QRect(x(), y(), width(), height())); + m_profileWidget->plotDive(d); QTransform profileTransform; profileTransform.scale(this->height() / 100, this->height() / 100); - profile->setTransform(profileTransform); - profile->render(painter); + m_profileWidget->setTransform(profileTransform); + m_profileWidget->render(painter); prefs.animation_speed = old_animation_speed; - - profile->deleteLater(); } QString QMLProfile::diveId() const diff --git a/qt-mobile/qmlprofile.h b/qt-mobile/qmlprofile.h index b5192913a..6cbdd62ff 100644 --- a/qt-mobile/qmlprofile.h +++ b/qt-mobile/qmlprofile.h @@ -11,6 +11,8 @@ class QMLProfile : public QQuickPaintedItem Q_PROPERTY(QString diveId READ diveId WRITE setDiveId NOTIFY diveIdChanged) public: explicit QMLProfile(QQuickItem *parent = 0); + virtual ~QMLProfile(); + void paint(QPainter *painter); QString diveId() const; @@ -18,7 +20,7 @@ public: private: QString m_diveId; - ProfileWidget2 *profile; + ProfileWidget2 *m_profileWidget; signals: void rightAlignedChanged(); void diveIdChanged(); |