From 6c52fb09191fb0c635f40dcfdb897de158531821 Mon Sep 17 00:00:00 2001 From: Zach Hannum Date: Thu, 4 Mar 2021 23:17:00 -0500 Subject: [PATCH] Added qquickframehelper to CMake config, mapping origin point for ignore objects should stop after first window --- CMakeLists.txt | 14 ++++++++++++++ winnativeeventfilter.cpp | 3 +++ 2 files changed, 17 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 826896b..39e14f5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -20,6 +20,8 @@ endif() find_package(QT NAMES Qt6 Qt5 COMPONENTS Gui REQUIRED) find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Gui REQUIRED) +find_package(QT NAMES Qt6 Qt5 COMPONENTS Quick) +find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Quick) set(SOURCES framelesshelper_global.h @@ -27,6 +29,13 @@ set(SOURCES framelesswindowsmanager.cpp ) +if(TARGET Qt${QT_VERSION_MAJOR}::Quick) + list(APPEND SOURCES + framelessquickhelper.h + framelessquickhelper.cpp + ) +endif() + if(WIN32) list(APPEND SOURCES winnativeeventfilter.h @@ -76,6 +85,11 @@ endif() target_link_libraries(${PROJECT_NAME} PRIVATE Qt${QT_VERSION_MAJOR}::GuiPrivate ) +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 2a1bb29..0574ee2 100644 --- a/winnativeeventfilter.cpp +++ b/winnativeeventfilter.cpp @@ -873,6 +873,9 @@ bool WinNativeEventFilter::nativeEventFilter(const QByteArray &eventType, QPointF point = {obj->property("x").toReal(), obj->property("y").toReal()}; for (QObject *parent = obj->parent(); parent; parent = parent->parent()) { point += {parent->property("x").toReal(), parent->property("y").toReal()}; + if (parent->isWindowType()) { + break; + } } return point; };