diff options
author | Mitch Curtis <mitch.curtis@qt.io> | 2024-03-29 15:33:08 +0800 |
---|---|---|
committer | Mitch Curtis <mitch.curtis@qt.io> | 2024-04-17 18:27:35 +0800 |
commit | ec4fc89c5f338ba9e809e729be816ab160dcc064 (patch) | |
tree | 24fdff4eac50e4ad403d1de5255c6b53f8028543 /src/quicklayouts | |
parent | 9da3750ad88847671f3b95954fabeeceacf392aa (diff) |
Layouts: reimplement toString() for better warning messages
When combined with the patch in qtbase that adds the virtual toString
function to QGridLayoutItem, this turns the following warning
QGridLayoutEngine::addItem: Cell (1, 0) already taken
into the much more informative
QGridLayoutEngine::addItem: Can't add QQuickRectangle(0x6110000d5100, id="r4", parent=0x6110000d4ac0, geometry=0,0 20x20) at cell (1, 0) because it's already taken by QQuickRectangle(0x6110000d4e80, id="r2", parent=0x6110000d4ac0, geometry=0,0 20x20)
This makes it easier to see which item warnings are referring to.
Change-Id: I80a85b77abcb404fb0d6bc622baa1be3cd9e0df5
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
Diffstat (limited to 'src/quicklayouts')
-rw-r--r-- | src/quicklayouts/qquickgridlayoutengine_p.h | 2 | ||||
-rw-r--r-- | src/quicklayouts/qquicklinearlayout.cpp | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/src/quicklayouts/qquickgridlayoutengine_p.h b/src/quicklayouts/qquickgridlayoutengine_p.h index a59679761d..047d214655 100644 --- a/src/quicklayouts/qquickgridlayoutengine_p.h +++ b/src/quicklayouts/qquickgridlayoutengine_p.h @@ -86,6 +86,8 @@ public: } } + inline virtual QString toString() const override { return QDebug::toString(m_item); } + QQuickItem *layoutItem() const { return m_item; } QQuickItem *m_item; diff --git a/src/quicklayouts/qquicklinearlayout.cpp b/src/quicklayouts/qquicklinearlayout.cpp index 25c5e62632..2fa3c7e820 100644 --- a/src/quicklayouts/qquicklinearlayout.cpp +++ b/src/quicklayouts/qquicklinearlayout.cpp @@ -811,6 +811,7 @@ void QQuickGridLayout::insertLayoutItems() layoutItem->setStretchFactor(hStretch, Qt::Horizontal); if (vStretch >= 0) layoutItem->setStretchFactor(vStretch, Qt::Vertical); + d->engine.insertItem(layoutItem, -1); } } |