QmlDesigner: Fix the bug for showing focused widget-based scrollbars

Fixes: QDS-11474
Change-Id: Ibfc156893812ab7a541fe01e995fe528a1d80d2f
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
(cherry picked from commit bb690b4ccc)
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
Ali Kianian
2023-12-07 09:36:43 +02:00
parent 97945aeda3
commit 93169e6b5d

View File

@@ -309,8 +309,11 @@ void DockWidget::setWidget(QWidget *widget, eInsertMode insertMode)
auto scrollAreaWidget = qobject_cast<QAbstractScrollArea *>(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<QAbstractScrollArea *> scrollAreas = d->m_widget->findChildren<QAbstractScrollArea *>(
Qt::FindDirectChildrenOnly);
for (QAbstractScrollArea *scrollArea : scrollAreas)
scrollArea->setProperty("focused", focused);
const QString customObjectName = QString("__mainSrollView");
QList<QQuickWidget *> quickWidgets = d->m_widget->findChildren<QQuickWidget *>();