mirror of
https://gitee.com/spark-store-project/spark-store
synced 2025-12-18 18:11:37 +08:00
26
src/backend/ThemeChecker.h
Normal file → Executable file
26
src/backend/ThemeChecker.h
Normal file → Executable file
@@ -2,25 +2,39 @@
|
||||
#define THEMECHECKER_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QTimer>
|
||||
#include <QDBusVariant>
|
||||
#include <QDBusInterface>
|
||||
|
||||
#include <DPlatformTheme>
|
||||
#include <DGuiApplicationHelper>
|
||||
|
||||
class ThemeChecker : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit ThemeChecker(QObject *parent = nullptr);
|
||||
static ThemeChecker *instance();
|
||||
|
||||
bool useDarkTheme();
|
||||
|
||||
private:
|
||||
void initThemeType();
|
||||
void initConnections();
|
||||
|
||||
signals:
|
||||
void themeChanged(bool isDark);
|
||||
|
||||
public slots:
|
||||
void checkThemeChange();
|
||||
|
||||
private slots:
|
||||
void slotSettingChanged(const QString &_namespace, const QString &key, const QDBusVariant &variant);
|
||||
void slotThemeNameChanged(const QByteArray &theme);
|
||||
void slotPaletteTypeChanged(Dtk::Gui::DGuiApplicationHelper::ColorType paletteType);
|
||||
|
||||
private:
|
||||
int lastColorSchema;
|
||||
QTimer *timer;
|
||||
QDBusInterface *m_interface = nullptr;
|
||||
|
||||
Dtk::Gui::DGuiApplicationHelper::ColorType m_paletteType;
|
||||
Dtk::Gui::DGuiApplicationHelper::ColorType m_themeType;
|
||||
};
|
||||
|
||||
#endif // THEMECHECKER_H
|
||||
|
||||
Reference in New Issue
Block a user