From 93169e6b5d5a4e49f2dbfa717bdf56e17df73367 Mon Sep 17 00:00:00 2001 From: Ali Kianian Date: Thu, 7 Dec 2023 09:36:43 +0200 Subject: [PATCH] QmlDesigner: Fix the bug for showing focused widget-based scrollbars MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes: QDS-11474 Change-Id: Ibfc156893812ab7a541fe01e995fe528a1d80d2f Reviewed-by: Henning Gründl Reviewed-by: Qt CI Patch Build Bot (cherry picked from commit bb690b4ccc425dc1fa160356a4b53bb8e4d620d9) Reviewed-by: Thomas Hartmann --- src/libs/advanceddockingsystem/dockwidget.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/libs/advanceddockingsystem/dockwidget.cpp b/src/libs/advanceddockingsystem/dockwidget.cpp index 9c9e6086cd5..f216ac7495e 100644 --- a/src/libs/advanceddockingsystem/dockwidget.cpp +++ b/src/libs/advanceddockingsystem/dockwidget.cpp @@ -309,8 +309,11 @@ void DockWidget::setWidget(QWidget *widget, eInsertMode insertMode) auto scrollAreaWidget = qobject_cast(widget); if (scrollAreaWidget || ForceNoScrollArea == insertMode) { d->m_layout->addWidget(widget); - if (scrollAreaWidget && scrollAreaWidget->viewport()) - scrollAreaWidget->viewport()->setProperty("dockWidgetContent", true); + if (scrollAreaWidget) { + if (scrollAreaWidget->viewport()) + scrollAreaWidget->viewport()->setProperty("dockWidgetContent", true); + scrollAreaWidget->setProperty("focused", isFocused()); + } } else { d->setupScrollArea(); d->m_scrollArea->setWidget(widget); @@ -482,6 +485,11 @@ void DockWidget::setFocused(bool focused) if (d->m_scrollArea) d->m_scrollArea->setProperty("focused", focused); + QList scrollAreas = d->m_widget->findChildren( + Qt::FindDirectChildrenOnly); + for (QAbstractScrollArea *scrollArea : scrollAreas) + scrollArea->setProperty("focused", focused); + const QString customObjectName = QString("__mainSrollView"); QList quickWidgets = d->m_widget->findChildren();