2021-09-16 16:05:46 +08:00
|
|
|
|
#ifndef GSETTINGSWRAPPER_H
|
|
|
|
|
#define GSETTINGSWRAPPER_H
|
|
|
|
|
|
|
|
|
|
#include <QHash>
|
|
|
|
|
#include <QSize>
|
2022-02-15 16:51:03 +08:00
|
|
|
|
#include <QColor>
|
|
|
|
|
#include <QGSettings/qgsettings.h>
|
|
|
|
|
#include "../common/singleton.h"
|
|
|
|
|
|
2021-09-16 16:05:46 +08:00
|
|
|
|
class QWidget;
|
|
|
|
|
|
2022-02-15 16:51:03 +08:00
|
|
|
|
// 主题key
|
|
|
|
|
#define ORG_UKUI_STYLE "org.ukui.style"
|
|
|
|
|
#define STYLE_NAME "styleName"
|
|
|
|
|
#define STYLE_NAME_VALUE_DEFAULT "ukui-default"
|
|
|
|
|
#define STYLE_NAME_VALUE_DARK "ukui-dark"
|
|
|
|
|
#define STYLE_NAME_VALUE_BLACK "ukui-black"
|
|
|
|
|
#define STYLE_NAME_VALUE_LIGHT "ukui-light"
|
|
|
|
|
#define STYLE_NAME_VALUE_WHITE "ukui-white"
|
|
|
|
|
#define ICON_THEME_NAME "iconThemeName"
|
|
|
|
|
#define TRANSPARENCY_NAME "transparency"
|
|
|
|
|
|
|
|
|
|
// 颜色
|
|
|
|
|
// 浅灰
|
|
|
|
|
#define COLOR_WINDOW_LIGHT_LEFT "#FAFAFA"
|
|
|
|
|
// 深灰
|
|
|
|
|
#define COLOR_WINDOW_DARK_LEFT "#232426"
|
|
|
|
|
// #define COLOR_WINDOW_DARK_LEFT "#242424"
|
|
|
|
|
// 白色
|
|
|
|
|
#define COLOR_WINDOW_LIGHT_RIGHT "#FFFFFF"
|
|
|
|
|
// 黑色
|
|
|
|
|
#define COLOR_WINDOW_DARK_RIGHT "#121212"
|
|
|
|
|
|
2021-09-16 16:05:46 +08:00
|
|
|
|
/**
|
|
|
|
|
* @brief 由于当前仅用于主题变化时,备份还原工具的一些图标跟随变化,此处暂时先简单封装。后续根据使用情况另行优化。
|
|
|
|
|
*/
|
2022-02-15 16:51:03 +08:00
|
|
|
|
class GSettingsWrapper : public Singleton<GSettingsWrapper>
|
2021-09-16 16:05:46 +08:00
|
|
|
|
{
|
|
|
|
|
public:
|
2022-02-15 16:51:03 +08:00
|
|
|
|
GSettingsWrapper(token);
|
|
|
|
|
virtual ~GSettingsWrapper();
|
2021-09-16 16:05:46 +08:00
|
|
|
|
/**
|
|
|
|
|
* @brief 绑定连接UKui风格的主题
|
|
|
|
|
* @param QWidget *, 跟随风格变化的窗体对象指针
|
|
|
|
|
*/
|
2022-02-15 16:51:03 +08:00
|
|
|
|
void connectUkuiIconSchema(QWidget * labelPtr, QSize size = QSize(24, 24));
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 绑定连接UKui风格的背景颜色
|
|
|
|
|
* @param widgetPtr, 跟随风格变化的窗体对象指针
|
|
|
|
|
* @param light 浅色
|
|
|
|
|
* @param dark 深色
|
|
|
|
|
*/
|
|
|
|
|
void connectUkuiBackground(QWidget * widgetPtr, QColor light, QColor dark);
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
float m_transparency;
|
|
|
|
|
|
|
|
|
|
QGSettings *m_pGsettingThemeData;
|
2021-09-16 16:05:46 +08:00
|
|
|
|
};
|
|
|
|
|
|
2022-02-15 16:51:03 +08:00
|
|
|
|
#define g_GSettingWrapper GSettingsWrapper::inst()
|
|
|
|
|
|
2021-09-16 16:05:46 +08:00
|
|
|
|
#endif // GSETTINGSWRAPPER_H
|