From db00428f146a7daf2c8b5c4de6c8c1e317f950a4 Mon Sep 17 00:00:00 2001
From: Sine Striker <trueful@163.com>
Date: 周日, 10 12月 2023 23:46:31 +0800
Subject: [PATCH] Fix macro definition mistake

---
 src/quick/quickwindowagent.cpp |   76 +++++++++++++++++++++-----------------
 1 files changed, 42 insertions(+), 34 deletions(-)

diff --git a/src/quick/quickwindowagent.cpp b/src/quick/quickwindowagent.cpp
index d7f283d..be70ca6 100644
--- a/src/quick/quickwindowagent.cpp
+++ b/src/quick/quickwindowagent.cpp
@@ -1,9 +1,10 @@
 #include "quickwindowagent.h"
 #include "quickwindowagent_p.h"
 
-#include "quickitemdelegate_p.h"
-
 #include <QtQuick/QQuickWindow>
+
+#include "quickitemdelegate_p.h"
+#include "quickwindowcontext_p.h"
 
 namespace QWK {
 
@@ -16,6 +17,10 @@
     void QuickWindowAgentPrivate::init() {
     }
 
+    AbstractWindowContext *QuickWindowAgentPrivate::createContext() const {
+        return new QuickWindowContext();
+    }
+
     QuickWindowAgent::QuickWindowAgent(QObject *parent)
         : QuickWindowAgent(*new QuickWindowAgentPrivate(), parent) {
     }
@@ -23,60 +28,63 @@
     QuickWindowAgent::~QuickWindowAgent() {
     }
 
-    void QuickWindowAgent::setup(QQuickWindow *window) {
+    bool QuickWindowAgent::setup(QQuickWindow *window) {
         Q_ASSERT(window);
         if (!window) {
-            return;
+            return false;
         }
 
         Q_D(QuickWindowAgent);
-        if (d->host) {
+        if (d->hostWindow) {
+            return false;
+        }
+
+        if (!d->setup(window, new QuickItemDelegate())) {
+            return true;
+        }
+        d->hostWindow = window;
+        return true;
+    }
+
+    const QQuickItem *QuickWindowAgent::titleBar() const {
+        Q_D(const QuickWindowAgent);
+        return static_cast<const QQuickItem *>(d->context->titleBar());
+    }
+
+    void QuickWindowAgent::setTitleBar(const QQuickItem *item) {
+        Q_D(QuickWindowAgent);
+        if (!d->context->setTitleBar(item)) {
             return;
         }
-        d->host = window;
-
-        d->setup(window, new QuickItemDelegate());
+        Q_EMIT titleBarWidgetChanged(item);
     }
 
-    bool QuickWindowAgent::isHitTestVisible(QQuickItem *item) const {
+    const QQuickItem *QuickWindowAgent::systemButton(SystemButton button) const {
         Q_D(const QuickWindowAgent);
-        return d->m_eventHandler->isHitTestVisible(item);
+        return static_cast<const QQuickItem *>(d->context->systemButton(button));
     }
 
-    void QuickWindowAgent::setHitTestVisible(QQuickItem *item, bool visible) {
+    void QuickWindowAgent::setSystemButton(SystemButton button, const QQuickItem *item) {
         Q_D(QuickWindowAgent);
-        d->m_eventHandler->setHitTestVisible(item, visible);
-    }
-
-    void QuickWindowAgent::setHitTestVisible(const QRect &rect, bool visible) {
-        Q_D(QuickWindowAgent);
-        d->m_eventHandler->setHitTestVisible(rect, visible);
-    }
-
-    QQuickItem *QuickWindowAgent::systemButton(SystemButton button) const {
-        Q_D(const QuickWindowAgent);
-        return static_cast<QQuickItem *>(d->m_eventHandler->systemButton(button));
-    }
-
-    void QuickWindowAgent::setSystemButton(SystemButton button, QQuickItem *item) {
-        Q_D(QuickWindowAgent);
-        if (!d->m_eventHandler->setSystemButton(button, item)) {
+        if (!d->context->setSystemButton(button, item)) {
             return;
         }
         Q_EMIT systemButtonChanged(button, item);
     }
 
-    QQuickItem *QuickWindowAgent::titleBar() const {
+    bool QuickWindowAgent::isHitTestVisible(const QQuickItem *item) const {
         Q_D(const QuickWindowAgent);
-        return static_cast<QQuickItem *>(d->m_eventHandler->titleBar());
+        return d->context->isHitTestVisible(item);
     }
 
-    void QuickWindowAgent::setTitleBar(QQuickItem *item) {
+    void QuickWindowAgent::setHitTestVisible(const QQuickItem *item, bool visible) {
         Q_D(QuickWindowAgent);
-        if (!d->m_eventHandler->setTitleBar(item)) {
-            return;
-        }
-        Q_EMIT titleBarWidgetChanged(item);
+        d->context->setHitTestVisible(item, visible);
+    }
+
+    void QuickWindowAgent::setHitTestVisible(const QRect &rect, bool visible) {
+        Q_D(QuickWindowAgent);
+        d->context->setHitTestVisible(rect, visible);
     }
 
     QuickWindowAgent::QuickWindowAgent(QuickWindowAgentPrivate &d, QObject *parent)

--
Gitblit v1.9.1