From d8e07b86c469960ee8e427d0be82bd38e1f0a20f Mon Sep 17 00:00:00 2001 From: Yuhang Zhao <2546789017@qq.com> Date: Wed, 13 May 2020 21:24:51 +0800 Subject: [PATCH] Add moveWindowToDesktopCenter to the quick helper. It may be useful for Qt Quick users. Signed-off-by: Yuhang Zhao <2546789017@qq.com> --- framelessquickhelper.cpp | 20 +++++++++++++++++--- framelessquickhelper.h | 1 + 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/framelessquickhelper.cpp b/framelessquickhelper.cpp index bd37213..f7c2a67 100644 --- a/framelessquickhelper.cpp +++ b/framelessquickhelper.cpp @@ -263,13 +263,27 @@ void FramelessQuickHelper::removeWindowFrame(const bool center) { #ifdef Q_OS_WINDOWS const auto hWnd = reinterpret_cast(win->winId()); if (hWnd) { - WinNativeEventFilter::addFramelessWindow(hWnd, nullptr, center); + WinNativeEventFilter::addFramelessWindow(hWnd); } #else m_framelessHelper.removeWindowFrame(win); - if (center) { - FramelessHelper::moveWindowToDesktopCenter(win); +#endif + } + if (center) { + moveWindowToDesktopCenter(); + } +} + +void FramelessQuickHelper::moveWindowToDesktopCenter() { + const auto win = window(); + if (win) { +#ifdef Q_OS_WINDOWS + const auto hWnd = reinterpret_cast(win->winId()); + if (hWnd) { + WinNativeEventFilter::moveWindowToDesktopCenter(hWnd); } +#else + FramelessHelper::moveWindowToDesktopCenter(win); #endif } } diff --git a/framelessquickhelper.h b/framelessquickhelper.h index 49a39ae..d1fc072 100644 --- a/framelessquickhelper.h +++ b/framelessquickhelper.h @@ -86,6 +86,7 @@ public: public Q_SLOTS: void removeWindowFrame(const bool center = true); + void moveWindowToDesktopCenter(); void setIgnoreAreas(const QVector &val); void clearIgnoreAreas();