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, 17 insertions(+), 14 deletions(-) diff --git a/src/quick/quickwindowagent.h b/src/quick/quickwindowagent.h index ef26eea..95220c0 100644 --- a/src/quick/quickwindowagent.h +++ b/src/quick/quickwindowagent.h @@ -4,43 +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_DISABLE_COPY(QuickWindowAgent) Q_DECLARE_PRIVATE(QuickWindowAgent) - public: explicit QuickWindowAgent(QObject *parent = nullptr); ~QuickWindowAgent() override; public: - bool 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