mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-29 21:50:26 +00:00
d7f5246d6b
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>
39 lines
948 B
C++
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
|