aboutsummaryrefslogtreecommitdiffstats
path: root/src/templates/qquicktumbler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/templates/qquicktumbler.cpp')
-rw-r--r--src/templates/qquicktumbler.cpp64
1 files changed, 35 insertions, 29 deletions
diff --git a/src/templates/qquicktumbler.cpp b/src/templates/qquicktumbler.cpp
index c5b3f676..38447f6b 100644
--- a/src/templates/qquicktumbler.cpp
+++ b/src/templates/qquicktumbler.cpp
@@ -77,7 +77,7 @@ class QQuickTumblerPrivate : public QQuickControlPrivate, public QQuickItemChang
public:
QQuickTumblerPrivate() :
- delegate(Q_NULLPTR),
+ delegate(nullptr),
visibleItemCount(3)
{
}
@@ -93,8 +93,8 @@ public:
void _q_updateItemHeights();
void _q_updateItemWidths();
- void itemChildAdded(QQuickItem *, QQuickItem *) Q_DECL_OVERRIDE;
- void itemChildRemoved(QQuickItem *, QQuickItem *) Q_DECL_OVERRIDE;
+ void itemChildAdded(QQuickItem *, QQuickItem *) override;
+ void itemChildRemoved(QQuickItem *, QQuickItem *) override;
};
static QList<QQuickItem *> contentItemChildItems(QQuickItem *contentItem)
@@ -126,7 +126,7 @@ namespace {
else if (contentType == ListViewContentItem)
return qobject_cast<QQuickFlickable*>(rootContentItem)->contentItem();
- return Q_NULLPTR;
+ return nullptr;
}
static inline ContentItemType contentItemType(QQuickItem *rootContentItem)
@@ -158,7 +158,8 @@ void QQuickTumblerPrivate::_q_updateItemHeights()
// which doesn't affect them, only their getters.
Q_Q(const QQuickTumbler);
const qreal itemHeight = delegateHeight(q);
- foreach (QQuickItem *childItem, contentItemChildItems(contentItem))
+ const auto items = contentItemChildItems(contentItem);
+ for (QQuickItem *childItem : items)
childItem->setHeight(itemHeight);
}
@@ -166,7 +167,8 @@ void QQuickTumblerPrivate::_q_updateItemWidths()
{
Q_Q(const QQuickTumbler);
const qreal availableWidth = q->availableWidth();
- foreach (QQuickItem *childItem, contentItemChildItems(contentItem))
+ const auto items = contentItemChildItems(contentItem);
+ for (QQuickItem *childItem : items)
childItem->setWidth(availableWidth);
}
@@ -211,10 +213,11 @@ QVariant QQuickTumbler::model() const
void QQuickTumbler::setModel(const QVariant &model)
{
Q_D(QQuickTumbler);
- if (model != d->model) {
- d->model = model;
- emit modelChanged();
- }
+ if (model == d->model)
+ return;
+
+ d->model = model;
+ emit modelChanged();
}
/*!
@@ -255,7 +258,7 @@ void QQuickTumbler::setCurrentIndex(int currentIndex)
QQuickItem *QQuickTumbler::currentItem() const
{
Q_D(const QQuickTumbler);
- return d->contentItem ? d->contentItem->property("currentItem").value<QQuickItem*>() : Q_NULLPTR;
+ return d->contentItem ? d->contentItem->property("currentItem").value<QQuickItem*>() : nullptr;
}
/*!
@@ -272,10 +275,11 @@ QQmlComponent *QQuickTumbler::delegate() const
void QQuickTumbler::setDelegate(QQmlComponent *delegate)
{
Q_D(QQuickTumbler);
- if (delegate != d->delegate) {
- d->delegate = delegate;
- emit delegateChanged();
- }
+ if (delegate == d->delegate)
+ return;
+
+ d->delegate = delegate;
+ emit delegateChanged();
}
/*!
@@ -293,11 +297,12 @@ int QQuickTumbler::visibleItemCount() const
void QQuickTumbler::setVisibleItemCount(int visibleItemCount)
{
Q_D(QQuickTumbler);
- if (visibleItemCount != d->visibleItemCount) {
- d->visibleItemCount = visibleItemCount;
- d->_q_updateItemHeights();
- emit visibleItemCountChanged();
- }
+ if (visibleItemCount == d->visibleItemCount)
+ return;
+
+ d->visibleItemCount = visibleItemCount;
+ d->_q_updateItemHeights();
+ emit visibleItemCountChanged();
}
QQuickTumblerAttached *QQuickTumbler::qmlAttachedProperties(QObject *object)
@@ -305,7 +310,7 @@ QQuickTumblerAttached *QQuickTumbler::qmlAttachedProperties(QObject *object)
QQuickItem *delegateItem = qobject_cast<QQuickItem *>(object);
if (!delegateItem) {
qWarning() << "Tumbler: attached properties of Tumbler must be accessed from within a delegate item";
- return Q_NULLPTR;
+ return nullptr;
}
return new QQuickTumblerAttached(delegateItem);
@@ -398,7 +403,7 @@ class QQuickTumblerAttachedPrivate : public QObjectPrivate, public QQuickItemCha
Q_DECLARE_PUBLIC(QQuickTumblerAttached)
public:
QQuickTumblerAttachedPrivate(QQuickItem *delegateItem) :
- tumbler(Q_NULLPTR),
+ tumbler(nullptr),
index(-1),
displacement(1)
{
@@ -427,9 +432,9 @@ public:
~QQuickTumblerAttachedPrivate() {
}
- void itemGeometryChanged(QQuickItem *item, const QRectF &newGeometry, const QRectF &oldGeometry) Q_DECL_OVERRIDE;
- void itemChildAdded(QQuickItem *, QQuickItem *) Q_DECL_OVERRIDE;
- void itemChildRemoved(QQuickItem *, QQuickItem *) Q_DECL_OVERRIDE;
+ void itemGeometryChanged(QQuickItem *item, const QRectF &newGeometry, const QRectF &oldGeometry) override;
+ void itemChildAdded(QQuickItem *, QQuickItem *) override;
+ void itemChildRemoved(QQuickItem *, QQuickItem *) override;
void _q_calculateDisplacement();
@@ -472,8 +477,9 @@ void QQuickTumblerAttachedPrivate::_q_calculateDisplacement()
const int previousDisplacement = displacement;
displacement = 0;
+ const int count = tumbler->count();
// This can happen in tests, so it may happen in normal usage too.
- if (tumbler->count() == 0)
+ if (count == 0)
return;
ContentItemType contentType = contentItemType(tumbler->contentItem());
@@ -485,12 +491,12 @@ void QQuickTumblerAttachedPrivate::_q_calculateDisplacement()
if (contentType == PathViewContentItem) {
offset = tumbler->contentItem()->property("offset").toReal();
- displacement = tumbler->count() - index - offset;
+ displacement = count - index - offset;
int halfVisibleItems = tumbler->visibleItemCount() / 2 + 1;
if (displacement > halfVisibleItems)
- displacement -= tumbler->count();
+ displacement -= count;
else if (displacement < -halfVisibleItems)
- displacement += tumbler->count();
+ displacement += count;
} else {
const qreal contentY = tumbler->contentItem()->property("contentY").toReal();
const qreal delegateH = delegateHeight(tumbler);