mirror of
https://github.com/subsurface/subsurface.git
synced 2025-01-20 14:55:27 +00:00
QML UI: scale profile in two stages
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 <rickmwalsh@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
2cce4ec3a4
commit
7f22984d18
1 changed files with 4 additions and 4 deletions
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue