From fd3fb7deda16d7e08c31b44679ef6af2d962f4df Mon Sep 17 00:00:00 2001 From: Yuhang Zhao <2546789017@qq.com> Date: Fri, 6 Nov 2020 10:31:19 +0800 Subject: [PATCH] Fix Qt6 build. Signed-off-by: Yuhang Zhao <2546789017@qq.com> --- CMakeLists.txt | 23 +++++++++++++++-------- winnativeeventfilter.cpp | 7 ++++--- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 540efba..4c9af4f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,8 +18,9 @@ else() set(CMAKE_DEBUG_POSTFIX _debug) endif() -find_package(Qt5 COMPONENTS Gui REQUIRED) -find_package(Qt5 COMPONENTS Widgets Quick) +find_package(QT NAMES Qt6 Qt5 COMPONENTS Gui REQUIRED) +find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Gui REQUIRED) +find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Widgets Quick) set(SOURCES framelesshelper_global.h @@ -27,7 +28,7 @@ set(SOURCES framelesswindowsmanager.cpp ) -if(Qt5Quick_FOUND) +if(TARGET Qt${QT_VERSION_MAJOR}::Quick) list(APPEND SOURCES framelessquickhelper.h framelessquickhelper.cpp @@ -80,12 +81,18 @@ if(WIN32) user32 shell32 gdi32 dwmapi shcore uxtheme d2d1 ) endif() -target_link_libraries(${PROJECT_NAME} PRIVATE Qt::GuiPrivate) -if(Qt5Widgets_FOUND) - target_link_libraries(${PROJECT_NAME} PRIVATE Qt::Widgets) +target_link_libraries(${PROJECT_NAME} PRIVATE + Qt${QT_VERSION_MAJOR}::GuiPrivate +) +if(TARGET Qt${QT_VERSION_MAJOR}::Widgets) + target_link_libraries(${PROJECT_NAME} PRIVATE + Qt${QT_VERSION_MAJOR}::Widgets + ) endif() -if(Qt5Quick_FOUND) - target_link_libraries(${PROJECT_NAME} PRIVATE Qt::Quick) +if(TARGET Qt${QT_VERSION_MAJOR}::Quick) + target_link_libraries(${PROJECT_NAME} PRIVATE + Qt${QT_VERSION_MAJOR}::Quick + ) endif() target_include_directories(${PROJECT_NAME} PUBLIC "$" diff --git a/winnativeeventfilter.cpp b/winnativeeventfilter.cpp index 783dba3..e194cfd 100644 --- a/winnativeeventfilter.cpp +++ b/winnativeeventfilter.cpp @@ -1833,7 +1833,7 @@ bool WinNativeEventFilter::nativeEventFilter(const QByteArray &eventType, #ifdef QT_WIDGETS_LIB const auto widget = qobject_cast(object); if (widget) { - const QPoint pos = widget->mapToGlobal({0, 0}); + const QPointF pos = widget->mapToGlobal(QPointF{0, 0}); if (QRectF(pos.x() * dpr, pos.y() * dpr, widget->width() * dpr, @@ -1846,7 +1846,7 @@ bool WinNativeEventFilter::nativeEventFilter(const QByteArray &eventType, #ifdef QT_QUICK_LIB const auto quickItem = qobject_cast(object); if (quickItem) { - const QPointF pos = quickItem->mapToGlobal({0, 0}); + const QPointF pos = quickItem->mapToGlobal(QPointF{0, 0}); if (QRectF(pos.x() * dpr, pos.y() * dpr, quickItem->width() * dpr, @@ -2557,7 +2557,8 @@ bool WinNativeEventFilter::lightThemeEnabled() bool WinNativeEventFilter::darkThemeEnabled() { - return coreData()->m_lpShouldAppsUseDarkMode ? coreData()->m_lpShouldAppsUseDarkMode() : false; + return coreData()->m_lpShouldSystemUseDarkMode ? coreData()->m_lpShouldSystemUseDarkMode() + : false; } bool WinNativeEventFilter::highContrastModeEnabled()