From ff97e083ed4dd233f499f72da4ed83e3a7f2b380 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Fri, 24 Jul 2020 14:53:38 +0200 Subject: Windows QPA: Move window properties to the new interfaces MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affects the custom margin used by QWizard. Task-number: QTBUG-83252 Change-Id: Iffda043f106282f682e119ec955fa2b2eb0f259e Reviewed-by: Tor Arne Vestbø --- .../platforms/windows/qwindowsnativeinterface.cpp | 31 ---------------------- .../platforms/windows/qwindowsnativeinterface.h | 5 ---- src/plugins/platforms/windows/qwindowswindow.cpp | 10 +++++++ src/plugins/platforms/windows/qwindowswindow.h | 7 +++-- 4 files changed, 15 insertions(+), 38 deletions(-) (limited to 'src/plugins/platforms') diff --git a/src/plugins/platforms/windows/qwindowsnativeinterface.cpp b/src/plugins/platforms/windows/qwindowsnativeinterface.cpp index a62ce1323f..103db19a69 100644 --- a/src/plugins/platforms/windows/qwindowsnativeinterface.cpp +++ b/src/plugins/platforms/windows/qwindowsnativeinterface.cpp @@ -144,37 +144,6 @@ void *QWindowsNativeInterface::nativeResourceForCursor(const QByteArray &resourc } #endif // !QT_NO_CURSOR -static const char customMarginPropertyC[] = "WindowsCustomMargins"; - -QVariant QWindowsNativeInterface::windowProperty(QPlatformWindow *window, const QString &name) const -{ - auto *platformWindow = static_cast(window); - if (name == QLatin1String(customMarginPropertyC)) - return QVariant::fromValue(platformWindow->customMargins()); - return QVariant(); -} - -QVariant QWindowsNativeInterface::windowProperty(QPlatformWindow *window, const QString &name, const QVariant &defaultValue) const -{ - const QVariant result = windowProperty(window, name); - return result.isValid() ? result : defaultValue; -} - -void QWindowsNativeInterface::setWindowProperty(QPlatformWindow *window, const QString &name, const QVariant &value) -{ - auto *platformWindow = static_cast(window); - if (name == QLatin1String(customMarginPropertyC)) - platformWindow->setCustomMargins(qvariant_cast(value)); -} - -QVariantMap QWindowsNativeInterface::windowProperties(QPlatformWindow *window) const -{ - QVariantMap result; - const QString customMarginProperty = QLatin1String(customMarginPropertyC); - result.insert(customMarginProperty, windowProperty(window, customMarginProperty)); - return result; -} - void *QWindowsNativeInterface::nativeResourceForIntegration(const QByteArray &resource) { #ifdef QT_NO_OPENGL diff --git a/src/plugins/platforms/windows/qwindowsnativeinterface.h b/src/plugins/platforms/windows/qwindowsnativeinterface.h index 95b6bf847c..6b3740a17b 100644 --- a/src/plugins/platforms/windows/qwindowsnativeinterface.h +++ b/src/plugins/platforms/windows/qwindowsnativeinterface.h @@ -98,11 +98,6 @@ public: QVariant gpu() const; QVariant gpuList() const; - QVariantMap windowProperties(QPlatformWindow *window) const override; - QVariant windowProperty(QPlatformWindow *window, const QString &name) const override; - QVariant windowProperty(QPlatformWindow *window, const QString &name, const QVariant &defaultValue) const override; - void setWindowProperty(QPlatformWindow *window, const QString &name, const QVariant &value) override; - Q_SIGNALS: void darkModeChanged(bool); }; diff --git a/src/plugins/platforms/windows/qwindowswindow.cpp b/src/plugins/platforms/windows/qwindowswindow.cpp index 9668f58112..2da4251179 100644 --- a/src/plugins/platforms/windows/qwindowswindow.cpp +++ b/src/plugins/platforms/windows/qwindowswindow.cpp @@ -1193,6 +1193,16 @@ bool QWindowsBaseWindow::hasBorderInFullScreen() const return false; } +QMargins QWindowsBaseWindow::customMargins() const +{ + return {}; +} + +void QWindowsBaseWindow::setCustomMargins(const QMargins &) +{ + Q_UNIMPLEMENTED(); +} + /*! \class QWindowsDesktopWindow \brief Window wrapping GetDesktopWindow not allowing any manipulation. diff --git a/src/plugins/platforms/windows/qwindowswindow.h b/src/plugins/platforms/windows/qwindowswindow.h index 6c6c86ef47..beed3e17df 100644 --- a/src/plugins/platforms/windows/qwindowswindow.h +++ b/src/plugins/platforms/windows/qwindowswindow.h @@ -144,6 +144,9 @@ public: void setHasBorderInFullScreen(bool border) override; bool hasBorderInFullScreen() const override; + QMargins customMargins() const override; + void setCustomMargins(const QMargins &margins) override; + using QPlatformWindow::screenForGeometry; virtual HWND handle() const = 0; @@ -304,8 +307,8 @@ public: QWindowsMenuBar *menuBar() const; void setMenuBar(QWindowsMenuBar *mb); - QMargins customMargins() const { return m_data.customMargins; } - void setCustomMargins(const QMargins &m); + QMargins customMargins() const override { return m_data.customMargins; } + void setCustomMargins(const QMargins &m) override; void setStyle(unsigned s) const; void setExStyle(unsigned s) const; -- cgit v1.2.3