From 027122452a25191b81fef8fe35f5b54768d435f2 Mon Sep 17 00:00:00 2001
From: Sine Striker <trueful@163.com>
Date: 周六, 02 12月 2023 01:54:24 +0800
Subject: [PATCH] Add windows implementations

---
 src/core/corewindowagent.cpp |   24 ++++++++++++++++++------
 1 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/src/core/corewindowagent.cpp b/src/core/corewindowagent.cpp
index a4e4ac4..54b081c 100644
--- a/src/core/corewindowagent.cpp
+++ b/src/core/corewindowagent.cpp
@@ -2,28 +2,40 @@
 #include "corewindowagent_p.h"
 
 #ifdef Q_OS_WINDOWS
-#  include "handler/win32windowcontext_p.h"
+#  include "win32windowcontext_p.h"
 #else
-#  include "handler/qtwindowcontext_p.h"
+#  include "qtwindowcontext_p.h"
 #endif
+
+Q_LOGGING_CATEGORY(qWindowKitLog, "qwindowkit")
 
 namespace QWK {
 
-    CoreWindowAgentPrivate::CoreWindowAgentPrivate() {
+    CoreWindowAgentPrivate::CoreWindowAgentPrivate() : m_eventHandler(nullptr) {
     }
 
     CoreWindowAgentPrivate::~CoreWindowAgentPrivate() {
+        delete m_eventHandler;
     }
 
     void CoreWindowAgentPrivate::init() {
     }
 
-    void CoreWindowAgentPrivate::setup(QWindow *window, WindowItemDelegate *delegate) {
+    bool CoreWindowAgentPrivate::setup(QWindow *window, WindowItemDelegate *delegate) {
+        auto handler =
 #ifdef Q_OS_WINDOWS
-        m_eventHandler = new Win32WindowContext(window, delegate);
+            new Win32WindowContext(window, delegate)
 #else
-        m_eventHandler = new QtWindowContext(window, delegate);
+            new QtWindowContext(window, delegate)
 #endif
+            ;
+
+        if (!handler->setup()) {
+            delete handler;
+            return false;
+        }
+        m_eventHandler = handler;
+        return true;
     }
 
     CoreWindowAgent::~CoreWindowAgent() {

--
Gitblit v1.9.1