diff options
author | Erik Verbruggen <[email protected]> | 2016-04-11 12:44:00 +0200 |
---|---|---|
committer | Erik Verbruggen <[email protected]> | 2016-07-11 07:50:51 +0000 |
commit | e2c296c46b3f922ed12f83b166b1493dfded480e (patch) | |
tree | 4275a195b7fcd8bb79285b5c1a2f56cf6da9f61b /src/quick/items/qquickdrag.cpp | |
parent | 1c5171eb9747107ea10b4cc3b694ae064fda8655 (diff) |
QML: Pass the kind of geometry change around
This prevents re-calculation of what actually changed, and removes the
now unused parameter newGeometry. Other than this change calculation,
the only place where oldGeometry was used is
QQuickListViewPrivate::itemGeometryChanged. To get rid of oldGeometry
too, QQuickListViewPrivate now stores the current (i.e. last known)
geometry, and updates it in itemGeometryChanged.
Change-Id: I8a5286d08a04132c9a4c81de7ce221f5676946e6
Reviewed-by: Frederik Gladhorn <[email protected]>
Reviewed-by: Robin Burchell <[email protected]>
Diffstat (limited to 'src/quick/items/qquickdrag.cpp')
-rw-r--r-- | src/quick/items/qquickdrag.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/quick/items/qquickdrag.cpp b/src/quick/items/qquickdrag.cpp index cc30199253..8a0af6c263 100644 --- a/src/quick/items/qquickdrag.cpp +++ b/src/quick/items/qquickdrag.cpp @@ -82,7 +82,7 @@ public: { } - void itemGeometryChanged(QQuickItem *, const QRectF &, const QRectF &) Q_DECL_OVERRIDE; + void itemGeometryChanged(QQuickItem *, QQuickGeometryChange, const QRectF &) Q_DECL_OVERRIDE; void itemParentChanged(QQuickItem *, QQuickItem *parent) Q_DECL_OVERRIDE; void updatePosition(); void restartDrag(); @@ -148,9 +148,10 @@ public: \sa {Qt Quick Examples - Drag and Drop}, {Qt Quick Examples - externaldraganddrop} */ -void QQuickDragAttachedPrivate::itemGeometryChanged(QQuickItem *, const QRectF &newGeometry, const QRectF &oldGeometry) +void QQuickDragAttachedPrivate::itemGeometryChanged(QQuickItem *, QQuickGeometryChange change, + const QRectF &) { - if (newGeometry.topLeft() == oldGeometry.topLeft() || !active || itemMoved) + if (!change.positionChange() || !active || itemMoved) return; updatePosition(); } |