diff options
author | Albert Astals Cid <albert.astals.cid@kdab.com> | 2021-09-06 16:39:47 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-09-07 14:12:47 +0000 |
commit | 7468b13ab442131d07b57eb96fad7ec116f33d45 (patch) | |
tree | 39680d203532d57cf01fa61282e1144a8a621d1d | |
parent | 88e90323c8eb878a00bc176372411765d706d6d6 (diff) |
QQuickGrid: Warn if there are more items than rows*columns
Change-Id: I701d86079f2ddfb73b0470de97a2d1bff648166c
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit a4a80db180540917e3077a2e22c71548f14fd8b6)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r-- | src/quick/items/qquickpositioners.cpp | 6 | ||||
-rw-r--r-- | tests/auto/quick/qquickpositioners/tst_qquickpositioners.cpp | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/quick/items/qquickpositioners.cpp b/src/quick/items/qquickpositioners.cpp index a8d050527b..313143e881 100644 --- a/src/quick/items/qquickpositioners.cpp +++ b/src/quick/items/qquickpositioners.cpp @@ -1697,7 +1697,7 @@ void QQuickGrid::doPositioning(QSizeF *contentSize) QQuickBasePositionerPrivate *d = static_cast<QQuickBasePositionerPrivate*>(QQuickBasePositionerPrivate::get(this)); int c = m_columns; int r = m_rows; - int numVisible = positionedItems.count(); + const int numVisible = positionedItems.count(); if (m_columns <= 0 && m_rows <= 0) { c = 4; @@ -1714,6 +1714,10 @@ void QQuickGrid::doPositioning(QSizeF *contentSize) return; //Nothing else to do } + if (numVisible > r * c) { + qmlWarning(this) << "Grid contains more visible items (" << numVisible << ") than rows*columns (" << r * c << ")"; + } + QList<qreal> maxColWidth; QList<qreal> maxRowHeight; int childIndex =0; diff --git a/tests/auto/quick/qquickpositioners/tst_qquickpositioners.cpp b/tests/auto/quick/qquickpositioners/tst_qquickpositioners.cpp index 3885dd4a9a..1b8fc638c6 100644 --- a/tests/auto/quick/qquickpositioners/tst_qquickpositioners.cpp +++ b/tests/auto/quick/qquickpositioners/tst_qquickpositioners.cpp @@ -2986,7 +2986,9 @@ void tst_qquickpositioners::test_propertychanges() QCOMPARE(columnsSpy.count(),1); QCOMPARE(rowsSpy.count(),1); + QTest::ignoreMessage(QtWarningMsg, QRegularExpression(".*QML Grid: Grid contains more visible items \\(20\\) than rows\\*columns \\(6\\)")); grid->setColumns(2); + QTest::ignoreMessage(QtWarningMsg, QRegularExpression(".*QML Grid: Grid contains more visible items \\(20\\) than rows\\*columns \\(4\\)")); grid->setRows(2); QCOMPARE(columnsSpy.count(),2); QCOMPARE(rowsSpy.count(),2); |