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 "dplatformtheme.h"
9#include "dnativesettings_p.h"
10
11DGUI_BEGIN_NAMESPACE
12
14{
15public:
16 D_DECLARE_PUBLIC(DPlatformTheme)
18
19 // 接收parent主题或非调色板DNativeSettings对象(theme对象)的属性变化通知
20 // 调色板相关的属性变化与此无关
21 void _q_onThemePropertyChanged(const QByteArray &name, const QVariant &value);
22 void onQtColorChanged(QPalette::ColorRole role, const QColor &color);
23 void onDtkColorChanged(DPalette::ColorType type, const QColor &color);
24 void notifyPaletteChanged();
25
26 // 父主题,可以从其继承除调色板之外的所有窗口设置
27 DPlatformTheme *parent = nullptr;
28 // 用于控制是否fallback到父主题中获取属性
29 bool fallbackProperty = true;
30 // 默认时,DPlatformTheme会从/deepin/palette域下获取调色板相关的属性值
31 // 此处的DNativeSettings用于获取除调色板之外的属性设置
32 DNativeSettings *theme;
33 // 缓存的调色板数据
34 DPalette *palette = nullptr;
35 // 减少调色板changed信号的通知频率
36 QTimer *notifyPaletteChangeTimer = nullptr;
37};
38
39DGUI_END_NAMESPACE
40
41#endif // DPLATFORMTHEME_P_H
Definition dnativesettings_p.h:15
一个用于本地设置的类.
Definition dnativesettings.h:17
DPalette继承并且扩展了 QPalette 类, 提供了dtk特有的特性.
Definition dpalette.h:17
ColorType
Definition dpalette.h:20
Definition dplatformtheme_p.h:14
一个提供窗口主题的类.
Definition dplatformtheme.h:17