subsurface/qt-mobile/qmlprofile.h
Sebastian Kügler 53024ca76d 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>
2016-01-13 16:27:41 -08:00

38 lines
862 B
C++

#ifndef QMLPROFILE_H
#define QMLPROFILE_H
#include <QQuickPaintedItem>
class ProfileWidget2;
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();
void paint(QPainter *painter);
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