diff --git a/src/DockWidgetQuick.cpp b/src/DockWidgetQuick.cpp index 0eba2643..436f5626 100644 --- a/src/DockWidgetQuick.cpp +++ b/src/DockWidgetQuick.cpp @@ -139,3 +139,11 @@ QQuickItem *DockWidgetQuick::frameVisualItem() const return nullptr; } + +void DockWidgetQuick::onGeometryUpdated() +{ + if (auto frame = qobject_cast(DockWidgetBase::d->frame())) { + frame->updateConstriants(); + frame->updateGeometry(); + } +} diff --git a/src/DockWidgetQuick.h b/src/DockWidgetQuick.h index 0f328f89..77492627 100644 --- a/src/DockWidgetQuick.h +++ b/src/DockWidgetQuick.h @@ -74,6 +74,9 @@ public: /// Equivalent to Frame::visualItem(). QQuickItem *frameVisualItem() const; + /// @brief Called by QtQuick when min-size changes + Q_INVOKABLE void onGeometryUpdated(); + protected: bool event(QEvent *e) override; diff --git a/src/private/quick/FrameQuick_p.h b/src/private/quick/FrameQuick_p.h index d4df7b35..8193b3d6 100644 --- a/src/private/quick/FrameQuick_p.h +++ b/src/private/quick/FrameQuick_p.h @@ -68,7 +68,7 @@ protected: Q_SIGNALS: void tabTitlesChanged(); -private Q_SLOTS: +public Q_SLOTS: void updateConstriants(); private: