From faec937756810bbc478da677efb0dca4531a6222 Mon Sep 17 00:00:00 2001 From: Axel Spoerl Date: Mon, 19 Jun 2023 09:57:17 +0200 Subject: [PATCH] Implement debug operator for QDockAreaLayoutItem QDockAreaLayout items can be widgets, gap or placeholder items. They appear and disappear during hovering. This adds a debug operator to make troubleshooting easier. Task-number: QTBUG-114542 Task-number: QTBUG-112491 Pick-to: 6.6 6.5 Change-Id: I0fa5d3c96ab91838f28ad7cec3c049fd39f47576 Reviewed-by: Volker Hilsheimer --- src/widgets/widgets/qdockarealayout.cpp | 15 +++++++++++++++ src/widgets/widgets/qdockarealayout_p.h | 1 + 2 files changed, 16 insertions(+) diff --git a/src/widgets/widgets/qdockarealayout.cpp b/src/widgets/widgets/qdockarealayout.cpp index 3262bf93a4..6e36d6318e 100644 --- a/src/widgets/widgets/qdockarealayout.cpp +++ b/src/widgets/widgets/qdockarealayout.cpp @@ -171,6 +171,21 @@ QDockAreaLayoutItem return *this; } +QDebug QDockAreaLayoutItem::operator<<(QDebug dbg) +{ + QDebugStateSaver saver(dbg); + dbg.nospace(); + dbg << "QDockAreaLayoutItem(" << static_cast(this) << "->"; + if (widgetItem) + dbg << "widgetItem(" << widgetItem->widget() << ")"; + else if (subinfo) + dbg << "subInfo(" << subinfo << ")"; + else if (placeHolderItem) + dbg << "placeHolderItem(" << placeHolderItem << ")"; + dbg << ")"; + return dbg; +} + /****************************************************************************** ** QDockAreaLayoutInfo */ diff --git a/src/widgets/widgets/qdockarealayout_p.h b/src/widgets/widgets/qdockarealayout_p.h index cf998cf665..b37f22a1ee 100644 --- a/src/widgets/widgets/qdockarealayout_p.h +++ b/src/widgets/widgets/qdockarealayout_p.h @@ -73,6 +73,7 @@ struct Q_AUTOTEST_EXPORT QDockAreaLayoutItem int pos; int size; uint flags; + QDebug operator<<(QDebug dbg); }; class Q_AUTOTEST_EXPORT QPlaceHolderItem