mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
QML-UI: attempt to improve profile scaling
This still doesn't address all the issues, but appears to be a step forward. It also contains some debug output to better understand what's going on. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
320ff2eba3
commit
07a0ef2139
1 changed files with 19 additions and 3 deletions
|
@ -29,6 +29,8 @@ QString QMLProfile::diveId() const
|
||||||
|
|
||||||
void QMLProfile::setDiveId(const QString &diveId)
|
void QMLProfile::setDiveId(const QString &diveId)
|
||||||
{
|
{
|
||||||
|
static bool firstRun = true;
|
||||||
|
static QTransform profileTransform;
|
||||||
m_diveId = diveId;
|
m_diveId = diveId;
|
||||||
struct dive *d = get_dive_by_uniq_id(m_diveId.toInt());
|
struct dive *d = get_dive_by_uniq_id(m_diveId.toInt());
|
||||||
if (m_diveId.toInt() < 1)
|
if (m_diveId.toInt() < 1)
|
||||||
|
@ -36,11 +38,25 @@ void QMLProfile::setDiveId(const QString &diveId)
|
||||||
if (!d)
|
if (!d)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
qDebug() << "setDiveId called with pos/size" << x() << y() << width() << height();
|
||||||
// set the profile widget's geometry and scale the viewport so
|
// set the profile widget's geometry and scale the viewport so
|
||||||
// the scene fills it, then plot the dive on that widget
|
// the scene fills it, then plot the dive on that widget
|
||||||
m_profileWidget->setGeometry(QRect(x(), y(), width(), height()));
|
if (firstRun) {
|
||||||
QTransform profileTransform;
|
firstRun = false;
|
||||||
profileTransform.scale(width() / 100, height() / 100);
|
m_profileWidget->setGeometry(QRect(x(), y(), width(), height()));
|
||||||
|
profileTransform.scale(width() / 100, height() / 100);
|
||||||
|
}
|
||||||
m_profileWidget->setTransform(profileTransform);
|
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);
|
m_profileWidget->plotDive(d);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue