From 2e92357adc160781c604cb2ef71e747a7ea9120f Mon Sep 17 00:00:00 2001 From: Sergio Martins Date: Tue, 31 May 2022 10:37:14 +0100 Subject: [PATCH] Add View::setZOrder() Only relevant to QtQuick. Removes some ifdefs. --- src/View.h | 3 +++ src/controllers/DockWidget.cpp | 10 ++-------- src/qtquick/views/View_qtquick.cpp | 5 +++++ src/qtquick/views/View_qtquick.h | 1 + 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/View.h b/src/View.h index acfaffaa..138da3fd 100644 --- a/src/View.h +++ b/src/View.h @@ -239,6 +239,9 @@ public: /// only the specific frontend can know what's the actual type virtual bool is(Type) const; + /// @brief Sets the z order + /// Not supported on all platforms + virtual void setZOrder(int) {}; /// @brief if this view is a FloatingWindow, then returns its controller /// Mostly to save the call sites from having too many casts diff --git a/src/controllers/DockWidget.cpp b/src/controllers/DockWidget.cpp index d84485eb..c3ddbb2b 100644 --- a/src/controllers/DockWidget.cpp +++ b/src/controllers/DockWidget.cpp @@ -932,16 +932,10 @@ void DockWidget::setMDISize(QSize size) void DockWidget::setMDIZ(int z) { -#ifdef KDDOCKWIDGETS_QTQUICK if (Frame *frame = d->frame()) { - if (!frame->isMDI()) - return; - frame->setZ(z); + if (frame->isMDI()) + frame->view()->setZOrder(z); } -#else - Q_UNUSED(z); - qWarning() << Q_FUNC_INFO << "Not implemented for QtQuick"; -#endif } bool DockWidget::isPersistentCentralDockWidget() const diff --git a/src/qtquick/views/View_qtquick.cpp b/src/qtquick/views/View_qtquick.cpp index 91cf1bd9..f2384257 100644 --- a/src/qtquick/views/View_qtquick.cpp +++ b/src/qtquick/views/View_qtquick.cpp @@ -821,4 +821,9 @@ QQuickItem *View_qtquick::createQQuickItem(const QString &filename, QQuickItem * return qquickitem; } +void View_qtquick::setZOrder(int z) +{ + QQuickItem::setZ(z); +} + #include "View_qtquick.moc" diff --git a/src/qtquick/views/View_qtquick.h b/src/qtquick/views/View_qtquick.h index 0001f5cb..1245d679 100644 --- a/src/qtquick/views/View_qtquick.h +++ b/src/qtquick/views/View_qtquick.h @@ -157,6 +157,7 @@ public: void setCursor(Qt::CursorShape shape) override; void setMouseTracking(bool enable) override; QVector> childViews() const override; + void setZOrder(int) override; /// @brief This is equivalent to "anchors.fill: parent but in C++ void makeItemFillParent(QQuickItem *item);