From 245ddfa1f01b4c9fa10337246b8045755e5bcce5 Mon Sep 17 00:00:00 2001
From: Sine Striker <trueful@163.com>
Date: 周二, 19 12月 2023 21:03:58 +0800
Subject: [PATCH] Change back to qScopeGuard

---
 src/quick/quickwindowagent.h |   31 ++++++++++++++++++-------------
 1 files changed, 18 insertions(+), 13 deletions(-)

diff --git a/src/quick/quickwindowagent.h b/src/quick/quickwindowagent.h
index 7c004e4..95220c0 100644
--- a/src/quick/quickwindowagent.h
+++ b/src/quick/quickwindowagent.h
@@ -4,41 +4,46 @@
 #include <QtQuick/QQuickItem>
 #include <QtQuick/QQuickWindow>
 
-#include <QWKCore/corewindowagent.h>
+#include <QWKCore/windowagentbase.h>
 #include <QWKQuick/qwkquickglobal.h>
 
 namespace QWK {
 
     class QuickWindowAgentPrivate;
 
-    class QWK_QUICK_EXPORT QuickWindowAgent : public CoreWindowAgent {
+    class QWK_QUICK_EXPORT QuickWindowAgent : public WindowAgentBase {
         Q_OBJECT
         Q_DECLARE_PRIVATE(QuickWindowAgent)
     public:
         explicit QuickWindowAgent(QObject *parent = nullptr);
-        ~QuickWindowAgent();
+        ~QuickWindowAgent() override;
 
     public:
-        void setup(QQuickWindow *window);
+        Q_INVOKABLE bool setup(QQuickWindow *window);
 
-        bool isHitTestVisible(QQuickItem *item) const;
-        void setHitTestVisible(QQuickItem *item, bool visible);
-        void setHitTestVisible(const QRect &rect, bool visible);
+        Q_INVOKABLE QQuickItem *titleBar() const;
+        Q_INVOKABLE void setTitleBar(QQuickItem *item);
 
-        QQuickItem *systemButton(SystemButton button) const;
-        void setSystemButton(SystemButton button, QQuickItem *item);
+        Q_INVOKABLE QQuickItem *systemButton(SystemButton button) const;
+        Q_INVOKABLE void setSystemButton(SystemButton button, QQuickItem *item);
 
-        QQuickItem *titleBar() const;
-        void setTitleBar(QQuickItem *item);
+        Q_INVOKABLE bool isHitTestVisible(const QQuickItem *item) const;
+        Q_INVOKABLE void setHitTestVisible(const QQuickItem *item, bool visible = true);
 
     Q_SIGNALS:
-        void titleBarWidgetChanged(QQuickItem *item);
-        void systemButtonChanged(SystemButton button, QQuickItem *item);
+        void titleBarWidgetChanged(const QQuickItem *item);
+        void systemButtonChanged(SystemButton button, const QQuickItem *item);
 
     protected:
         QuickWindowAgent(QuickWindowAgentPrivate &d, QObject *parent = nullptr);
     };
 
+    inline QuickWindowAgent *setupQuickWindow(QQuickWindow *window) {
+        auto agent = new QuickWindowAgent(window);
+        agent->setup(window);
+        return agent;
+    }
+
 }
 
 #endif // QUICKWINDOWAGENT_H
\ No newline at end of file

--
Gitblit v1.9.1