diff --git a/src/qtquick/views/DockWidget_qtquick.cpp b/src/qtquick/views/DockWidget_qtquick.cpp index 0b6fa5e0..699b28ff 100644 --- a/src/qtquick/views/DockWidget_qtquick.cpp +++ b/src/qtquick/views/DockWidget_qtquick.cpp @@ -154,11 +154,10 @@ QObject *DockWidget_qtquick::actualTitleBarView() const QQuickItem *DockWidget_qtquick::frameVisualItem() const { if (Controllers::Frame *frame = this->frame()) { - Q_UNUSED(frame) - // return frame->visualItem(); TODOm2 + if (auto view = asView_qtquick(frame->view())) + return view->visualItem(); } - return nullptr; } diff --git a/src/qtquick/views/Frame_qtquick.h b/src/qtquick/views/Frame_qtquick.h index 74018a1b..c39cd2ae 100644 --- a/src/qtquick/views/Frame_qtquick.h +++ b/src/qtquick/views/Frame_qtquick.h @@ -52,7 +52,7 @@ public: QSize maximumSize() const override; /// @brief Returns the QQuickItem which represents this frame on the screen - QQuickItem *visualItem() const; + QQuickItem *visualItem() const override; QRect dragRect() const override; diff --git a/src/qtquick/views/View_qtquick.cpp b/src/qtquick/views/View_qtquick.cpp index fcf49a60..9d4c5264 100644 --- a/src/qtquick/views/View_qtquick.cpp +++ b/src/qtquick/views/View_qtquick.cpp @@ -830,4 +830,10 @@ void View_qtquick::setZOrder(int z) QQuickItem::setZ(z); } +QQuickItem *View_qtquick::visualItem() const +{ + qWarning() << Q_FUNC_INFO << "Base class called, please implement in your derived class if needed"; + return nullptr; +} + #include "View_qtquick.moc" diff --git a/src/qtquick/views/View_qtquick.h b/src/qtquick/views/View_qtquick.h index 1245d679..f933aa03 100644 --- a/src/qtquick/views/View_qtquick.h +++ b/src/qtquick/views/View_qtquick.h @@ -158,6 +158,7 @@ public: void setMouseTracking(bool enable) override; QVector> childViews() const override; void setZOrder(int) override; + virtual QQuickItem *visualItem() const; /// @brief This is equivalent to "anchors.fill: parent but in C++ void makeItemFillParent(QQuickItem *item);