diff options
Diffstat (limited to 'src/quick/items/qquickitemview_p_p.h')
-rw-r--r-- | src/quick/items/qquickitemview_p_p.h | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/src/quick/items/qquickitemview_p_p.h b/src/quick/items/qquickitemview_p_p.h index b978410bce..c05233d82a 100644 --- a/src/quick/items/qquickitemview_p_p.h +++ b/src/quick/items/qquickitemview_p_p.h @@ -21,12 +21,15 @@ QT_REQUIRE_CONFIG(quick_itemview); #include "qquickitemview_p.h" #include "qquickitemviewfxitem_p_p.h" +#if QT_CONFIG(quick_viewtransitions) #include "qquickitemviewtransition_p.h" +#endif #include "qquickflickable_p_p.h" #include <QtQmlModels/private/qqmlobjectmodel_p.h> #include <QtQmlModels/private/qqmldelegatemodel_p.h> #include <QtQmlModels/private/qqmlchangeset_p.h> +#include <QtCore/qpointer.h> QT_BEGIN_NAMESPACE @@ -64,7 +67,12 @@ public: }; -class Q_QUICK_AUTOTEST_EXPORT QQuickItemViewPrivate : public QQuickFlickablePrivate, public QQuickItemViewTransitionChangeListener, public QAnimationJobChangeListener +class Q_QUICK_AUTOTEST_EXPORT QQuickItemViewPrivate + : public QQuickFlickablePrivate +#if QT_CONFIG(quick_viewtransitions) + , public QQuickItemViewTransitionChangeListener +#endif + , public QAnimationJobChangeListener { public: Q_DECLARE_PUBLIC(QQuickItemView) @@ -112,7 +120,6 @@ public: }; enum BufferMode { NoBuffer = 0x00, BufferBefore = 0x01, BufferAfter = 0x02 }; - enum MovementReason { Other, SetIndex, Mouse }; bool isValid() const; qreal position() const; @@ -166,11 +173,13 @@ public: void repositionFirstItem(FxViewItem *prevVisibleItemsFirst, qreal prevVisibleItemsFirstPos, FxViewItem *prevFirstVisible, ChangeResult *insertionResult, ChangeResult *removalResult); +#if QT_CONFIG(quick_viewtransitions) void createTransitioner(); void prepareVisibleItemTransitions(); void prepareRemoveTransitions(QMultiHash<QQmlChangeSet::MoveKey, FxViewItem *> *removedItems); bool prepareNonVisibleItemTransition(FxViewItem *item, const QRectF &viewBounds); void viewItemTransitionFinished(QQuickItemViewTransitionableItem *item) override; +#endif int findMoveKeyIndex(QQmlChangeSet::MoveKey key, const QVector<QQmlChangeSet::Change> &changes) const; @@ -187,7 +196,10 @@ public: bool hasPendingChanges() const { return currentChanges.hasPendingChanges() || bufferedChanges.hasPendingChanges() - ||runDelayedRemoveTransition; +#if QT_CONFIG(quick_viewtransitions) + ||runDelayedRemoveTransition +#endif + ; } void refillOrLayout() { @@ -224,8 +236,6 @@ public: Qt::LayoutDirection layoutDirection; QQuickItemView::VerticalLayoutDirection verticalLayoutDirection; - MovementReason moveReason; - QList<FxViewItem *> visibleItems; qreal firstVisibleItemPosition = 0; void storeFirstVisibleItemPosition() { @@ -266,8 +276,10 @@ public: MovedItem(FxViewItem *i, QQmlChangeSet::MoveKey k) : item(i), moveKey(k) {} }; +#if QT_CONFIG(quick_viewtransitions) QQuickItemViewTransitioner *transitioner; QVector<FxViewItem *> releasePendingTransition; +#endif mutable qreal minExtent; mutable qreal maxExtent; @@ -286,7 +298,9 @@ public: bool highlightRangeEndValid : 1; bool fillCacheBuffer : 1; bool inRequest : 1; +#if QT_CONFIG(quick_viewtransitions) bool runDelayedRemoveTransition : 1; +#endif bool delegateValidated : 1; bool isClearing : 1; @@ -333,7 +347,9 @@ protected: QList<FxViewItem *> *newItems, QList<MovedItem> *movingIntoView) = 0; virtual bool needsRefillForAddedOrRemovedIndex(int) const { return false; } +#if QT_CONFIG(quick_viewtransitions) virtual void translateAndTransitionItemsAfter(int afterIndex, const ChangeResult &insertionResult, const ChangeResult &removalResult) = 0; +#endif virtual void initializeViewItem(FxViewItem *) {} virtual void initializeCurrentItem() {} |