diff options
author | Grace Karanja <gracie.karanja89@gmail.com> | 2015-07-25 19:10:51 +0300 |
---|---|---|
committer | Grace Karanja <gracie.karanja89@gmail.com> | 2015-07-25 19:39:05 +0300 |
commit | ea574b6b11d18670779bab3154d41a09cb95460d (patch) | |
tree | a58d907f9c49396871be3cda353b07f385dc1d70 | |
parent | c19f4869afdb874045bce2ae39eba8c9521bade1 (diff) | |
download | subsurface-ea574b6b11d18670779bab3154d41a09cb95460d.tar.gz |
QML UI: Show profile on Android
This is a better way for showing the profile. The show() and hide()
statements are replaced by a QTransform statement.
Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
-rw-r--r-- | qt-mobile/qmlprofile.cpp | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/qt-mobile/qmlprofile.cpp b/qt-mobile/qmlprofile.cpp index 351b5b1ce..9e30cc018 100644 --- a/qt-mobile/qmlprofile.cpp +++ b/qt-mobile/qmlprofile.cpp @@ -1,13 +1,11 @@ #include "qmlprofile.h" #include "profilewidget2.h" #include "dive.h" +#include <QTransform> QMLProfile::QMLProfile(QQuickItem *parent) : QQuickPaintedItem(parent) { - profile = new ProfileWidget2(0); - profile->setProfileState(); - profile->setToolTipVisibile(false); } void QMLProfile::paint(QPainter *painter) @@ -20,16 +18,21 @@ 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); - // 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()); + QTransform profileTransform; + profileTransform.scale((this->width() / profile->sceneRect().width()) - 1, (this->height()/profile->sceneRect().height()) - 1); + profile->setTransform(profileTransform); + profile->render(painter); prefs.animation_speed = old_animation_speed; + + profile->deleteLater(); } QString QMLProfile::diveId() const |