subsurface/mobile-widgets/qmlprofile.h
Berthold Stoeger d7f5246d6b Cleanup: remove deleteLater() in QMLProfile
The actual profile object was destroyed with deleteLater() in the
destructor of QMLProfile. This is ominous, because the subobject
shouldn't survive the parent object.

Therefore, automatically destroy the profile by using a QScopedPointer.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-05-26 09:21:46 -07:00

39 lines
948 B
C++

// SPDX-License-Identifier: GPL-2.0
#ifndef QMLPROFILE_H
#define QMLPROFILE_H
#include "profile-widget/profilewidget2.h"
#include <QQuickPaintedItem>
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);
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);
void screenChanged(QScreen *screen);
private:
QString m_diveId;
qreal m_devicePixelRatio;
int m_margin;
QScopedPointer<ProfileWidget2> m_profileWidget;
signals:
void rightAlignedChanged();
void diveIdChanged();
void devicePixelRatioChanged();
};
#endif // QMLPROFILE_H