From cd23e6278dee39b6274ff9c8853e625b3eb547ff Mon Sep 17 00:00:00 2001 From: Evgeniy Martynov Date: Fri, 14 Jun 2024 18:58:51 +0300 Subject: [PATCH 1/2] options property added in DockWidgetInstantiator.h/cpp --- src/qtquick/DockWidgetInstantiator.cpp | 16 +++++++++++++++- src/qtquick/DockWidgetInstantiator.h | 7 ++++++- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/qtquick/DockWidgetInstantiator.cpp b/src/qtquick/DockWidgetInstantiator.cpp index e17ac1c07..8f865dd91 100644 --- a/src/qtquick/DockWidgetInstantiator.cpp +++ b/src/qtquick/DockWidgetInstantiator.cpp @@ -30,6 +30,7 @@ class DockWidgetInstantiator::Private QString m_title; Core::DockWidget *m_dockWidget = nullptr; QVector m_affinities; + KDDockWidgets::DockWidgetOptions m_dockWidgetOptions; KDBindings::ScopedConnection titleConnection; KDBindings::ScopedConnection closedConnection; @@ -226,6 +227,19 @@ void DockWidgetInstantiator::setAffinities(const QVector &affinities) } } +KDDockWidgets::DockWidgetOptions KDDockWidgets::DockWidgetInstantiator::options() const +{ + return d->m_dockWidgetOptions; +} + +void KDDockWidgets::DockWidgetInstantiator::setOptions(DockWidgetOptions dockWidgetOptions) +{ + if (d->m_dockWidgetOptions != dockWidgetOptions) { + d->m_dockWidgetOptions = dockWidgetOptions; + Q_EMIT optionsChanged(dockWidgetOptions); + } +} + void DockWidgetInstantiator::componentComplete() { if (d->m_uniqueName.isEmpty()) { @@ -251,7 +265,7 @@ void DockWidgetInstantiator::componentComplete() } d->m_dockWidget = ViewFactory::self() - ->createDockWidget(d->m_uniqueName, qmlEngine(this)) + ->createDockWidget(d->m_uniqueName, qmlEngine(this), d->m_dockWidgetOptions) ->asDockWidgetController(); d->titleConnection = d->m_dockWidget->d->titleChanged.connect([this](const QString &title) { Q_EMIT titleChanged(title); }); diff --git a/src/qtquick/DockWidgetInstantiator.h b/src/qtquick/DockWidgetInstantiator.h index 696120e50..5d9154851 100644 --- a/src/qtquick/DockWidgetInstantiator.h +++ b/src/qtquick/DockWidgetInstantiator.h @@ -21,6 +21,8 @@ #include +#include "KDDockWidgets.h" + namespace KDDockWidgets { /** @@ -45,6 +47,8 @@ class DockWidgetInstantiator : public QQuickItem Q_PROPERTY(bool isFloating READ isFloating WRITE setFloating NOTIFY isFloatingChanged) Q_PROPERTY(bool isOpen READ isOpen NOTIFY isOpenChanged) Q_PROPERTY(QVector affinities READ affinities WRITE setAffinities NOTIFY affinitiesChanged) + Q_PROPERTY(KDDockWidgets::DockWidgetOptions options READ options WRITE setOptions NOTIFY optionsChanged) + public: DockWidgetInstantiator(); ~DockWidgetInstantiator() override; @@ -68,7 +72,8 @@ class DockWidgetInstantiator : public QQuickItem void setFloating(bool); QVector affinities() const; void setAffinities(const QVector &); - + DockWidgetOptions options() const; + void setOptions(DockWidgetOptions dockWidgetOptions); Q_INVOKABLE void addDockWidgetAsTab(QQuickItem *other, KDDockWidgets::InitialVisibilityOption = {}); From e55964dc391e83940430ccda85abb4248b6cca04 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 14 Jun 2024 16:09:39 +0000 Subject: [PATCH 2/2] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/qtquick/DockWidgetInstantiator.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qtquick/DockWidgetInstantiator.cpp b/src/qtquick/DockWidgetInstantiator.cpp index 8f865dd91..fe6eb70a2 100644 --- a/src/qtquick/DockWidgetInstantiator.cpp +++ b/src/qtquick/DockWidgetInstantiator.cpp @@ -232,7 +232,7 @@ KDDockWidgets::DockWidgetOptions KDDockWidgets::DockWidgetInstantiator::options( return d->m_dockWidgetOptions; } -void KDDockWidgets::DockWidgetInstantiator::setOptions(DockWidgetOptions dockWidgetOptions) +void KDDockWidgets::DockWidgetInstantiator::setOptions(DockWidgetOptions dockWidgetOptions) { if (d->m_dockWidgetOptions != dockWidgetOptions) { d->m_dockWidgetOptions = dockWidgetOptions;