summaryrefslogtreecommitdiffstats
path: root/src/widgets/kernel/qlayout.cpp
diff options
context:
space:
mode:
authorSergio Martins <sergio.martins@kdab.com>2018-02-01 12:36:52 +0000
committerSérgio Martins <sergio.martins@kdab.com>2018-02-10 21:14:55 +0000
commit7a342372bb1ecbe4146811cff48ede974c7761b5 (patch)
treef87909d4e5cd363bf031f07d40c988aedec26788 /src/widgets/kernel/qlayout.cpp
parentdc9ce275be88e2c656f596d867be1db7f7dd3553 (diff)
Introduce QLayout::indexOf(QLayoutItem *)
This was the missing counter-part to indexOf(QWidget *), which is sometimes implemented in user code. Not sure why the original code doesn't use a for-loop and instead accesses an out-of-bounds element, but I'll preserve the behavior of very old working code. Change-Id: I7d7fa56b56a4626789774c15c23fdfef41d723e7 Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
Diffstat (limited to 'src/widgets/kernel/qlayout.cpp')
-rw-r--r--src/widgets/kernel/qlayout.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/widgets/kernel/qlayout.cpp b/src/widgets/kernel/qlayout.cpp
index f3db4f4e2d..64acd8d229 100644
--- a/src/widgets/kernel/qlayout.cpp
+++ b/src/widgets/kernel/qlayout.cpp
@@ -1244,6 +1244,26 @@ int QLayout::indexOf(QWidget *widget) const
}
/*!
+ \since 5.12
+ Searches for layout item \a layoutItem in this layout (not including child
+ layouts).
+
+ Returns the index of \a layoutItem, or -1 if \a layoutItem is not found.
+*/
+int QLayout::indexOf(QLayoutItem *layoutItem) const
+{
+ int i = 0;
+ QLayoutItem *item = itemAt(i);
+ while (item) {
+ if (item == layoutItem)
+ return i;
+ ++i;
+ item = itemAt(i);
+ }
+ return -1;
+}
+
+/*!
\enum QLayout::SizeConstraint
The possible values are: