diff options
author | Shawn Rutledge <shawn.rutledge@digia.com> | 2014-08-12 13:42:19 +0200 |
---|---|---|
committer | Shawn Rutledge <shawn.rutledge@digia.com> | 2014-08-13 10:09:10 +0200 |
commit | d363e037647331386806ebae643adcf6968fd51d (patch) | |
tree | 7bc6a8c283341346086102db0ac028b593ab4e7f /src | |
parent | c7b85b0cdcba7e0aecb210b04d5a99f77ec4375c (diff) |
ItemView: use categorized logging for delegate lifecycle
It becomes configurable at runtime instead of having to uncomment
and recompile.
Change-Id: I2c6f24c89f7e6fe1a9a77b948cdac6f2994680bf
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
Diffstat (limited to 'src')
-rw-r--r-- | src/quick/items/qquickgridview.cpp | 26 | ||||
-rw-r--r-- | src/quick/items/qquickitemview.cpp | 2 | ||||
-rw-r--r-- | src/quick/items/qquickitemview_p.h | 3 | ||||
-rw-r--r-- | src/quick/items/qquicklistview.cpp | 26 |
4 files changed, 17 insertions, 40 deletions
diff --git a/src/quick/items/qquickgridview.cpp b/src/quick/items/qquickgridview.cpp index 5b928310cd..64458c8e9a 100644 --- a/src/quick/items/qquickgridview.cpp +++ b/src/quick/items/qquickgridview.cpp @@ -58,8 +58,6 @@ QT_BEGIN_NAMESPACE #define QML_FLICK_SNAPONETHRESHOLD 30 #endif -//#define DEBUG_DELEGATE_LIFECYCLE - //---------------------------------------------------------------------------- class FxGridItemSG : public FxViewItem @@ -512,9 +510,7 @@ bool QQuickGridViewPrivate::addVisibleItems(qreal fillFrom, qreal fillTo, qreal bool changed = false; while (modelIndex < model->count() && rowPos <= fillTo + rowSize()*(columns - colNum)/(columns+1)) { -#ifdef DEBUG_DELEGATE_LIFECYCLE - qDebug() << "refill: append item" << modelIndex << colPos << rowPos; -#endif + qCDebug(lcItemViewDelegateLifecycle) << "refill: append item" << modelIndex << colPos << rowPos; if (!(item = static_cast<FxGridItemSG*>(createItem(modelIndex, doBuffer)))) break; if (!transitioner || !transitioner->canTransition(QQuickItemViewTransitioner::PopulateTransition, true)) // pos will be set by layoutVisibleItems() @@ -549,9 +545,7 @@ bool QQuickGridViewPrivate::addVisibleItems(qreal fillFrom, qreal fillTo, qreal // Prepend colPos = colNum * colSize(); while (visibleIndex > 0 && rowPos + rowSize() - 1 >= fillFrom - rowSize()*(colNum+1)/(columns+1)){ -#ifdef DEBUG_DELEGATE_LIFECYCLE - qDebug() << "refill: prepend item" << visibleIndex-1 << "top pos" << rowPos << colPos; -#endif + qCDebug(lcItemViewDelegateLifecycle) << "refill: prepend item" << visibleIndex-1 << "top pos" << rowPos << colPos; if (!(item = static_cast<FxGridItemSG*>(createItem(visibleIndex-1, doBuffer)))) break; --visibleIndex; @@ -580,16 +574,12 @@ bool QQuickGridViewPrivate::removeNonVisibleItems(qreal bufferFrom, qreal buffer && item->rowPos()+rowSize()-1 < bufferFrom - rowSize()*(item->colPos()/colSize()+1)/(columns+1)) { if (item->attached->delayRemove()) break; -#ifdef DEBUG_DELEGATE_LIFECYCLE - qDebug() << "refill: remove first" << visibleIndex << "top end pos" << item->endRowPos(); -#endif + qCDebug(lcItemViewDelegateLifecycle) << "refill: remove first" << visibleIndex << "top end pos" << item->endRowPos(); if (item->index != -1) visibleIndex++; visibleItems.removeFirst(); if (item->transitionScheduledOrRunning()) { -#ifdef DEBUG_DELEGATE_LIFECYCLE - qDebug() << "\tnot releasing animating item:" << item->index << item->item->objectName(); -#endif + qCDebug(lcItemViewDelegateLifecycle) << "\tnot releasing animating item:" << item->index << item->item->objectName(); item->releaseAfterTransition = true; releasePendingTransition.append(item); } else { @@ -602,14 +592,10 @@ bool QQuickGridViewPrivate::removeNonVisibleItems(qreal bufferFrom, qreal buffer && item->rowPos() > bufferTo + rowSize()*(columns - item->colPos()/colSize())/(columns+1)) { if (item->attached->delayRemove()) break; -#ifdef DEBUG_DELEGATE_LIFECYCLE - qDebug() << "refill: remove last" << visibleIndex+visibleItems.count()-1; -#endif + qCDebug(lcItemViewDelegateLifecycle) << "refill: remove last" << visibleIndex+visibleItems.count()-1; visibleItems.removeLast(); if (item->transitionScheduledOrRunning()) { -#ifdef DEBUG_DELEGATE_LIFECYCLE - qDebug() << "\tnot releasing animating item:" << item->index << item->item->objectName(); -#endif + qCDebug(lcItemViewDelegateLifecycle) << "\tnot releasing animating item:" << item->index << item->item->objectName(); item->releaseAfterTransition = true; releasePendingTransition.append(item); } else { diff --git a/src/quick/items/qquickitemview.cpp b/src/quick/items/qquickitemview.cpp index 2a686b4342..c53ae9c0c9 100644 --- a/src/quick/items/qquickitemview.cpp +++ b/src/quick/items/qquickitemview.cpp @@ -46,6 +46,8 @@ QT_BEGIN_NAMESPACE +Q_LOGGING_CATEGORY(lcItemViewDelegateLifecycle, "qt.quick.itemview.lifecycle") + // Default cacheBuffer for all views. #ifndef QML_VIEW_DEFAULTCACHEBUFFER #define QML_VIEW_DEFAULTCACHEBUFFER 320 diff --git a/src/quick/items/qquickitemview_p.h b/src/quick/items/qquickitemview_p.h index 57635d7780..cb27e557e8 100644 --- a/src/quick/items/qquickitemview_p.h +++ b/src/quick/items/qquickitemview_p.h @@ -44,9 +44,12 @@ #include "qquickflickable_p.h" #include <qpointer.h> +#include <QtCore/QLoggingCategory> QT_BEGIN_NAMESPACE +Q_DECLARE_LOGGING_CATEGORY(lcItemViewDelegateLifecycle) + class QQmlChangeSet; class QQuickItemViewPrivate; diff --git a/src/quick/items/qquicklistview.cpp b/src/quick/items/qquicklistview.cpp index 1b268eccf3..b58f4403e5 100644 --- a/src/quick/items/qquicklistview.cpp +++ b/src/quick/items/qquicklistview.cpp @@ -59,8 +59,6 @@ QT_BEGIN_NAMESPACE #define QML_FLICK_SNAPONETHRESHOLD 30 #endif -//#define DEBUG_DELEGATE_LIFECYCLE - class FxListItemSG; class QQuickListViewPrivate : public QQuickItemViewPrivate @@ -665,11 +663,9 @@ bool QQuickListViewPrivate::addVisibleItems(qreal fillFrom, qreal fillTo, qreal FxListItemSG *item = 0; qreal pos = itemEnd; while (modelIndex < model->count() && pos <= fillTo) { -#ifdef DEBUG_DELEGATE_LIFECYCLE - qDebug() << "refill: append item" << modelIndex << "pos" << pos << "buffer" << doBuffer; -#endif if (!(item = static_cast<FxListItemSG*>(createItem(modelIndex, doBuffer)))) break; + qCDebug(lcItemViewDelegateLifecycle) << "refill: append item" << modelIndex << "pos" << pos << "buffer" << doBuffer << "item" << item->item->objectName(); if (!transitioner || !transitioner->canTransition(QQuickItemViewTransitioner::PopulateTransition, true)) // pos will be set by layoutVisibleItems() item->setPosition(pos, true); QQuickItemPrivate::get(item->item)->setCulled(doBuffer); @@ -683,11 +679,9 @@ bool QQuickListViewPrivate::addVisibleItems(qreal fillFrom, qreal fillTo, qreal return changed; while (visibleIndex > 0 && visibleIndex <= model->count() && visiblePos > fillFrom) { -#ifdef DEBUG_DELEGATE_LIFECYCLE - qDebug() << "refill: prepend item" << visibleIndex-1 << "current top pos" << visiblePos << "buffer" << doBuffer; -#endif if (!(item = static_cast<FxListItemSG*>(createItem(visibleIndex-1, doBuffer)))) break; + qCDebug(lcItemViewDelegateLifecycle) << "refill: prepend item" << visibleIndex-1 << "current top pos" << visiblePos << "buffer" << doBuffer << "item" << item->item->objectName(); --visibleIndex; visiblePos -= item->size() + spacing; if (!transitioner || !transitioner->canTransition(QQuickItemViewTransitioner::PopulateTransition, true)) // pos will be set by layoutVisibleItems() @@ -716,18 +710,14 @@ bool QQuickListViewPrivate::removeNonVisibleItems(qreal bufferFrom, qreal buffer break; if (item->size() > 0) { -#ifdef DEBUG_DELEGATE_LIFECYCLE - qDebug() << "refill: remove first" << visibleIndex << "top end pos" << item->endPosition(); -#endif + qCDebug(lcItemViewDelegateLifecycle) << "refill: remove first" << visibleIndex << "top end pos" << item->endPosition(); // remove this item and all zero-sized items before it while (item) { if (item->index != -1) visibleIndex++; visibleItems.removeAt(index); if (item->transitionScheduledOrRunning()) { -#ifdef DEBUG_DELEGATE_LIFECYCLE - qDebug() << "refill not releasing animating item" << item->index << item->item->objectName(); -#endif + qCDebug(lcItemViewDelegateLifecycle) << "\tnot releasing animating item" << item->index << item->item->objectName(); item->releaseAfterTransition = true; releasePendingTransition.append(item); } else { @@ -746,14 +736,10 @@ bool QQuickListViewPrivate::removeNonVisibleItems(qreal bufferFrom, qreal buffer while (visibleItems.count() > 1 && (item = visibleItems.last()) && item->position() > bufferTo) { if (item->attached->delayRemove()) break; -#ifdef DEBUG_DELEGATE_LIFECYCLE - qDebug() << "refill: remove last" << visibleIndex+visibleItems.count()-1 << item->position(); -#endif + qCDebug(lcItemViewDelegateLifecycle) << "refill: remove last" << visibleIndex+visibleItems.count()-1 << item->position() << item->item->objectName(); visibleItems.removeLast(); if (item->transitionScheduledOrRunning()) { -#ifdef DEBUG_DELEGATE_LIFECYCLE - qDebug() << "refill not releasing animating item" << item->index << item->item->objectName(); -#endif + qCDebug(lcItemViewDelegateLifecycle) << "\tnot releasing animating item" << item->index << item->item->objectName(); item->releaseAfterTransition = true; releasePendingTransition.append(item); } else { |