DtkGui
DTK Gui module
载入中...
搜索中...
未找到
dplatformtheme_p.h
1// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
5#ifndef DPLATFORMTHEME_P_H
6#define DPLATFORMTHEME_P_H
7
8#include "private/dplatforminterface_p.h"
9#include "dplatformtheme.h"
10#include "dnativesettings_p.h"
11
13
14class OrgDeepinDTKPreference;
15
16DCORE_USE_NAMESPACE
17DGUI_BEGIN_NAMESPACE
18
20{
21public:
22 D_DECLARE_PUBLIC(DPlatformTheme)
24
25 // 接收parent主题或非调色板DNativeSettings对象(theme对象)的属性变化通知
26 // 调色板相关的属性变化与此无关
27 void onQtColorChanged(QPalette::ColorRole role, const QColor &color);
28 void onDtkColorChanged(DPalette::ColorType type, const QColor &color);
29 void notifyPaletteChanged();
30
31 // 父主题,可以从其继承除调色板之外的所有窗口设置
32 DPlatformTheme *parent = nullptr;
33 // 用于控制是否fallback到父主题中获取属性
34 bool fallbackProperty = true;
35 // 默认时,DPlatformTheme会从/deepin/palette域下获取调色板相关的属性值
36 // 此处的DNativeSettings用于获取除调色板之外的属性设置
37 DNativeSettings *theme;
38 // 缓存的调色板数据
39 DPalette *palette = nullptr;
40 // 减少调色板changed信号的通知频率
41 QTimer *notifyPaletteChangeTimer = nullptr;
42 OrgDeepinDTKPreference *dtkPreferenceConfig = nullptr;
43
44 DPlatformInterface *platformInterface = nullptr;
45
46 DGuiApplicationHelper::SizeMode sizeMode = DGuiApplicationHelper::NormalMode;
47 Qt::ScrollBarPolicy scrollBarPolicy = Qt::ScrollBarAsNeeded;
48};
49
50DGUI_END_NAMESPACE
51
52#endif // DPLATFORMTHEME_P_H
SizeMode
控件大小模式枚举包含 dtk支持的控件大小模式种类.
Definition dguiapplicationhelper.h:44
Definition dnativesettings_p.h:15
一个用于本地设置的类.
Definition dnativesettings.h:17
DPalette继承并且扩展了 QPalette 类, 提供了dtk特有的特性.
Definition dpalette.h:17
ColorType
Definition dpalette.h:20
Definition dplatforminterface_p.h:18
Definition dplatformtheme_p.h:20
一个提供窗口主题的类.
Definition dplatformtheme.h:18