diff options
author | Oliver Eftevaag <oliver.eftevaag@qt.io> | 2023-05-26 16:49:20 +0200 |
---|---|---|
committer | Oliver Eftevaag <oliver.eftevaag@qt.io> | 2023-06-08 12:21:28 +0200 |
commit | 351979e05ad2a861fc3e6f8d1de6197a751316a8 (patch) | |
tree | 5a3c81ff5d547cf0418eebf9f10e325f260d49d8 /src/quick/items/qquickpincharea_p.h | |
parent | b80f0383ab99a92e0470800ea1b1382453a7e9aa (diff) |
Make properties in Qt Quick FINAL to prevent shadowing
Without setting the FINAL flag, properties can be shadowed by users.
In the following example:
Image {
property string source: "Shadowing QQuickImage::source"
}
The source property of QQuickImage, will be shadowed by a new property
with the same name.
This can both cause confusion for non-experienced users, and it causes
issues with qmlsc.
Shadowing a property is usually unwanted. But there are some situations
where it might be intended. The QML Object Attributes doc page
demonstrates that you can override the color property in
QQuickRectangle, for instance.
[ChangeLog][Important Behavior Changes][QtQuick] Most properties for
types in the QtQuick module are now FINAL, meaning that they can no
longer be shadowed by declaring new properties with the same names.
With few exceptions. A warning will be printed out to the console, when
a FINAL property is shadowed. We recommend that users rename those
properties to avoid potential unexpected behavior changes.
Task-number: QTBUG-108739
Pick-to: 6.6
Change-Id: I1070926606f4d88ef7edf088ff80fb3ec82305c8
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
Diffstat (limited to 'src/quick/items/qquickpincharea_p.h')
-rw-r--r-- | src/quick/items/qquickpincharea_p.h | 54 |
1 files changed, 27 insertions, 27 deletions
diff --git a/src/quick/items/qquickpincharea_p.h b/src/quick/items/qquickpincharea_p.h index 5e08aa3eeb..63f824984e 100644 --- a/src/quick/items/qquickpincharea_p.h +++ b/src/quick/items/qquickpincharea_p.h @@ -25,17 +25,17 @@ class Q_QUICK_PRIVATE_EXPORT QQuickPinch : public QObject { Q_OBJECT - Q_PROPERTY(QQuickItem *target READ target WRITE setTarget RESET resetTarget NOTIFY targetChanged) - Q_PROPERTY(qreal minimumScale READ minimumScale WRITE setMinimumScale NOTIFY minimumScaleChanged) - Q_PROPERTY(qreal maximumScale READ maximumScale WRITE setMaximumScale NOTIFY maximumScaleChanged) - Q_PROPERTY(qreal minimumRotation READ minimumRotation WRITE setMinimumRotation NOTIFY minimumRotationChanged) - Q_PROPERTY(qreal maximumRotation READ maximumRotation WRITE setMaximumRotation NOTIFY maximumRotationChanged) - Q_PROPERTY(Axis dragAxis READ axis WRITE setAxis NOTIFY dragAxisChanged) - Q_PROPERTY(qreal minimumX READ xmin WRITE setXmin NOTIFY minimumXChanged) - Q_PROPERTY(qreal maximumX READ xmax WRITE setXmax NOTIFY maximumXChanged) - Q_PROPERTY(qreal minimumY READ ymin WRITE setYmin NOTIFY minimumYChanged) - Q_PROPERTY(qreal maximumY READ ymax WRITE setYmax NOTIFY maximumYChanged) - Q_PROPERTY(bool active READ active NOTIFY activeChanged) + Q_PROPERTY(QQuickItem *target READ target WRITE setTarget RESET resetTarget NOTIFY targetChanged FINAL) + Q_PROPERTY(qreal minimumScale READ minimumScale WRITE setMinimumScale NOTIFY minimumScaleChanged FINAL) + Q_PROPERTY(qreal maximumScale READ maximumScale WRITE setMaximumScale NOTIFY maximumScaleChanged FINAL) + Q_PROPERTY(qreal minimumRotation READ minimumRotation WRITE setMinimumRotation NOTIFY minimumRotationChanged FINAL) + Q_PROPERTY(qreal maximumRotation READ maximumRotation WRITE setMaximumRotation NOTIFY maximumRotationChanged FINAL) + Q_PROPERTY(Axis dragAxis READ axis WRITE setAxis NOTIFY dragAxisChanged FINAL) + Q_PROPERTY(qreal minimumX READ xmin WRITE setXmin NOTIFY minimumXChanged FINAL) + Q_PROPERTY(qreal maximumX READ xmax WRITE setXmax NOTIFY maximumXChanged FINAL) + Q_PROPERTY(qreal minimumY READ ymin WRITE setYmin NOTIFY minimumYChanged FINAL) + Q_PROPERTY(qreal maximumY READ ymax WRITE setYmax NOTIFY maximumYChanged FINAL) + Q_PROPERTY(bool active READ active NOTIFY activeChanged FINAL) QML_NAMED_ELEMENT(Pinch) QML_ADDED_IN_VERSION(2, 0) @@ -164,20 +164,20 @@ class Q_QUICK_PRIVATE_EXPORT QQuickPinchEvent : public QObject { Q_OBJECT - Q_PROPERTY(QPointF center READ center) - Q_PROPERTY(QPointF startCenter READ startCenter) - Q_PROPERTY(QPointF previousCenter READ previousCenter) - Q_PROPERTY(qreal scale READ scale) - Q_PROPERTY(qreal previousScale READ previousScale) - Q_PROPERTY(qreal angle READ angle) - Q_PROPERTY(qreal previousAngle READ previousAngle) - Q_PROPERTY(qreal rotation READ rotation) - Q_PROPERTY(QPointF point1 READ point1) - Q_PROPERTY(QPointF startPoint1 READ startPoint1) - Q_PROPERTY(QPointF point2 READ point2) - Q_PROPERTY(QPointF startPoint2 READ startPoint2) - Q_PROPERTY(int pointCount READ pointCount) - Q_PROPERTY(bool accepted READ accepted WRITE setAccepted) + Q_PROPERTY(QPointF center READ center FINAL) + Q_PROPERTY(QPointF startCenter READ startCenter FINAL) + Q_PROPERTY(QPointF previousCenter READ previousCenter FINAL) + Q_PROPERTY(qreal scale READ scale FINAL) + Q_PROPERTY(qreal previousScale READ previousScale FINAL) + Q_PROPERTY(qreal angle READ angle FINAL) + Q_PROPERTY(qreal previousAngle READ previousAngle FINAL) + Q_PROPERTY(qreal rotation READ rotation FINAL) + Q_PROPERTY(QPointF point1 READ point1 FINAL) + Q_PROPERTY(QPointF startPoint1 READ startPoint1 FINAL) + Q_PROPERTY(QPointF point2 READ point2 FINAL) + Q_PROPERTY(QPointF startPoint2 READ startPoint2 FINAL) + Q_PROPERTY(int pointCount READ pointCount FINAL) + Q_PROPERTY(bool accepted READ accepted WRITE setAccepted FINAL) QML_ANONYMOUS QML_ADDED_IN_VERSION(2, 0) @@ -236,8 +236,8 @@ class Q_QUICK_PRIVATE_EXPORT QQuickPinchArea : public QQuickItem { Q_OBJECT - Q_PROPERTY(bool enabled READ isEnabled WRITE setEnabled NOTIFY enabledChanged) - Q_PROPERTY(QQuickPinch *pinch READ pinch CONSTANT) + Q_PROPERTY(bool enabled READ isEnabled WRITE setEnabled NOTIFY enabledChanged FINAL) + Q_PROPERTY(QQuickPinch *pinch READ pinch CONSTANT FINAL) QML_NAMED_ELEMENT(PinchArea) QML_ADDED_IN_VERSION(2, 0) |