QmlDesigner: Add QML views transient scrollbars

* Add transient scrollbars to all QML based views
* Remove version from QtQuick imports
* Fix missing AssetsLibraryBackend reference in AssetsDelegate

Task-number: QDS-9549
Change-Id: I7ab2e52106efae07caa37763b5b0592cfbf57c2e
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
Henning Gruendl
2023-08-25 16:53:39 +02:00
committed by Henning Gründl
parent b30337e04c
commit b2ee8acafa
21 changed files with 236 additions and 66 deletions

View File

@@ -6,7 +6,6 @@
#include "ads_globals.h"
#include "ads_globals_p.h"
#include "autohidedockcontainer.h"
#include "autohidesidebar.h"
#include "autohidetab.h"
#include "dockareawidget.h"
#include "dockcomponentsfactory.h"
@@ -20,6 +19,7 @@
#include <QEvent>
#include <QLoggingCategory>
#include <QPointer>
#include <QQuickItem>
#include <QScrollArea>
#include <QSplitter>
#include <QStack>
@@ -27,6 +27,7 @@
#include <QToolBar>
#include <QWindow>
#include <QXmlStreamWriter>
#include <QtQuickWidgets/QQuickWidget>
namespace ADS {
/**
@@ -452,8 +453,25 @@ void DockWidget::setFocused(bool focused)
return;
d->m_focused = focused;
if (d->m_scrollArea)
d->m_scrollArea->setProperty("focused", focused);
QList<QQuickWidget *> quickWidgets = d->m_widget->findChildren<QQuickWidget *>();
for (const auto &quickWidget : std::as_const(quickWidgets)) {
QQuickItem *rootItem = quickWidget->rootObject();
if (!rootItem)
continue;
QQuickItem *scrollView = rootItem->findChild<QQuickItem *>("__mainSrollView");
if (!scrollView)
continue;
scrollView->setProperty("adsFocus", focused);
}
emit focusedChanged();
}
bool DockWidget::isFocused() const