From c70a286d01728bd2fa01103191c9da23ad3f8be2 Mon Sep 17 00:00:00 2001
From: Sine Striker <trueful@163.com>
Date: 周五, 23 2月 2024 22:03:56 +0800
Subject: [PATCH] Delay filtering the native events

---
 src/core/CMakeLists.txt |   35 ++++++++++++++++++++++++++++-------
 1 files changed, 28 insertions(+), 7 deletions(-)

diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index 30188b9..fb059bc 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -13,6 +13,10 @@
     windowitemdelegate.cpp
     kernel/nativeeventfilter_p.h
     kernel/nativeeventfilter.cpp
+    kernel/sharedeventfilter_p.h
+    kernel/sharedeventfilter.cpp
+    kernel/winidchangeeventfilter_p.h
+    kernel/winidchangeeventfilter.cpp
     shared/systemwindow_p.h
     contexts/abstractwindowcontext_p.h
     contexts/abstractwindowcontext.cpp
@@ -33,7 +37,7 @@
     )
 endif()
 
-if(QWINDOWKIT_FORCE_QT_WINDOW_CONTEXT)
+if(QWINDOWKIT_ENABLE_QT_WINDOW_CONTEXT)
     list(APPEND _src
         contexts/qtwindowcontext_p.h
         contexts/qtwindowcontext.cpp
@@ -44,6 +48,7 @@
             contexts/win32windowcontext_p.h
             contexts/win32windowcontext.cpp
         )
+        list(APPEND _links_private uxtheme)
     elseif(APPLE)
         list(APPEND _src
             contexts/cocoawindowcontext_p.h
@@ -62,19 +67,35 @@
     endif()
 endif()
 
+set(_sync_include_options)
+
+if(QWINDOWKIT_ENABLE_STYLE_AGENT)
+    list(APPEND _src
+        style/styleagent.h
+        style/styleagent_p.h
+        style/styleagent.cpp
+    )
+
+    if(WIN32)
+        list(APPEND _src style/styleagent_win.cpp)
+    elseif(APPLE)
+        list(APPEND _src style/styleagent_mac.mm)
+    else()
+        list(APPEND _src style/styleagent_linux.cpp)
+    endif()
+else()
+    list(APPEND _sync_include_options EXCLUDE "style/\\.+")
+endif()
+
 qwk_add_library(${PROJECT_NAME} AUTOGEN
     SOURCES ${_src}
-    LINKS
+    FEATURES cxx_std_17
     LINKS_PRIVATE ${_links_private}
     QT_LINKS Core Gui
     QT_INCLUDE_PRIVATE Core Gui
     INCLUDE_PRIVATE kernel contexts shared
     PREFIX QWK_CORE
-)
-
-set_target_properties(${PROJECT_NAME} PROPERTIES
-    CXX_STANDARD 17
-    CXX_STANDARD_REQUIRED TRUE
+    SYNC_INCLUDE_OPTIONS ${_sync_include_options}
 )
 
 set(QWINDOWKIT_ENABLED_TARGETS ${QWINDOWKIT_ENABLED_TARGETS} ${PROJECT_NAME} PARENT_SCOPE)

--
Gitblit v1.9.1