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