From ef7c04cd9ac06b64c516db47bda6f4d9c12db3b9 Mon Sep 17 00:00:00 2001 From: Dylan Liu <312902918@qq.com> Date: ćšć, 30 5æ 2024 19:45:07 +0800 Subject: [PATCH] quickwindowagent: Remove const for HitTestVisible API. --- src/quick/quickwindowagent.h | 39 ++++++++++++++++++++++++++++----------- 1 files changed, 28 insertions(+), 11 deletions(-) diff --git a/src/quick/quickwindowagent.h b/src/quick/quickwindowagent.h index eb408ed..de52d49 100644 --- a/src/quick/quickwindowagent.h +++ b/src/quick/quickwindowagent.h @@ -1,17 +1,21 @@ +// Copyright (C) 2023-2024 Stdware Collections (https://www.github.com/stdware) +// Copyright (C) 2021-2023 wangwenx190 (Yuhang Zhao) +// SPDX-License-Identifier: Apache-2.0 + #ifndef QUICKWINDOWAGENT_H #define QUICKWINDOWAGENT_H #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: @@ -19,17 +23,30 @@ ~QuickWindowAgent() override; public: - bool setup(QQuickWindow *window); + Q_INVOKABLE bool setup(QQuickWindow *window); - QQuickItem *titleBar() const; - void setTitleBar(QQuickItem *item); + 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); - bool isHitTestVisible(QQuickItem *item) const; - void setHitTestVisible(QQuickItem *item, bool visible = true); - void setHitTestVisible(const QRect &rect, bool visible = true); +#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0)) + Q_INVOKABLE bool isHitTestVisible(QQuickItem *item) const; + Q_INVOKABLE void setHitTestVisible(QQuickItem *item, bool visible = true); +#else + Q_INVOKABLE bool isHitTestVisible(const QQuickItem *item) const; + Q_INVOKABLE void setHitTestVisible(const QQuickItem *item, bool visible = true); +#endif + +#ifdef Q_OS_MAC + // The system button area APIs are experimental, very likely to change in the future. + Q_INVOKABLE QQuickItem *systemButtonArea() const; + Q_INVOKABLE void setSystemButtonArea(QQuickItem *item); + + Q_INVOKABLE ScreenRectCallback systemButtonAreaCallback() const; + Q_INVOKABLE void setSystemButtonAreaCallback(const ScreenRectCallback &callback); +#endif Q_SIGNALS: void titleBarWidgetChanged(QQuickItem *item); @@ -41,4 +58,4 @@ } -#endif // QUICKWINDOWAGENT_H \ No newline at end of file +#endif // QUICKWINDOWAGENT_H -- Gitblit v1.9.1