summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--qt-mobile/qmlprofile.cpp22
1 files changed, 19 insertions, 3 deletions
diff --git a/qt-mobile/qmlprofile.cpp b/qt-mobile/qmlprofile.cpp
index 67eb1328a..cb9575858 100644
--- a/qt-mobile/qmlprofile.cpp
+++ b/qt-mobile/qmlprofile.cpp
@@ -29,6 +29,8 @@ QString QMLProfile::diveId() const
void QMLProfile::setDiveId(const QString &diveId)
{
+ static bool firstRun = true;
+ static QTransform profileTransform;
m_diveId = diveId;
struct dive *d = get_dive_by_uniq_id(m_diveId.toInt());
if (m_diveId.toInt() < 1)
@@ -36,11 +38,25 @@ void QMLProfile::setDiveId(const QString &diveId)
if (!d)
return;
+ qDebug() << "setDiveId called with pos/size" << x() << y() << width() << height();
// set the profile widget's geometry and scale the viewport so
// the scene fills it, then plot the dive on that widget
- m_profileWidget->setGeometry(QRect(x(), y(), width(), height()));
- QTransform profileTransform;
- profileTransform.scale(width() / 100, height() / 100);
+ if (firstRun) {
+ firstRun = false;
+ m_profileWidget->setGeometry(QRect(x(), y(), width(), height()));
+ profileTransform.scale(width() / 100, height() / 100);
+ }
m_profileWidget->setTransform(profileTransform);
+ qDebug() << "effective transformation:" <<
+ m_profileWidget->transform().m11() <<
+ m_profileWidget->transform().m12() <<
+ m_profileWidget->transform().m13() <<
+ m_profileWidget->transform().m21() <<
+ m_profileWidget->transform().m22() <<
+ m_profileWidget->transform().m23() <<
+ m_profileWidget->transform().m31() <<
+ m_profileWidget->transform().m32() <<
+ m_profileWidget->transform().m33();
+
m_profileWidget->plotDive(d);
}