Scale the QML profile in two stages.  Firstly, scale to fit.  Secondly, scale
again to 95% to create a margin around the profile.

The previous method scales to fit a create a margin in one step.  It appears
more elegant, and the margin is calculated more rationally.  Unfortunately on
some devices, including mine, the resulting profile is cropped for no obvious
reason.

Signed-off-by: Rick Walsh <[email protected]>
---

I really do not know why the current method clips the displayed profile.  This 
way works, at least on my device.

This commit effectively reverts 7e2898d (QML UI: scale profile to allow for 
some visible separation), and adds the second scale call to create the margin.

If this commit is taken, ef653b4 (QML UI: obtain a reasonable margin from QML) 
could be reverted as the margin isn't used anymore.  On the other hand, the 
calculated margin could be useful.

 qt-mobile/qmlprofile.cpp | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/qt-mobile/qmlprofile.cpp b/qt-mobile/qmlprofile.cpp
index d428364..ee0eea7 100644
--- a/qt-mobile/qmlprofile.cpp
+++ b/qt-mobile/qmlprofile.cpp
@@ -51,10 +51,8 @@ void QMLProfile::setDiveId(const QString &diveId)
        // the scene fills it, then plot the dive on that widget
        if (firstRun) {
                firstRun = false;
-               double w = contentsBoundingRect().width();
-               double h = contentsBoundingRect().height();
-               double m = m_margin;
-               profileTransform.scale((w - 2 * m) / 100, (h - 2 * m) / 100);
+               m_profileWidget->setGeometry(QRect(x(), y(), width(), 
height()));
+               profileTransform.scale(width() / 100, height() / 100);
        }
        m_profileWidget->setTransform(profileTransform);
        qDebug() << "effective transformation:" <<
@@ -69,4 +67,6 @@ void QMLProfile::setDiveId(const QString &diveId)
                    m_profileWidget->transform().m33();
 
        m_profileWidget->plotDive(d);
+       // scale the profile to create a margin
+       m_profileWidget->scale(0.95, 0.95);
 }
-- 
2.5.0

_______________________________________________
subsurface mailing list
[email protected]
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to