From e03c895be6c4b7870aa8d466e84acbf5318b5c9d Mon Sep 17 00:00:00 2001 From: Axel Spoerl Date: Wed, 9 Aug 2023 11:33:35 +0200 Subject: [PATCH] Pull QWidget::setTabOrder(std::initializer_list...) behind ABI boundary Found in API-review. Change-Id: I261aa450d25288e7a3e8caa033ce5000e5dd77f2 Reviewed-by: Fabian Kosmale Reviewed-by: Marc Mutz (cherry picked from commit a27cc5d72735dfd1504bb0be02f180a61932abc7) Reviewed-by: Qt Cherry-pick Bot --- src/widgets/kernel/qwidget.cpp | 14 ++++++++++++++ src/widgets/kernel/qwidget.h | 15 +-------------- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp index e3d78864e6f..c373e7c6f27 100644 --- a/src/widgets/kernel/qwidget.cpp +++ b/src/widgets/kernel/qwidget.cpp @@ -7091,6 +7091,20 @@ void QWidget::setTabOrder(QWidget* first, QWidget *second) } } +void QWidget::setTabOrder(std::initializer_list widgets) +{ + QWidget *prev = nullptr; + for (const auto &widget : widgets) { + if (!prev) { + prev = widget; + } else { + QWidget::setTabOrder(prev, widget); + prev = widget; + } + } +} + + /*!\internal Moves the relevant subwidgets of this widget from the \a oldtlw's diff --git a/src/widgets/kernel/qwidget.h b/src/widgets/kernel/qwidget.h index 4591ab04540..e5e83a43f2e 100644 --- a/src/widgets/kernel/qwidget.h +++ b/src/widgets/kernel/qwidget.h @@ -432,7 +432,7 @@ public: void setFocusPolicy(Qt::FocusPolicy policy); bool hasFocus() const; static void setTabOrder(QWidget *, QWidget *); - static inline void setTabOrder(std::initializer_list widgets); + static void setTabOrder(std::initializer_list widgets); void setFocusProxy(QWidget *); QWidget *focusProxy() const; Qt::ContextMenuPolicy contextMenuPolicy() const; @@ -914,19 +914,6 @@ inline bool QWidget::testAttribute(Qt::WidgetAttribute attribute) const return testAttribute_helper(attribute); } -inline void QWidget::setTabOrder(std::initializer_list widgets) -{ - QWidget *prev = nullptr; - for (const auto &widget : widgets) { - if (!prev) { - prev = widget; - } else { - QWidget::setTabOrder(prev, widget); - prev = widget; - } - } -} - #define QWIDGETSIZE_MAX ((1<<24)-1) #ifndef QT_NO_DEBUG_STREAM