-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy paththememanager.h
More file actions
37 lines (29 loc) · 970 Bytes
/
thememanager.h
File metadata and controls
37 lines (29 loc) · 970 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#ifndef THEMEMANAGER_H
#define THEMEMANAGER_H
#include <QObject>
#include <QApplication>
#include <QPalette>
#include <QColor>
#include <QFont>
#include "component/component.h" // Include the Component base class
class ThemeManager : public QObject, virtual public Component
{
Q_OBJECT
public:
explicit ThemeManager(QObject *parent = nullptr);
// Theme application methods are now instance methods
void applyDarkTheme(QApplication *app);
void applyLightTheme(QApplication *app); // Example for a light theme
void applyBaseSettings(QApplication *app);
// Getters for theme-specific properties
QColor listHeaderTextColor() const;
QFont listHeaderFont() const;
// Setters (to be called by static applyTheme methods)
void setListHeaderTextColor(const QColor& color);
void setListHeaderFont(const QFont& font);
signals:
private:
QColor m_listHeaderTextColor;
QFont m_listHeaderFont;
};
#endif // THEMEMANAGER_H