@@ -33,6 +33,7 @@ class DockWidgetInstantiator::Private
3333 QPointer<Core::DockWidget> m_dockWidget;
3434 QVector<QString> m_affinities;
3535 KDDockWidgets::DockWidgetOptions m_options = KDDockWidgets::DockWidgetOption_None;
36+ KDDockWidgets::FloatingWindowFlags m_floatingWindowFlags = KDDockWidgets::FloatingWindowFlag::FromGlobalConfig;
3637#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
3738 QVariantMap m_userData;
3839 KDBindings::ScopedConnection userDataConnection;
@@ -277,6 +278,22 @@ void DockWidgetInstantiator::setOptions(KDDockWidgets::DockWidgetOptions options
277278 }
278279}
279280
281+ KDDockWidgets::FloatingWindowFlags DockWidgetInstantiator::floatingWindowFlags () const
282+ {
283+ return d->m_dockWidget ? d->m_dockWidget ->floatingWindowFlags () : d->m_floatingWindowFlags ;
284+ }
285+
286+ void DockWidgetInstantiator::setFloatingWindowFlags (KDDockWidgets::FloatingWindowFlags flags)
287+ {
288+ if (d->m_floatingWindowFlags != flags) {
289+ d->m_floatingWindowFlags = flags;
290+ if (d->m_dockWidget ) {
291+ d->m_dockWidget ->setFloatingWindowFlags (flags);
292+ }
293+ Q_EMIT floatingWindowFlagsChanged (flags);
294+ }
295+ }
296+
280297KDDockWidgets::CloseReason DockWidgetInstantiator::lastCloseReason () const
281298{
282299 return d->m_dockWidget ? d->m_dockWidget ->lastCloseReason () : KDDockWidgets::CloseReason::Unspecified;
@@ -342,6 +359,7 @@ void DockWidgetInstantiator::componentComplete()
342359 d->m_dockWidget ->setFloating (d->m_isFloating .value ());
343360
344361 d->m_dockWidget ->setAffinities (d->m_affinities );
362+ d->m_dockWidget ->setFloatingWindowFlags (d->m_floatingWindowFlags );
345363
346364#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
347365 d->m_dockWidget ->setUserData (d->m_userData );
0 commit comments