From d3d7430ec9afb94abaf78fa2c9edd9d9f946881c Mon Sep 17 00:00:00 2001 From: Sine Striker <trueful@163.com> Date: 周一, 18 12月 2023 01:29:07 +0800 Subject: [PATCH] Add QtContext WinIdChange workaround --- src/widgets/widgetwindowagent.h | 24 +++++++++++++----------- 1 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/widgets/widgetwindowagent.h b/src/widgets/widgetwindowagent.h index 7c627c2..ea20025 100644 --- a/src/widgets/widgetwindowagent.h +++ b/src/widgets/widgetwindowagent.h @@ -3,18 +3,16 @@ #include <QtWidgets/QWidget> -#include <QWKCore/corewindowagent.h> +#include <QWKCore/windowagentbase.h> #include <QWKWidgets/qwkwidgetsglobal.h> namespace QWK { class WidgetWindowAgentPrivate; - class QWK_WIDGETS_EXPORT WidgetWindowAgent : public CoreWindowAgent { + class QWK_WIDGETS_EXPORT WidgetWindowAgent : public WindowAgentBase { Q_OBJECT - Q_DISABLE_COPY(WidgetWindowAgent) Q_DECLARE_PRIVATE(WidgetWindowAgent) - public: explicit WidgetWindowAgent(QObject *parent = nullptr); ~WidgetWindowAgent() override; @@ -22,19 +20,23 @@ public: bool setup(QWidget *w); - bool isHitTestVisible(QWidget *w) const; - void setHitTestVisible(QWidget *w, bool visible); - void setHitTestVisible(const QRect &rect, bool visible); + QWidget *titleBar() const; + void setTitleBar(QWidget *w); QWidget *systemButton(SystemButton button) const; void setSystemButton(SystemButton button, QWidget *w); - QWidget *titleBar() const; - void setTitleBar(QWidget *w); +#ifdef Q_OS_MAC + QWidget *systemButtonArea() const; + void setSystemButtonArea(QWidget *widget); +#endif + + bool isHitTestVisible(const QWidget *w) const; + void setHitTestVisible(const QWidget *w, bool visible = true); Q_SIGNALS: - void titleBarWidgetChanged(QWidget *w); - void systemButtonChanged(SystemButton button, QWidget *w); + void titleBarWidgetChanged(const QWidget *w); + void systemButtonChanged(SystemButton button, const QWidget *w); protected: WidgetWindowAgent(WidgetWindowAgentPrivate &d, QObject *parent = nullptr); -- Gitblit v1.9.1