DtkGui 5.5.23
DTK Gui module
dguiapplicationhelper_p.h
1// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
5#ifndef DGUIAPPLICATIONHELPER_P_H
6#define DGUIAPPLICATIONHELPER_P_H
7
8#include "dguiapplicationhelper.h"
9#include "dplatformtheme.h"
10
11#include <DObjectPrivate>
12
13QT_BEGIN_NAMESPACE
14class QLocalServer;
15QT_END_NAMESPACE
16
17DGUI_BEGIN_NAMESPACE
18
19class DGuiApplicationHelperPrivate : public DCORE_NAMESPACE::DObjectPrivate
20{
21public:
22 D_DECLARE_PUBLIC(DGuiApplicationHelper)
23
25 void init();
26 void initApplication(QGuiApplication *app);
27 static void staticInitApplication();
28 static void staticCleanApplication();
29 DPlatformTheme *initWindow(QWindow *window) const;
30 void _q_initApplicationTheme(bool notifyChange = false);
31 void notifyAppThemeChanged();
32 // 返回程序是否自定义了调色板
33 inline bool isCustomPalette() const;
34
35 DGuiApplicationHelper::ColorType paletteType = DGuiApplicationHelper::UnknownType;
36 // 系统级别的主题设置
37 DPlatformTheme *systemTheme;
38 QScopedPointer<DPalette> appPalette;
39 // 获取QLocalSever消息的等待时间
40 static int waitTime;
41 static DGuiApplicationHelper::Attributes attributes;
42
43private:
44 // 应用程序级别的主题设置
45 DPlatformTheme *appTheme = nullptr;
46};
47
48Q_DECLARE_OPERATORS_FOR_FLAGS(DGuiApplicationHelper::Attributes)
49
50DGUI_END_NAMESPACE
51
52#endif // DGUIAPPLICATIONHELPER_P_H
Definition: dguiapplicationhelper_p.h:20
DGuiApplicationHelper 应用程序的 GUI ,如主题、调色板等.
Definition: dguiapplicationhelper.h:21
一个提供窗口主题的类.
Definition: dplatformtheme.h:17