102
|
1 #ifndef __gui__theme_h
|
|
2 #define __gui__theme_h
|
|
3
|
|
4 #include <QStyle>
|
|
5
|
|
6 enum class Themes {
|
|
7 OS,
|
|
8 LIGHT,
|
|
9 DARK
|
|
10 };
|
|
11
|
|
12 namespace Theme {
|
|
13
|
|
14 class Theme final {
|
258
|
15 public:
|
|
16 Theme(Themes theme = Themes::OS);
|
|
17 void SetTheme(Themes theme);
|
|
18 Themes GetTheme() const;
|
|
19 bool IsInDarkTheme() const;
|
|
20 void RepaintCurrentTheme();
|
102
|
21
|
258
|
22 private:
|
|
23 void SetToDarkTheme();
|
|
24 void SetToLightTheme();
|
|
25 void SetStyleSheet(Themes theme);
|
|
26 Themes GetCurrentOSTheme() const;
|
|
27 Themes theme;
|
102
|
28 };
|
|
29
|
|
30 } // namespace Theme
|
|
31
|
|
32 #endif // __gui__theme_h
|