try to fix profile scaling

Different approach here:

- profile gets a bit higher, this was requested on the mailinglist, and
  seems to behave much better with the painted profile, we'd otherwise
  get it magically clipped on the right hand side.
- Make the scaling dpi aware, this fixes scaling for me on the Nexus7, I
  haven't been able to test it properly on other devices, so this needs
  some more testing. The result is visually quite close to what we can
  do, although I'm still getting a somewhat larger margin on the right.
  To get at the devicePixelRatio without too much custom code, I've
  added a property to the QMLProfile to retrieve it from the theme engine.

Signed-off-by: Sebastian Kügler <sebas@kde.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Sebastian Kügler 2016-01-13 03:05:06 +01:00 committed by Dirk Hohndel
parent 8199c13f42
commit 53024ca76d
3 changed files with 37 additions and 12 deletions

View file

@ -9,6 +9,8 @@ class QMLProfile : public QQuickPaintedItem
{
Q_OBJECT
Q_PROPERTY(QString diveId READ diveId WRITE setDiveId NOTIFY diveIdChanged)
Q_PROPERTY(qreal devicePixelRatio READ devicePixelRatio WRITE setDevicePixelRatio NOTIFY devicePixelRatioChanged)
public:
explicit QMLProfile(QQuickItem *parent = 0);
virtual ~QMLProfile();
@ -17,15 +19,20 @@ public:
QString diveId() const;
void setDiveId(const QString &diveId);
qreal devicePixelRatio() const;
void setDevicePixelRatio(qreal dpr);
public slots:
void setMargin(int margin);
private:
QString m_diveId;
qreal m_devicePixelRatio;
int m_margin;
ProfileWidget2 *m_profileWidget;
signals:
void rightAlignedChanged();
void diveIdChanged();
void devicePixelRatioChanged();
};
#endif // QMLPROFILE_H