From e95e2bfd29b64d3144515c30fb9cf76adb75c6c3 Mon Sep 17 00:00:00 2001 From: Sine Striker <trueful@163.com> Date: 周二, 07 5月 2024 21:44:21 +0800 Subject: [PATCH] minor tweaks --- src/core/style/styleagent.cpp | 44 +++++++++++++++++++++++++++++++++++++++----- 1 files changed, 39 insertions(+), 5 deletions(-) diff --git a/src/core/style/styleagent.cpp b/src/core/style/styleagent.cpp index 6c0e740..4b88447 100644 --- a/src/core/style/styleagent.cpp +++ b/src/core/style/styleagent.cpp @@ -1,3 +1,7 @@ +// Copyright (C) 2023-2024 Stdware Collections (https://www.github.com/stdware) +// Copyright (C) 2021-2023 wangwenx190 (Yuhang Zhao) +// SPDX-License-Identifier: Apache-2.0 + #include "styleagent.h" #include "styleagent_p.h" @@ -5,10 +9,25 @@ namespace QWK { + /*! + \class StyleAgent + \brief StyleAgent provides some features related to system theme. + + Qt6.6 started to support system theme detection, this class is intended as an auxiliary + support for lower versions of Qt. If your Qt already supports it, it is recommended that + you don't include this class in your build system. + */ + StyleAgentPrivate::StyleAgentPrivate() { } - StyleAgentPrivate::~StyleAgentPrivate() = default; + StyleAgentPrivate::~StyleAgentPrivate() { + removeSystemThemeHook(); + } + + void StyleAgentPrivate::init() { + setupSystemThemeHook(); + } void StyleAgentPrivate::notifyThemeChanged(StyleAgent::SystemTheme theme) { if (theme == systemTheme) @@ -19,25 +38,40 @@ Q_EMIT q->systemThemeChanged(); } + /*! + Constructor. Since it is not related to a concrete window instance, it is better to be used + as a singleton. + */ StyleAgent::StyleAgent(QObject *parent) : StyleAgent(*new StyleAgentPrivate(), parent) { - Q_D(StyleAgent); - d->setupSystemThemeHook(); } + /*! + Destructor. + */ StyleAgent::~StyleAgent() { - Q_D(StyleAgent); - d->removeSystemThemeHook(); } + /*! + Returns the system theme. + */ StyleAgent::SystemTheme StyleAgent::systemTheme() const { Q_D(const StyleAgent); return d->systemTheme; } + /*! + \internal + */ StyleAgent::StyleAgent(StyleAgentPrivate &d, QObject *parent) : QObject(parent), d_ptr(&d) { d.q_ptr = this; d.init(); } + /*! + \fn void StyleAgent::systemThemeChanged() + + This signal is emitted when the system theme changes. + */ + } -- Gitblit v1.9.1