1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
| #ifndef STYLEAGENT_H
| #define STYLEAGENT_H
|
| #include <memory>
|
| #include <QtCore/QObject>
| #include <QtGui/QWindow>
|
| #include <QWKStyleSupport/qwkstylesupportglobal.h>
|
| namespace QWK {
|
| class StyleAgentPrivate;
|
| class QWK_STYLESUPPORT_EXPORT StyleAgent : public QObject {
| Q_OBJECT
| Q_DECLARE_PRIVATE(StyleAgent)
| public:
| explicit StyleAgent(QObject *parent = nullptr);
| ~StyleAgent() override;
|
| enum SystemTheme {
| Unknown,
| Light,
| Dark,
| HighContrast,
| };
| Q_ENUM(SystemTheme)
|
| public:
| SystemTheme systemTheme() const;
|
| QVariant windowAttribute(QWindow *window, const QString &key) const;
| bool setWindowAttribute(QWindow *window, const QString &key, const QVariant &attribute);
|
| Q_SIGNALS:
| void systemThemeChanged(); // Do we need wallpaper change notify?
|
| protected:
| StyleAgent(StyleAgentPrivate &d, QObject *parent = nullptr);
|
| const std::unique_ptr<StyleAgentPrivate> d_ptr;
| };
|
| }
|
| #endif // STYLEAGENT_H
|
|